Change MPEG2 reinit Error Handling am: a67eacace7 am: a16f5a1fb3 am: 1c0389cc5f am: 4ff3666a51 am: b56bc9e762 am: f36fb2deb3 am: 25c4535f04 am: b866f43754 am: 7a22cc8944
am: 4226c955b6
Change-Id: If43d207f376ff9af9ae63644ce9359a244988f7f
diff --git a/media/libstagefright/codecs/mpeg2dec/SoftMPEG2.cpp b/media/libstagefright/codecs/mpeg2dec/SoftMPEG2.cpp
index d358ce4..6e70ded 100644
--- a/media/libstagefright/codecs/mpeg2dec/SoftMPEG2.cpp
+++ b/media/libstagefright/codecs/mpeg2dec/SoftMPEG2.cpp
@@ -77,13 +77,6 @@
// If input dump is enabled, then open create an empty file
GENERATE_FILE_NAMES();
CREATE_DUMP_FILE(mInFile);
-
- if (OK != initDecoder()) {
- ALOGE("Failed to initialize decoder");
- notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
- mSignalledError = true;
- return;
- }
}
SoftMPEG2::~SoftMPEG2() {
@@ -454,8 +447,6 @@
if (OK != ret) {
ALOGE("Failed to initialize decoder");
deInitDecoder();
- notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
- mSignalledError = true;
return ret;
}
mSignalledError = false;
@@ -604,6 +595,15 @@
return;
}
+ if (NULL == mCodecCtx) {
+ if (OK != initDecoder()) {
+ ALOGE("Failed to initialize decoder");
+ notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
+ mSignalledError = true;
+ return;
+ }
+ }
+
List<BufferInfo *> &inQueue = getPortQueue(kInputPortIndex);
List<BufferInfo *> &outQueue = getPortQueue(kOutputPortIndex);
@@ -658,9 +658,6 @@
if (OK != reInitDecoder()) {
ALOGE("Failed to reinitialize decoder");
- notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
- mSignalledError = true;
- return;
}
return;
}
@@ -736,8 +733,6 @@
if (OK != reInitDecoder()) {
ALOGE("Failed to reinitialize decoder");
- notify(OMX_EventError, OMX_ErrorUnsupportedSetting, 0, NULL);
- mSignalledError = true;
return;
}