summaryrefslogtreecommitdiffstats
path: root/media
diff options
context:
space:
mode:
authorChong Zhang <chz@google.com>2014-07-11 16:17:14 -0700
committerChong Zhang <chz@google.com>2014-07-11 16:19:13 -0700
commit749dafad09d85f2aaf6902a7ff16b4087e3bc4c7 (patch)
tree993ec568afe921d76350514bce0f52c643621c91 /media
parentc5619c7a6dcc1137fde7520351ad5284e3e958ab (diff)
downloadframeworks_av-749dafad09d85f2aaf6902a7ff16b4087e3bc4c7.zip
frameworks_av-749dafad09d85f2aaf6902a7ff16b4087e3bc4c7.tar.gz
frameworks_av-749dafad09d85f2aaf6902a7ff16b4087e3bc4c7.tar.bz2
MediaCodec: change onError cb to return CodecException
Bug: 11990118 Change-Id: I3278aecb20df88c42fa2709a66e6166eb3cbe56f
Diffstat (limited to 'media')
-rw-r--r--media/libstagefright/MediaCodec.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/media/libstagefright/MediaCodec.cpp b/media/libstagefright/MediaCodec.cpp
index f286659..24fd7ad 100644
--- a/media/libstagefright/MediaCodec.cpp
+++ b/media/libstagefright/MediaCodec.cpp
@@ -664,7 +664,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {
cancelPendingDequeueOperations();
if (mFlags & kFlagIsAsync) {
- onError(0, omxError);
+ onError(omxError, 0);
}
setState(UNINITIALIZED);
break;
@@ -678,7 +678,7 @@ void MediaCodec::onMessageReceived(const sp<AMessage> &msg) {
postActivityNotificationIfPossible();
if (mFlags & kFlagIsAsync) {
- onError(0, omxError);
+ onError(omxError, 0);
}
setState(UNINITIALIZED);
break;
@@ -1916,12 +1916,16 @@ void MediaCodec::onOutputBufferAvailable() {
}
}
-void MediaCodec::onError(int32_t actionCode, status_t err) {
+void MediaCodec::onError(status_t err, int32_t actionCode, const char *detail) {
if (mCallback != NULL) {
sp<AMessage> msg = mCallback->dup();
msg->setInt32("callbackID", CB_ERROR);
- msg->setInt32("actionCode", actionCode);
msg->setInt32("err", err);
+ msg->setInt32("actionCode", actionCode);
+
+ if (detail != NULL) {
+ msg->setString("detail", detail);
+ }
msg->post();
}