80 lines
4.0 KiB
Diff
80 lines
4.0 KiB
Diff
@@ -, +, @@
|
|
OMX_INDEXTYPE/OMX_INDEXVENDORTYPE in one switch
|
|
src/base/omx_base_component.c | 54 ++++++++++++++++++++++-------------------
|
|
1 files changed, 29 insertions(+), 25 deletions(-)
|
|
--- a/src/base/omx_base_component.c
|
|
+++ a/src/base/omx_base_component.c
|
|
@@ -915,14 +915,6 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter(
|
|
return OMX_ErrorBadParameter;
|
|
}
|
|
switch(nParamIndex) {
|
|
- case OMX_IndexParameterThreadsID:
|
|
- if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) {
|
|
- break;
|
|
- }
|
|
- threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure;
|
|
- threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID;
|
|
- threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID;
|
|
- break;
|
|
case OMX_IndexParamAudioInit:
|
|
case OMX_IndexParamVideoInit:
|
|
case OMX_IndexParamImageInit:
|
|
@@ -988,28 +980,40 @@ OSCL_EXPORT_REF OSCL_EXPORT_REF OMX_ERRORTYPE omx_base_component_GetParameter(
|
|
}
|
|
}
|
|
break;
|
|
- case OMX_IndexVendorCompPropTunnelFlags:
|
|
- pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure;
|
|
+ default:
|
|
+ /* additional switch statement for extended OMX_INDEXTYPE */
|
|
+ switch((OMX_INDEXVENDORTYPE) nParamIndex) {
|
|
+ case OMX_IndexParameterThreadsID:
|
|
+ if ((err = checkHeader(ComponentParameterStructure, sizeof(OMX_PARAM_BELLAGIOTHREADS_ID))) != OMX_ErrorNone) {
|
|
+ break;
|
|
+ }
|
|
+ threadID = (OMX_PARAM_BELLAGIOTHREADS_ID *)ComponentParameterStructure;
|
|
+ threadID->nThreadBufferMngtID = omx_base_component_Private->bellagioThreads->nThreadBufferMngtID;
|
|
+ threadID->nThreadMessageID = omx_base_component_Private->bellagioThreads->nThreadMessageID;
|
|
+ break;
|
|
+ case OMX_IndexVendorCompPropTunnelFlags:
|
|
+ pPropTunnelSetup = (OMX_VENDOR_PROP_TUNNELSETUPTYPE*)ComponentParameterStructure;
|
|
|
|
- if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts +
|
|
- omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts +
|
|
- omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts +
|
|
- omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) {
|
|
+ if (pPropTunnelSetup->nPortIndex >= (omx_base_component_Private->sPortTypesParam[OMX_PortDomainAudio].nPorts +
|
|
+ omx_base_component_Private->sPortTypesParam[OMX_PortDomainVideo].nPorts +
|
|
+ omx_base_component_Private->sPortTypesParam[OMX_PortDomainImage].nPorts +
|
|
+ omx_base_component_Private->sPortTypesParam[OMX_PortDomainOther].nPorts)) {
|
|
|
|
- DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n",
|
|
- __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__);
|
|
+ DEBUG(DEB_LEV_ERR,"In %s OMX_IndexVendorCompPropTunnelFlags nPortIndex=%d Line=%d \n",
|
|
+ __func__,(int)pPropTunnelSetup->nPortIndex,__LINE__);
|
|
|
|
- return OMX_ErrorBadPortIndex;
|
|
- }
|
|
+ return OMX_ErrorBadPortIndex;
|
|
+ }
|
|
|
|
- pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex];
|
|
+ pPort = omx_base_component_Private->ports[pPropTunnelSetup->nPortIndex];
|
|
|
|
- pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags;
|
|
- pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier;
|
|
- break;
|
|
- default:
|
|
- err = OMX_ErrorUnsupportedIndex;
|
|
- break;
|
|
+ pPropTunnelSetup->nTunnelSetup.nTunnelFlags = pPort->nTunnelFlags;
|
|
+ pPropTunnelSetup->nTunnelSetup.eSupplier = pPort->eBufferSupplier;
|
|
+ break;
|
|
+ default:
|
|
+ err = OMX_ErrorUnsupportedIndex;
|
|
+ break;
|
|
+ }
|
|
}
|
|
DEBUG(DEB_LEV_FUNCTION_NAME, "Out of %s for component %p\n", __func__, hComponent);
|
|
return err;
|