summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/MediaCodec.cpp
diff options
context:
space:
mode:
authorWei Jia <wjia@google.com>2014-08-29 14:47:50 -0700
committerWei Jia <wjia@google.com>2014-08-29 18:09:10 -0700
commitc22c695660ed9edaba0d4cd7c0ab3a794216fe80 (patch)
tree91f6a74ca7fbfaa1c15af96b2ff2f7159542bfe1 /media/libstagefright/MediaCodec.cpp
parent6868628c0df9b8dfa0a1c16be109d907384e3186 (diff)
downloadframeworks_av-c22c695660ed9edaba0d4cd7c0ab3a794216fe80.zip
frameworks_av-c22c695660ed9edaba0d4cd7c0ab3a794216fe80.tar.gz
frameworks_av-c22c695660ed9edaba0d4cd7c0ab3a794216fe80.tar.bz2
MediaCodec: set state to UNINITIALIZED when receiving fatal error.
NuPlayerDecoder: release MediaCodec when handling an error. Bug: 16661923 Change-Id: I1b6fd7ee5cc1136b3f289135e5360cd3d98f9799
Diffstat (limited to 'media/libstagefright/MediaCodec.cpp')
-rw-r--r--media/libstagefright/MediaCodec.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index 76f730f..fc2dd30 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -733,13 +733,15 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {
case CONFIGURING:
{
- setState(INITIALIZED);
+ setState(actionCode == ACTION_CODE_FATAL ?
+ UNINITIALIZED : INITIALIZED);
break;
}
case STARTING:
{
- setState(CONFIGURED);
+ setState(actionCode == ACTION_CODE_FATAL ?
+ UNINITIALIZED : CONFIGURED);
break;
}