diff options
author | Wonsik Kim <wonsik@google.com> | 2016-07-07 12:57:02 +0900 |
---|---|---|
committer | gitbuildkicker <android-build@google.com> | 2016-08-16 15:51:50 -0700 |
commit | 9d32255b7302922bac4141bf557277d87bc81388 (patch) | |
tree | 47043e8f2b9fb31f19197d4a2be26637777e114b | |
parent | 05713f1d239566bff957177f1a7aaba380fbc978 (diff) | |
download | frameworks_av-9d32255b7302922bac4141bf557277d87bc81388.zip frameworks_av-9d32255b7302922bac4141bf557277d87bc81388.tar.gz frameworks_av-9d32255b7302922bac4141bf557277d87bc81388.tar.bz2 |
omx: prevent input port enable/disable for software codecs
Bug: 29421804
Change-Id: Iba1011e9af942a6dff7f659af769a51e3f5ba66f
-rw-r--r-- | media/libstagefright/omx/SimpleSoftOMXComponent.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp index 60c1e2e..13afd45 100644 --- a/media/libstagefright/omx/SimpleSoftOMXComponent.cpp +++ b/media/libstagefright/omx/SimpleSoftOMXComponent.cpp @@ -469,6 +469,13 @@ void SimpleSoftOMXComponent::onPortEnable(OMX_U32 portIndex, bool enable) { CHECK_EQ((int)port->mTransition, (int)PortInfo::NONE); CHECK(port->mDef.bEnabled == !enable); + if (port->mDef.eDir != OMX_DirOutput) { + ALOGE("Port enable/disable allowed only on output ports."); + notify(OMX_EventError, OMX_ErrorUndefined, 0, NULL); + android_errorWriteLog(0x534e4554, "29421804"); + return; + } + if (!enable) { port->mDef.bEnabled = OMX_FALSE; port->mTransition = PortInfo::DISABLING; |