diff options
author | Dave Burke <daveburke@google.com> | 2011-10-19 22:38:45 -0700 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2011-10-19 22:38:45 -0700 |
commit | 1d2acaffde56ad79e6e96f228d7857863462397c (patch) | |
tree | e5e05f30fbca34668d58ff6e6b3199a4ab947e3b /media/libmedia | |
parent | e6a823c276302b0c499d7a39956c1b731f23dd4c (diff) | |
parent | 55f4bc5c3d1acfaa735b8b19cf34b6b68f6cfcca (diff) | |
download | frameworks_av-1d2acaffde56ad79e6e96f228d7857863462397c.zip frameworks_av-1d2acaffde56ad79e6e96f228d7857863462397c.tar.gz frameworks_av-1d2acaffde56ad79e6e96f228d7857863462397c.tar.bz2 |
am 23d64420: Merge "Stagefright: idle OMX after ANW errors" into ics-mr0
* commit '23d644202a44383bf008ff86f6faa3ea7e447290':
Stagefright: idle OMX after ANW errors
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/IOMX.cpp | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/media/libmedia/IOMX.cpp b/media/libmedia/IOMX.cpp index d3aab08..7d2fbce 100644 --- a/media/libmedia/IOMX.cpp +++ b/media/libmedia/IOMX.cpp @@ -38,6 +38,7 @@ enum { SET_PARAMETER, GET_CONFIG, SET_CONFIG, + GET_STATE, ENABLE_GRAPHIC_BUFFERS, USE_BUFFER, USE_GRAPHIC_BUFFER, @@ -198,6 +199,17 @@ public: return reply.readInt32(); } + virtual status_t getState( + node_id node, OMX_STATETYPE* state) { + Parcel data, reply; + data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); + data.writeIntPtr((intptr_t)node); + remote()->transact(GET_STATE, data, &reply); + + *state = static_cast<OMX_STATETYPE>(reply.readInt32()); + return reply.readInt32(); + } + virtual status_t enableGraphicBuffers( node_id node, OMX_U32 port_index, OMX_BOOL enable) { Parcel data, reply; @@ -524,6 +536,20 @@ status_t BnOMX::onTransact( return NO_ERROR; } + case GET_STATE: + { + CHECK_INTERFACE(IOMX, data, reply); + + node_id node = (void*)data.readIntPtr(); + OMX_STATETYPE state = OMX_StateInvalid; + + status_t err = getState(node, &state); + reply->writeInt32(state); + reply->writeInt32(err); + + return NO_ERROR; + } + case ENABLE_GRAPHIC_BUFFERS: { CHECK_INTERFACE(IOMX, data, reply); |