diff -r 095bea5f582e -r 0ac9a5310753 khronosfws/openmax_al/src/common/xastreaminformationitf.c --- a/khronosfws/openmax_al/src/common/xastreaminformationitf.c Tue Aug 31 15:43:02 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,326 +0,0 @@ -/* - * Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies). - * All rights reserved. - * This component and the accompanying materials are made available - * under the terms of "Eclipse Public License v1.0" - * which accompanies this distribution, and is available - * at the URL "http://www.eclipse.org/legal/epl-v10.html". - * - * Initial Contributors: - * Nokia Corporation - initial contribution. - * - * Contributors: - * - * Description: Stream Information Interface Implementation - * - */ - -#include - -#include "xastreaminformationitf.h" - -#include "xastreaminformationitfadaptationmmf.h" - -/* XAStreamInformationItfImpl* GetImpl - * Description: Validate interface pointer and cast it to implementation pointer. - */ -static XAStreamInformationItfImpl* GetImpl(XAStreamInformationItf self) - { - if (self) - { - XAStreamInformationItfImpl* impl = - (XAStreamInformationItfImpl*) (*self); - if (impl && impl == impl->self) - { - return impl; - } - } - return NULL; - } - -/** - * Base interface XAPlayItf implementation - */ - -XAresult XAStreamInformationItfImpl_QueryMediaContainerInformation( - XAStreamInformationItf self, XAMediaContainerInformation * info) - { - XAresult ret = XA_RESULT_SUCCESS; - XAStreamInformationItfImpl* impl = GetImpl(self); - DEBUG_API("->XAStreamInformationItfImpl_QueryMediaContainerInformation"); - if (!impl || !info || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWMMF) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_QueryMediaContainerInformation"); - return ret; - } - ret = XAStreamInformationItfAdaptMMF_QueryMediaContainerInformation( - impl->adapCtx, &(info->containerType), - &(info->mediaDuration), &(info->numStreams)); - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - - DEBUG_API("-XAStreamInformationItfImpl_QueryStreamType"); - if (!impl || !domain || (streamIndex == 0) || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWMMF) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamType"); - return ret; - } - - ret = XAStreamInformationItfAdaptMMF_QueryStreamType(impl->adapCtx, - streamIndex, domain); - - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - DEBUG_API("-XAStreamInformationItfImpl_QueryStreamInformation"); - if (!impl || !info || (streamIndex == 0) || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWMMF) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamInformation"); - return ret; - } - - ret = XAStreamInformationItfAdaptMMF_QueryStreamInformation( - impl->adapCtx, streamIndex, info); - - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - - DEBUG_API("-XAStreamInformationItfImpl_QueryStreamName"); - if (!impl || (streamIndex == 0) || !pNameSize || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWMMF) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_QueryStreamName"); - return ret; - } - - ret = XAStreamInformationItfAdaptMMF_QueryStreamName(impl->adapCtx, - streamIndex, pNameSize, pName); - - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - DEBUG_API("-XAStreamInformationItfImpl_RegisterStreamChangeCallback"); - if (!impl) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-callback = callback; - impl->cbcontext = pContext; - impl->cbPtrToSelf = self; - - DEBUG_API("-XAStreamInformationItfImpl_QueryActiveStreams"); - if (!impl || !numStreams || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWGST) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_QueryActiveStreams"); - return ret; - } - - ret = XAStreamInformationItfAdaptMMF_QueryActiveStreams( - impl->adapCtx, numStreams, activeStreams); - - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - - DEBUG_API("-XAStreamInformationItfImpl_SetActiveStream"); - if (!impl || !impl->adapCtx) - { - /* invalid parameter */ - DEBUG_ERR("XA_RESULT_PARAMETER_INVALID"); - DEBUG_API("-adapCtx->fwtype == FWMgrFWMMF) - { - ret = XAAdaptationBase_ThreadEntry(impl->adapCtx); - if (ret == XA_RESULT_PARAMETER_INVALID) - { - DEBUG_API("<-XAStreamInformationItfImpl_SetActiveStream"); - return ret; - } - - ret = XAStreamInformationItfAdaptMMF_SetActiveStream(impl->adapCtx, - streamNum, active, commitNow); - - XAAdaptationBase_ThreadExit(impl->adapCtx); - } - - DEBUG_API("-XAStreamInformationItfImpl_Create"); - self = (XAStreamInformationItfImpl*) calloc(1, - sizeof(XAStreamInformationItfImpl)); - if (self) - { - /* init itf default implementation */ - self->itf.QueryMediaContainerInformation - = XAStreamInformationItfImpl_QueryMediaContainerInformation; - self->itf.QueryStreamType - = XAStreamInformationItfImpl_QueryStreamType; - self->itf.QueryStreamInformation - = XAStreamInformationItfImpl_QueryStreamInformation; - self->itf.QueryStreamName - = XAStreamInformationItfImpl_QueryStreamName; - self->itf.RegisterStreamChangeCallback - = XAStreamInformationItfImpl_RegisterStreamChangeCallback; - self->itf.QueryActiveStreams - = XAStreamInformationItfImpl_QueryActiveStreams; - self->itf.SetActiveStream - = XAStreamInformationItfImpl_SetActiveStream; - - /* init variables */ - self->cbPtrToSelf = NULL; - self->callback = NULL; - self->cbcontext = NULL; - self->adapCtx = adapCtx; - - self->self = self; - } - - DEBUG_API("<-XAStreamInformationItfImpl_Create"); - return self; - } - -/* void XAStreamInformationItfImpl_Free(XAStreamInformationItfImpl* self) - * Description: Free all resources reserved at XAStreamInformationItfImpl_Create - */ -void XAStreamInformationItfImpl_Free(XAStreamInformationItfImpl* self) - { - DEBUG_API("->XAStreamInformationItfImpl_Free"); - if(self) - { - assert(self==self->self); - free(self); - } - DEBUG_API("<-XAStreamInformationItfImpl_Free"); - } -