407 } |
407 } |
408 |
408 |
409 return OMX_ErrorNone; |
409 return OMX_ErrorNone; |
410 |
410 |
411 } |
411 } |
412 |
|
413 #ifdef _OMXIL_COMMON_IL516C_ON |
|
414 OMX_ERRORTYPE |
|
415 XOmxILCallbackManagerIfImpl::DoEjectBuffersRequest( |
|
416 OMX_U32 aLocalPortIndex) |
|
417 { |
|
418 DEBUG_PRINTF2(_L8("XOmxILCallbackManagerIfImpl::DoEjectBuffersRequest : " |
|
419 "aLocalPortIndex[%d]"), aLocalPortIndex); |
|
420 |
|
421 __ASSERT_DEBUG(ipHandle && |
|
422 ipCallbacks && |
|
423 ipPortManager, |
|
424 User::Panic(KOmxILCallbackManagerIfImplPanicCategory, 1)); |
|
425 |
|
426 // find out whether the port is tunnelled or not |
|
427 const TUint tunnelCount = iRegisteredTunnels.Count(); |
|
428 for (TUint i=0; i<tunnelCount; ++i) |
|
429 { |
|
430 if (iRegisteredTunnels[i].iLocalPortIndex == |
|
431 aLocalPortIndex) |
|
432 { |
|
433 |
|
434 OMX_COMPONENTTYPE* ipTunnelledComponent = |
|
435 static_cast<OMX_COMPONENTTYPE*>( |
|
436 iRegisteredTunnels[i]. |
|
437 iTunnelledComponentHandle); |
|
438 |
|
439 __ASSERT_DEBUG(ipTunnelledComponent, |
|
440 User::Panic(KOmxILCallbackManagerIfImplPanicCategory, 1)); |
|
441 |
|
442 DEBUG_PRINTF3(_L8("XOmxILCallbackManagerIfImpl::DoEjectBuffersRequest : " |
|
443 "iTunnelledComponent [%X] iTunnelledPortIndex[%u]"), |
|
444 ipTunnelledComponent, |
|
445 iRegisteredTunnels[i].iTunnelledPortIndex); |
|
446 |
|
447 OMX_PARAM_U32TYPE ejectBufferRequest; |
|
448 ejectBufferRequest.nSize = sizeof(OMX_PARAM_U32TYPE); |
|
449 ejectBufferRequest.nVersion = TOmxILSpecVersion(); |
|
450 ejectBufferRequest.nPortIndex = iRegisteredTunnels[i].iTunnelledPortIndex; |
|
451 ejectBufferRequest.nU32 = 1; // .... we can define a constant to be used here |
|
452 |
|
453 // Returned error ignored here. Cannot handle an error from the |
|
454 // tunnelled component |
|
455 OMX_SetConfig(ipTunnelledComponent, |
|
456 OMX_IndexConfigPortBufferReturnRequest, |
|
457 &ejectBufferRequest); |
|
458 |
|
459 break; |
|
460 } |
|
461 } |
|
462 |
|
463 return OMX_ErrorNone; |
|
464 |
|
465 } |
|
466 #endif |
|
467 |
412 |
468 void |
413 void |
469 XOmxILCallbackManagerIfImpl::SignalOrPropagateBufferMarks( |
414 XOmxILCallbackManagerIfImpl::SignalOrPropagateBufferMarks( |
470 OMX_BUFFERHEADERTYPE* apBufferHeader, |
415 OMX_BUFFERHEADERTYPE* apBufferHeader, |
471 OMX_U32 aLocalPortIndex) |
416 OMX_U32 aLocalPortIndex) |