зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1190379: Use AndroidDecoderModule for VP8/9. r=jya
This commit is contained in:
Родитель
c58047810f
Коммит
3907bbb549
|
@ -19,7 +19,6 @@
|
|||
#include "nsPromiseFlatString.h"
|
||||
|
||||
#include <jni.h>
|
||||
#include <string.h>
|
||||
|
||||
using namespace mozilla;
|
||||
using namespace mozilla::gl;
|
||||
|
@ -34,10 +33,21 @@ namespace mozilla {
|
|||
NS_WARNING("callback not set"); \
|
||||
}
|
||||
|
||||
static const char* TranslateMimeType(const nsACString& aMimeType)
|
||||
{
|
||||
if (aMimeType.EqualsLiteral("video/webm; codecs=vp8")) {
|
||||
return "video/x-vnd.on2.vp8";
|
||||
} else if (aMimeType.EqualsLiteral("video/webm; codecs=vp9")) {
|
||||
return "video/x-vnd.on2.vp9";
|
||||
}
|
||||
return PromiseFlatCString(aMimeType).get();
|
||||
}
|
||||
|
||||
static MediaCodec::LocalRef CreateDecoder(const nsACString& aMimeType)
|
||||
{
|
||||
MediaCodec::LocalRef codec;
|
||||
NS_ENSURE_SUCCESS(MediaCodec::CreateDecoderByType(PromiseFlatCString(aMimeType).get(), &codec), nullptr);
|
||||
NS_ENSURE_SUCCESS(MediaCodec::CreateDecoderByType(TranslateMimeType(aMimeType),
|
||||
&codec), nullptr);
|
||||
return codec;
|
||||
}
|
||||
|
||||
|
@ -287,7 +297,7 @@ AndroidDecoderModule::CreateVideoDecoder(
|
|||
MediaFormat::LocalRef format;
|
||||
|
||||
NS_ENSURE_SUCCESS(MediaFormat::CreateVideoFormat(
|
||||
aConfig.mMimeType,
|
||||
TranslateMimeType(aConfig.mMimeType),
|
||||
aConfig.mDisplay.width,
|
||||
aConfig.mDisplay.height,
|
||||
&format), nullptr);
|
||||
|
|
Загрузка…
Ссылка в новой задаче