|
38 | 38 | SET_PARAMETER, |
39 | 39 | GET_CONFIG, |
40 | 40 | SET_CONFIG, |
| 41 | + GET_STATE, |
41 | 42 | ENABLE_GRAPHIC_BUFFERS, |
42 | 43 | USE_BUFFER, |
43 | 44 | USE_GRAPHIC_BUFFER, |
@@ -198,6 +199,17 @@ class BpOMX : public BpInterface<IOMX> { |
198 | 199 | return reply.readInt32(); |
199 | 200 | } |
200 | 201 |
|
| 202 | + virtual status_t getState( |
| 203 | + node_id node, OMX_STATETYPE* state) { |
| 204 | + Parcel data, reply; |
| 205 | + data.writeInterfaceToken(IOMX::getInterfaceDescriptor()); |
| 206 | + data.writeIntPtr((intptr_t)node); |
| 207 | + remote()->transact(GET_STATE, data, &reply); |
| 208 | + |
| 209 | + *state = static_cast<OMX_STATETYPE>(reply.readInt32()); |
| 210 | + return reply.readInt32(); |
| 211 | + } |
| 212 | + |
201 | 213 | virtual status_t enableGraphicBuffers( |
202 | 214 | node_id node, OMX_U32 port_index, OMX_BOOL enable) { |
203 | 215 | Parcel data, reply; |
@@ -524,6 +536,20 @@ status_t BnOMX::onTransact( |
524 | 536 | return NO_ERROR; |
525 | 537 | } |
526 | 538 |
|
| 539 | + case GET_STATE: |
| 540 | + { |
| 541 | + CHECK_INTERFACE(IOMX, data, reply); |
| 542 | + |
| 543 | + node_id node = (void*)data.readIntPtr(); |
| 544 | + OMX_STATETYPE state = OMX_StateInvalid; |
| 545 | + |
| 546 | + status_t err = getState(node, &state); |
| 547 | + reply->writeInt32(state); |
| 548 | + reply->writeInt32(err); |
| 549 | + |
| 550 | + return NO_ERROR; |
| 551 | + } |
| 552 | + |
527 | 553 | case ENABLE_GRAPHIC_BUFFERS: |
528 | 554 | { |
529 | 555 | CHECK_INTERFACE(IOMX, data, reply); |
|
0 commit comments