summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/omx/OMX.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2009-10-08 11:02:27 -0700
committerAndreas Huber <andih@google.com>2009-10-08 14:21:58 -0700
commit36efa039efaae4526791336cb688032d22b34bec (patch)
tree8bb2b193530f7c606475e2863be843eb8cce58e6 /media/libstagefright/omx/OMX.cpp
parent479ededc5b55e63ea9b425cbe465c93bb8b8b3dc (diff)
downloadframeworks_av-36efa039efaae4526791336cb688032d22b34bec.zip
frameworks_av-36efa039efaae4526791336cb688032d22b34bec.tar.gz
frameworks_av-36efa039efaae4526791336cb688032d22b34bec.tar.bz2
Some decoders will return an error on OMX_EmptyThisBuffer to indicate that they don't support the media format, deal with this.
Diffstat (limited to 'media/libstagefright/omx/OMX.cpp')
-rw-r--r--media/libstagefright/omx/OMX.cpp10
1 files changed, 6 insertions, 4 deletions
diff --git a/media/libstagefright/omx/OMX.cpp b/media/libstagefright/omx/OMX.cpp
index 8b83dd6..bf876af 100644
--- a/media/libstagefright/omx/OMX.cpp
+++ b/media/libstagefright/omx/OMX.cpp
@@ -529,7 +529,7 @@ status_t OMX::observe_node(
return OK;
}
-void OMX::fill_buffer(node_id node, buffer_id buffer) {
+status_t OMX::fill_buffer(node_id node, buffer_id buffer) {
OMX_BUFFERHEADERTYPE *header = (OMX_BUFFERHEADERTYPE *)buffer;
header->nFilledLen = 0;
header->nOffset = 0;
@@ -539,10 +539,11 @@ void OMX::fill_buffer(node_id node, buffer_id buffer) {
OMX_ERRORTYPE err =
OMX_FillThisBuffer(node_meta->handle(), header);
- CHECK_EQ(err, OMX_ErrorNone);
+
+ return (err == OMX_ErrorNone) ? OK : UNKNOWN_ERROR;
}
-void OMX::empty_buffer(
+status_t OMX::empty_buffer(
node_id node,
buffer_id buffer,
OMX_U32 range_offset, OMX_U32 range_length,
@@ -561,7 +562,8 @@ void OMX::empty_buffer(
OMX_ERRORTYPE err =
OMX_EmptyThisBuffer(node_meta->handle(), header);
- CHECK_EQ(err, OMX_ErrorNone);
+
+ return (err == OMX_ErrorNone) ? OK : UNKNOWN_ERROR;
}
status_t OMX::get_extension_index(