Bug 1232911 - [1.2] Allow to test for specific VPX MIME type version. r=cpearce

This commit is contained in:
Eugen Sawin 2016-03-21 20:16:50 +01:00
Родитель c224c5ab31
Коммит 6d621f5c28
2 изменённых файлов: 11 добавлений и 9 удалений

Просмотреть файл

@ -214,10 +214,12 @@ VPXDecoder::Drain()
/* static */
bool
VPXDecoder::IsVPX(const nsACString& aMimeType)
VPXDecoder::IsVPX(const nsACString& aMimeType, uint8_t aCodecMask)
{
return aMimeType.EqualsLiteral("video/webm; codecs=vp8") ||
aMimeType.EqualsLiteral("video/webm; codecs=vp9");
return ((aCodecMask & VPXDecoder::VP8) &&
aMimeType.EqualsLiteral("video/webm; codecs=vp8")) ||
((aCodecMask & VPXDecoder::VP9) &&
aMimeType.EqualsLiteral("video/webm; codecs=vp9"));
}
} // namespace mozilla

Просмотреть файл

@ -38,14 +38,14 @@ public:
return "libvpx video decoder";
}
// Return true if mimetype is a VPX codec
static bool IsVPX(const nsACString& aMimeType);
enum Codec {
VP8,
VP9
enum Codec: uint8_t {
VP8 = 1 << 0,
VP9 = 1 << 1
};
// Return true if mimetype is a VPX codec of given types.
static bool IsVPX(const nsACString& aMimeType, uint8_t aCodecMask=VP8|VP9);
private:
void DecodeFrame (MediaRawData* aSample);
int DoDecodeFrame (MediaRawData* aSample);