omxil_generic/omxilcomplib/src/omxilcallbackmanagerifimpl.cpp
changeset 5 fb6faddbb212
parent 0 0e4a32b9112d
equal deleted inserted replaced
2:6add9366d894 5:fb6faddbb212
   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)