mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-09 09:18:42 +09:00
Add av1 to MediaSource.isTypeSupported
When av1 video playback is enabled, declare it as supported in the webm container in MediaSource.IsTypeSupported. Also support special mime types of the form video/webm; codecs=vp9.experimental.<git-commit-id> so test sites can verify playback support of particular encodings while the av1 bitstream is under development.
This commit is contained in:
parent
dc0970c312
commit
1c8af26369
3 changed files with 24 additions and 0 deletions
|
|
@ -210,6 +210,19 @@ AOMDecoder::IsAV1(const nsACString& aMimeType)
|
|||
|| aMimeType.EqualsLiteral("video/av1");
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool
|
||||
AOMDecoder::IsSupportedCodec(const nsAString& aCodecType)
|
||||
{
|
||||
// While AV1 is under development, we describe support
|
||||
// for a specific aom commit hash so sites can check
|
||||
// compatibility.
|
||||
auto version = NS_ConvertASCIItoUTF16("av1.experimental.");
|
||||
version.AppendLiteral("4d668d7feb1f8abd809d1bca0418570a7f142a36");
|
||||
return aCodecType.EqualsLiteral("av1") ||
|
||||
aCodecType.Equals(version);
|
||||
}
|
||||
|
||||
/* static */
|
||||
bool
|
||||
AOMDecoder::IsKeyframe(Span<const uint8_t> aBuffer) {
|
||||
|
|
|
|||
|
|
@ -34,6 +34,9 @@ public:
|
|||
// by our demuxers to identify AV1 streams.
|
||||
static bool IsAV1(const nsACString& aMimeType);
|
||||
|
||||
// Return true if aCodecType is a supported codec description.
|
||||
static bool IsSupportedCodec(const nsAString& aCodecType);
|
||||
|
||||
// Return true if a sample is a keyframe.
|
||||
static bool IsKeyframe(Span<const uint8_t> aBuffer);
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@
|
|||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "mozilla/Preferences.h"
|
||||
#ifdef MOZ_AV1
|
||||
#include "AOMDecoder.h"
|
||||
#endif
|
||||
#include "MediaDecoderStateMachine.h"
|
||||
#include "WebMDemuxer.h"
|
||||
#include "WebMDecoder.h"
|
||||
|
|
@ -65,6 +68,11 @@ WebMDecoder::CanHandleMediaType(const nsACString& aMIMETypeExcludingCodecs,
|
|||
|
||||
continue;
|
||||
}
|
||||
#ifdef MOZ_AV1
|
||||
if (isVideo && AOMDecoder::IsSupportedCodec(codec)) {
|
||||
continue;
|
||||
}
|
||||
#endif
|
||||
// Some unsupported codec.
|
||||
return false;
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue