diff options
author | Andreas Huber <andih@google.com> | 2013-06-03 15:48:11 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2013-06-03 15:48:11 -0700 |
commit | d94e716af0e49d775f0c0c4f36dd2c136ba5f2b2 (patch) | |
tree | 5e070c15cf8bf6fb69c1efca1866303fa99e6390 /media/libstagefright/codecs/on2 | |
parent | 7c684c622110af460025eff85082030947278430 (diff) | |
download | frameworks_av-d94e716af0e49d775f0c0c4f36dd2c136ba5f2b2.zip frameworks_av-d94e716af0e49d775f0c0c4f36dd2c136ba5f2b2.tar.gz frameworks_av-d94e716af0e49d775f0c0c4f36dd2c136ba5f2b2.tar.bz2 |
Fix our software decoders to reset (more of) their internal state
properly on a transition from idle->loaded.
Change-Id: I56ccfeef24c391e50e42b522194206e35c7ab700
related-to-bug: 9105408
Diffstat (limited to 'media/libstagefright/codecs/on2')
4 files changed, 11 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/on2/dec/SoftVPX.cpp b/media/libstagefright/codecs/on2/dec/SoftVPX.cpp index 866e5b0..fe76036 100644 --- a/media/libstagefright/codecs/on2/dec/SoftVPX.cpp +++ b/media/libstagefright/codecs/on2/dec/SoftVPX.cpp @@ -358,6 +358,10 @@ void SoftVPX::onPortEnableCompleted(OMX_U32 portIndex, bool enabled) { } } +void SoftVPX::onReset() { + mOutputPortSettingsChange = NONE; +} + void SoftVPX::updatePortDefinitions() { OMX_PARAM_PORTDEFINITIONTYPE *def = &editPortInfo(0)->mDef; def->format.video.nFrameWidth = mWidth; diff --git a/media/libstagefright/codecs/on2/dec/SoftVPX.h b/media/libstagefright/codecs/on2/dec/SoftVPX.h index 3e814a2..4cb05cf 100644 --- a/media/libstagefright/codecs/on2/dec/SoftVPX.h +++ b/media/libstagefright/codecs/on2/dec/SoftVPX.h @@ -40,6 +40,7 @@ protected: virtual void onQueueFilled(OMX_U32 portIndex); virtual void onPortFlushCompleted(OMX_U32 portIndex); virtual void onPortEnableCompleted(OMX_U32 portIndex, bool enabled); + virtual void onReset(); private: enum { diff --git a/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp b/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp index 6e36651..5e299d5 100644 --- a/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp +++ b/media/libstagefright/codecs/on2/h264dec/SoftAVC.cpp @@ -530,6 +530,11 @@ void SoftAVC::onPortEnableCompleted(OMX_U32 portIndex, bool enabled) { } } +void SoftAVC::onReset() { + mSignalledError = false; + mOutputPortSettingsChange = NONE; +} + void SoftAVC::updatePortDefinitions() { OMX_PARAM_PORTDEFINITIONTYPE *def = &editPortInfo(0)->mDef; def->format.video.nFrameWidth = mWidth; diff --git a/media/libstagefright/codecs/on2/h264dec/SoftAVC.h b/media/libstagefright/codecs/on2/h264dec/SoftAVC.h index 879b014..8c104c5 100644 --- a/media/libstagefright/codecs/on2/h264dec/SoftAVC.h +++ b/media/libstagefright/codecs/on2/h264dec/SoftAVC.h @@ -46,6 +46,7 @@ protected: virtual void onQueueFilled(OMX_U32 portIndex); virtual void onPortFlushCompleted(OMX_U32 portIndex); virtual void onPortEnableCompleted(OMX_U32 portIndex, bool enabled); + virtual void onReset(); private: enum { |