OMX_ERRORTYPE StdCompCommonOther_ContainerDemuxerPortParameters( TEST_CTXTYPE *pCtx, OMX_U32 nPortIndex) { OMX_ERRORTYPE eError = OMX_ErrorNone; OMX_TIME_CONFIG_TIMESTAMPTYPE sTimePosition; OMX_TIME_CONFIG_SEEKMODETYPE sTimeSeekMode; OMX_CONF_INIT_STRUCT(sTimePosition, OMX_TIME_CONFIG_TIMESTAMPTYPE); OMX_CONF_INIT_STRUCT(sTimeSeekMode, OMX_TIME_CONFIG_SEEKMODETYPE); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying Container Demuxer port %i common parameters\n", nPortIndex); /* Verify support for the common standard component port parameters. */ eError = StdComponentTest_StdPortParameters(pCtx, nPortIndex); OMX_CONF_BAIL_ON_ERROR(eError); /* There are no default values mentioned in the specification. Just verify the access at present. */ OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexConfigTimePosition\n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigTimePosition, (OMX_PTR)&sTimePosition, eError); // R/W OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexConfigTimeSeekMode \n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigTimeSeekMode, (OMX_PTR)&sTimeSeekMode, eError); // R/W OMX_CONF_TEST_BAIL: return(eError); }
OMX_ERRORTYPE StdBinaryClockTest_BinaryClock(TEST_CTXTYPE *pCtx) { OMX_ERRORTYPE eError = OMX_ErrorNone; OMX_U32 nPortIndex, i; OMX_TIME_CONFIG_SCALETYPE sScale; //OMX_IndexConfigTimeScale OMX_TIME_CONFIG_CLOCKSTATETYPE sClockState; //OMX_IndexConfigTimeClockState OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE sActiveRefClock; //OMX_IndexConfigTimeActiveRefClock OMX_TIME_CONFIG_TIMESTAMPTYPE sTimeStamp; // OMX_IndexConfigTimeCurrentMediaTime, // OMX_IndexConfigTimeCurrentWallTime // OMX_IndexConfigTimeCurrentAudioReference // OMX_IndexConfigTimeCurrentVideoReference // OMX_IndexConfigTimeClientStartTime OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE sMediaTimeRequest; //OMX_IndexConfigTimeMediaTimeRequest OMX_CONF_INIT_STRUCT(sScale, OMX_TIME_CONFIG_SCALETYPE); OMX_CONF_INIT_STRUCT(sClockState, OMX_TIME_CONFIG_CLOCKSTATETYPE); OMX_CONF_INIT_STRUCT(sActiveRefClock, OMX_TIME_CONFIG_ACTIVEREFCLOCKTYPE); OMX_CONF_INIT_STRUCT(sTimeStamp, OMX_TIME_CONFIG_TIMESTAMPTYPE); OMX_CONF_INIT_STRUCT(sMediaTimeRequest, OMX_TIME_CONFIG_MEDIATIMEREQUESTTYPE); eError = StdComponentTest_SetRole(pCtx, "clock.binary"); OMX_CONF_BAIL_ON_ERROR(eError); /* For the standard binary clock component, there must be at least one OTHER domain ports. There is no limit on the maximum number of ports.*/ if (pCtx->sPortParamOther.nPorts < 1) eError = OMX_ErrorUndefined; OMX_CONF_BAIL_ON_ERROR(eError); /* Verify - Port Index = OPB + i; output port, other format */ for (i = 0; i < pCtx->sPortParamOther.nPorts; i++) { nPortIndex = pCtx->sPortParamOther.nStartPortNumber + i; OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying Other output port %d \n", nPortIndex); if (StdComponentTest_IsOutputPort(pCtx, nPortIndex) == OMX_FALSE) eError = OMX_ErrorUndefined; OMX_CONF_BAIL_ON_ERROR(eError); eError = StdCompCommonOther_OtherPortParameters(pCtx, nPortIndex); OMX_CONF_BAIL_ON_ERROR(eError); /* Verify R/W accesses. There are no default values in the specification. */ OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigTimeScale, (OMX_PTR)&sScale, eError); // R/W OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigTimeClockState, (OMX_PTR)&sClockState, eError); // R/W OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigTimeActiveRefClock, (OMX_PTR)&sActiveRefClock, eError); // R/W eError = OMX_GetConfig(pCtx, OMX_IndexConfigTimeCurrentMediaTime, (OMX_PTR) & sTimeStamp); //Read Access. OMX_CONF_BAIL_ON_ERROR(eError); eError = OMX_GetConfig(pCtx, OMX_IndexConfigTimeCurrentWallTime, (OMX_PTR) & sTimeStamp); //Read Access. OMX_CONF_BAIL_ON_ERROR(eError); eError = OMX_SetConfig(pCtx, OMX_IndexConfigTimeCurrentAudioReference, (OMX_PTR) & sTimeStamp); //Write Access. OMX_CONF_BAIL_ON_ERROR(eError); eError = OMX_SetConfig(pCtx, OMX_IndexConfigTimeCurrentVideoReference, (OMX_PTR) & sTimeStamp); //Write Access. OMX_CONF_BAIL_ON_ERROR(eError); eError = OMX_SetConfig(pCtx, OMX_IndexConfigTimeCurrentVideoReference, (OMX_PTR) & sTimeStamp); //Write Access. OMX_CONF_BAIL_ON_ERROR(eError); eError = OMX_SetConfig(pCtx, OMX_IndexConfigTimeMediaTimeRequest, (OMX_PTR) & sMediaTimeRequest); //Write Access. OMX_CONF_BAIL_ON_ERROR(eError); } OMX_CONF_TEST_BAIL: return (eError); }
OMX_ERRORTYPE StdCompCommonOther_YuvCameraPortParameters( TEST_CTXTYPE *pCtx, OMX_U32 nPortIndex) { OMX_ERRORTYPE eError = OMX_ErrorNone; OMX_PARAM_PORTDEFINITIONTYPE sPortDefinition; OMX_VIDEO_PARAM_PORTFORMATTYPE sPortFormat; OMX_PARAM_SENSORMODETYPE sSensorMode; //OMX_IndexParamCommonSensorMode OMX_CONFIG_WHITEBALCONTROLTYPE sWhiteBalance; //OMX_IndexConfigCommonWhiteBalance OMX_CONFIG_SCALEFACTORTYPE sScaleFactor; //OMX_IndexConfigCommonDigitalZoom // OMX_CONFIG_EVCOMPENSATIONTYPE sEvComp; //OMX_IndexConfigCommonEVCompensation OMX_CONFIG_BOOLEANTYPE sConfigCapturing; // OMX_IndexConfigCapturing OMX_CONFIG_BOOLEANTYPE sAutoPauseCapture; //OMX_IndexConfigAutoPauseAfterCapture OMX_CONF_INIT_STRUCT(sPortDefinition, OMX_PARAM_PORTDEFINITIONTYPE); OMX_CONF_INIT_STRUCT(sPortFormat, OMX_VIDEO_PARAM_PORTFORMATTYPE); OMX_CONF_INIT_STRUCT(sSensorMode, OMX_PARAM_SENSORMODETYPE); OMX_CONF_INIT_STRUCT(sWhiteBalance, OMX_CONFIG_WHITEBALCONTROLTYPE); OMX_CONF_INIT_STRUCT(sScaleFactor, OMX_CONFIG_SCALEFACTORTYPE); //OMX_CONF_INIT_STRUCT(sEvComp, OMX_CONFIG_EVCOMPENSATIONTYPE); OMX_CONF_INIT_STRUCT(sConfigCapturing, OMX_CONFIG_BOOLEANTYPE); OMX_CONF_INIT_STRUCT(sAutoPauseCapture, OMX_CONFIG_BOOLEANTYPE); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying Camera port %i Default parameters\n", nPortIndex); /* There are no default values specified for most of the above. Just verify access for now. */ OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexParamCommonSensorMode\n"); OMX_CONF_PARAM_REQUIREDGETSET(pCtx, OMX_IndexParamCommonSensorMode, (OMX_PTR)&sSensorMode, eError); OMX_CONF_BAIL_ON_ERROR(eError); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexConfigCommonWhiteBalance\n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigCommonWhiteBalance, (OMX_PTR)&sWhiteBalance, eError); OMX_CONF_BAIL_ON_ERROR(eError); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexConfigCommonDigitalZoom\n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigCommonDigitalZoom, (OMX_PTR)&sScaleFactor, eError); OMX_CONF_BAIL_ON_ERROR(eError); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexConfigCapturing\n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexConfigCapturing, (OMX_PTR)&sConfigCapturing, eError); OMX_CONF_BAIL_ON_ERROR(eError); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support for OMX_IndexAutoPauseAfterCapture\n"); OMX_CONF_CONFIG_REQUIREDGETSET(pCtx, OMX_IndexAutoPauseAfterCapture, (OMX_PTR)&sAutoPauseCapture, eError); OMX_CONF_BAIL_ON_ERROR(eError); /* Verify support for the common standard component port parameters. */ eError = StdComponentTest_StdPortParameters(pCtx, nPortIndex); OMX_CONF_BAIL_ON_ERROR(eError); /* Verify Port Definition */ sPortDefinition.nPortIndex = nPortIndex; eError = OMX_GetParameter(pCtx->hWrappedComp, OMX_IndexParamPortDefinition, (OMX_PTR) & sPortDefinition); /* Verify support for OMX_IndexParamVideoPortFormat and verify that the port format is as expected. */ OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, "Verifying support and defaults for OMX_IndexParamVideoPortFormat\n"); sPortFormat.nPortIndex = nPortIndex; eError = OMX_GetParameter(pCtx->hWrappedComp, OMX_IndexParamVideoPortFormat, (OMX_PTR) & sPortFormat); if ((sPortFormat.eCompressionFormat != OMX_VIDEO_CodingUnused) || (sPortFormat.eColorFormat != OMX_COLOR_FormatYUV420Planar)) eError = OMX_ErrorBadParameter; // OMX_ErrorBadPortFormatEncoding OMX_CONF_BAIL_ON_ERROR(eError); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, " eCompressionFormat = %d (OMX_VIDEO_CodingUnused)\n", sPortFormat.eCompressionFormat); OMX_OSAL_Trace(OMX_OSAL_TRACE_INFO, " eColorFormat = %d (OMX_COLOR_FormatYUV420Planar)\n", sPortFormat.eColorFormat); OMX_CONF_TEST_BAIL: return(eError); }