summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/codecs/amrnb/dec
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2013-06-03 15:48:11 -0700
committerAndreas Huber <andih@google.com>2013-06-03 15:48:11 -0700
commitd94e716af0e49d775f0c0c4f36dd2c136ba5f2b2 (patch)
tree5e070c15cf8bf6fb69c1efca1866303fa99e6390 /media/libstagefright/codecs/amrnb/dec
parent7c684c622110af460025eff85082030947278430 (diff)
downloadframeworks_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/amrnb/dec')
-rw-r--r--media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp5
-rw-r--r--media/libstagefright/codecs/amrnb/dec/SoftAMR.h1
2 files changed, 6 insertions, 0 deletions
diff --git a/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp b/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp
index 4d4212f..3320688 100644
--- a/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp
+++ b/media/libstagefright/codecs/amrnb/dec/SoftAMR.cpp
@@ -457,6 +457,11 @@ void SoftAMR::onPortEnableCompleted(OMX_U32 portIndex, bool enabled) {
}
}
+void SoftAMR::onReset() {
+ mSignalledError = false;
+ mOutputPortSettingsChange = NONE;
+}
+
} // namespace android
android::SoftOMXComponent *createSoftOMXComponent(
diff --git a/media/libstagefright/codecs/amrnb/dec/SoftAMR.h b/media/libstagefright/codecs/amrnb/dec/SoftAMR.h
index 9a596e5..758d6ac 100644
--- a/media/libstagefright/codecs/amrnb/dec/SoftAMR.h
+++ b/media/libstagefright/codecs/amrnb/dec/SoftAMR.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 {