diff options
author | Andreas Huber <andih@google.com> | 2011-05-19 08:37:39 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-05-25 15:57:07 -0700 |
commit | 386d609dc513e838c7e7c4c46c604493ccd560be (patch) | |
tree | d7352f19380578d525ad4a667e51a66ed84e2d58 /media/libstagefright/ACodec.cpp | |
parent | ade8c2d682d4f8c9424dece53e39400c237d22bf (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.cpp | 9 |
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); |