summaryrefslogtreecommitdiff
path: root/media/libstagefright/ACodec.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-05-19 08:37:39 -0700
committerAndreas Huber <andih@google.com>2011-05-25 15:57:07 -0700
commit386d609dc513e838c7e7c4c46c604493ccd560be (patch)
treed7352f19380578d525ad4a667e51a66ed84e2d58 /media/libstagefright/ACodec.cpp
parentade8c2d682d4f8c9424dece53e39400c237d22bf (diff)
Support mpeg1,2 audio and mpeg1,2,4 video content extraction from .ts streams.
Change-Id: I9d2ee63495f161e30daba7c3aab16cb9d8ced6a5
Diffstat (limited to 'media/libstagefright/ACodec.cpp')
-rw-r--r--media/libstagefright/ACodec.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/media/libstagefright/ACodec.cpp b/media/libstagefright/ACodec.cpp
index 4189354e..642b3a39 100644
--- a/media/libstagefright/ACodec.cpp
+++ b/media/libstagefright/ACodec.cpp
@@ -909,6 +909,8 @@ status_t ACodec::setupVideoDecoder(
compressionFormat = OMX_VIDEO_CodingMPEG4;
} else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_H263, mime)) {
compressionFormat = OMX_VIDEO_CodingH263;
+ } else if (!strcasecmp(MEDIA_MIMETYPE_VIDEO_MPEG2, mime)) {
+ compressionFormat = OMX_VIDEO_CodingMPEG2;
} else {
TRESPASS();
}
@@ -1647,6 +1649,10 @@ void ACodec::UninitializedState::onSetup(
componentName = "OMX.google.aac.decoder";
} else if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_AUDIO_MPEG)) {
componentName = "OMX.Nvidia.mp3.decoder";
+ } else if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_VIDEO_MPEG2)) {
+ componentName = "OMX.Nvidia.mpeg2v.decode";
+ } else if (!strcasecmp(mime.c_str(), MEDIA_MIMETYPE_VIDEO_MPEG4)) {
+ componentName = "OMX.google.mpeg4.decoder";
} else {
TRESPASS();
}
@@ -1670,7 +1676,8 @@ void ACodec::UninitializedState::onSetup(
mCodec->configureCodec(mime.c_str(), msg);
sp<RefBase> obj;
- if (msg->findObject("native-window", &obj)) {
+ if (msg->findObject("native-window", &obj)
+ && strncmp("OMX.google.", componentName.c_str(), 11)) {
sp<NativeWindowWrapper> nativeWindow(
static_cast<NativeWindowWrapper *>(obj.get()));
CHECK(nativeWindow != NULL);