--- a/khronosfws/openmax_al/src/mmf_adaptation/xamediaplayeradaptctxmmf.c Tue Aug 31 15:43:02 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,264 +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: Media Player Adapt Code MMF
- *
- */
-
-#include <assert.h>
-#include <stdlib.h>
-#include "xamediaplayeradaptctxmmf.h"
-#include "xaadaptationmmf.h"
-#include "xaobjectitf.h"
-#include "cmmfbackendengine.h"
-#include "cmetadatautilityitf.h"
-
-/*
- * XAMediaPlayerAdaptationMMFCtx* XAMediaPlayerAdapt_Create()
- * Allocates memory for Media Player Adaptation Context and makes 1st phase initialization
- * @param XADataSource *pDataSrc - pointer to OMX-AL data source
- * @param XADataSource *pBankSrc - pointer to instrument bank structure in Mobile DLS, if NULL default will be used.
- * @param XADataSink *pAudioSnk - pointer to OMX-AL audio sink definition
- * @param XADataSink *pImageVideoSnk - pointer to OMX-AL image and video sink definition
- * @returns XAMediaPlayerAdaptationMMFCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaPlayerAdaptMMF_Create(XADataSource *pDataSrc,
- XADataSource *pBankSrc, XADataSink *pAudioSnk,
- XADataSink *pImageVideoSnk, XADataSink *pVibra, XADataSink *pLEDArray)
- {
- XAMediaPlayerAdaptationMMFCtx *pSelf = NULL;
- XAuint32 locType = 0;
- XADataLocator_IODevice *ioDevice;
- XAresult res;
- DEBUG_API("->XAMediaPlayerAdaptMMF_Create");
-
- pSelf = calloc(1, sizeof(XAMediaPlayerAdaptationMMFCtx));
- if (pSelf)
- {
- if (pDataSrc)
- {
- locType = *((XAuint32*) (pDataSrc->pLocator));
- if (locType == XA_DATALOCATOR_IODEVICE)
- {
- ioDevice = (XADataLocator_IODevice*) (pDataSrc->pLocator);
- if (ioDevice->deviceType == XA_IODEVICE_RADIO)
- {
- return XAMediaPlayerAdaptMMF_CreateRadio(pSelf, pDataSrc,
- pBankSrc, pAudioSnk, pImageVideoSnk, pVibra,
- pLEDArray);
- }
- }
- }
- if (XAAdaptationBaseMMF_Init(&(pSelf->baseObj),
- XAMediaPlayerAdaptation) != XA_RESULT_SUCCESS)
- {
- DEBUG_ERR("Failed to init base context!!!");
- free(pSelf);
- pSelf = NULL;
- }
- else
- {
- pSelf->isForRadio = XA_BOOLEAN_FALSE;
- pSelf->baseObj.baseObj.fwtype = FWMgrFWMMF;
- pSelf->xaSource = pDataSrc;
- pSelf->xaBankSrc = pBankSrc;
- pSelf->xaAudioSink = pAudioSnk;
- pSelf->xaVideoSink = pImageVideoSnk;
- pSelf->xaLEDArray = pLEDArray;
- pSelf->xaVibra = pVibra;
- pSelf->curMirror = XA_VIDEOMIRROR_NONE;
- pSelf->curRotation = 0;
- pSelf->isobjsrc = XA_BOOLEAN_FALSE;
- pSelf->cameraSinkSynced = XA_BOOLEAN_FALSE;
- pSelf->rateprops = XA_RATEPROP_SMOOTHVIDEO | XA_RATEPROP_NOPITCHCORAUDIO;
- pSelf->playrate = 1000;
- }
- }
- else
- {
- DEBUG_ERR("Failed to create XAMediaPlayerAdaptationMMFCtx !!!");
- return NULL;
- }
-
- if (pSelf)
- {
- res = mmf_backend_engine_init(&(pSelf->mmfContext));
- if (!(pSelf->mmfContext) || (res != XA_RESULT_SUCCESS))
- {
- /* TODO Check to make sure there is no undeleted MMF objects here*/
- DEBUG_ERR("Failed to init mmf context!!!");
- free(pSelf);
- pSelf = NULL;
- return NULL;
- }
- res = mmf_set_play_adapt_context(pSelf->mmfContext,
- &(pSelf->baseObj));
- if (pDataSrc)
- {
- pSelf->mmfMetadataContext
- = mmf_metadata_utility_init(
- (char *) (((XADataLocator_URI*) (pDataSrc->pLocator))->URI));
- if (!pSelf->mmfMetadataContext)
- {
- DEBUG_ERR("Failed to init mmf metadata context!!!");
- pSelf->mmfMetadataContext = NULL;
- }
- }
- else
- {
- DEBUG_ERR("Failed to create XAMediaPlayerAdaptationMMFCtx !!!");
- return NULL;
- }
- }
-
- DEBUG_API("<-XAMediaPlayerAdaptMMF_Create");
- return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
- }
-
-/*
- * XAMediaPlayerAdaptationMMFCtx* XAMediaPlayerAdapt_CreateRadio()
-
- * @returns XAMediaPlayerAdaptationMMFCtx* - Pointer to created context, NULL if error occurs.
- */
-XAAdaptationBaseCtx* XAMediaPlayerAdaptMMF_CreateRadio(
- XAMediaPlayerAdaptationMMFCtx *pSelf, XADataSource *pDataSrc,
- XADataSource *pBankSrc, XADataSink *pAudioSnk,
- XADataSink *pImageVideoSnk, XADataSink *pVibra, XADataSink *pLEDArray)
- {
- XAresult res;
- DEBUG_API("->XAMediaPlayerAdaptMMF_CreateRadio");
-
- res = XAAdaptationBaseMMF_Init(&(pSelf->baseObj), XARadioAdaptation);
- if (res != XA_RESULT_SUCCESS)
- {
- DEBUG_ERR("Failed to init base context!!!");
- free(pSelf);
- pSelf = NULL;
- return NULL;
- }
-
- pSelf->isForRadio = XA_BOOLEAN_TRUE;
- pSelf->baseObj.baseObj.fwtype = FWMgrFWMMF;
- pSelf->xaSource = pDataSrc;
- pSelf->xaBankSrc = pBankSrc;
- pSelf->xaAudioSink = pAudioSnk;
- pSelf->xaVideoSink = pImageVideoSnk;
- pSelf->xaLEDArray = pLEDArray;
- pSelf->xaVibra = pVibra;
- pSelf->curMirror = XA_VIDEOMIRROR_NONE;
- pSelf->curRotation = 0;
- pSelf->isobjsrc = XA_BOOLEAN_FALSE;
- pSelf->cameraSinkSynced = XA_BOOLEAN_FALSE;
- /*pSelf->waitData = XA_BOOLEAN_FALSE;*/
-
- res = mmf_backend_engine_init(&(pSelf->mmfContext));
- if (!(pSelf->mmfContext) || (res != XA_RESULT_SUCCESS))
- {
- /* TODO Check to make sure there is no undeleted MMF objects here*/
- DEBUG_ERR("Failed to init mmf context!!!");
- free(pSelf);
- pSelf = NULL;
- return NULL;
- }
- DEBUG_API("<-XAMediaPlayerAdaptMMF_Create");
- return (XAAdaptationBaseCtx*) (&pSelf->baseObj.baseObj);
- }
-
-/*
- * XAresult XAMediaPlayerAdaptMMF_PostInit()
- * 2nd phase initialization of Media Player Adaptation Context
- * @param XAMediaPlayerAdaptationMMFCtx* ctx - pointer to Media Player adaptation context
- * @return XAresult - Success value
- */
-XAresult XAMediaPlayerAdaptMMF_PostInit(XAAdaptationMMFCtx* bCtx)
- {
- XAresult ret = XA_RESULT_PRECONDITIONS_VIOLATED;
- XAMediaPlayerAdaptationMMFCtx *pSelf = NULL;
- if(!bCtx)
- {
- ret = XA_RESULT_PARAMETER_INVALID;
- return ret;
- }
-
- pSelf = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
- DEBUG_API("->XAMediaPlayerAdaptMMF_PostInit");
-
- ret = XAAdaptationBaseMMF_PostInit(bCtx);
- if(ret == XA_RESULT_SUCCESS)
- {
- if (pSelf->isForRadio)
- {
- DEBUG_API("<-XAMediaPlayerAdaptMMF_PostInit");
- return XA_RESULT_SUCCESS;
- }
-
- if (pSelf->mmfContext)
- {
- XADataLocator_URI* tempUri =
- (XADataLocator_URI*) (pSelf->xaSource->pLocator);
- XADataFormat_MIME* tempFormat =
- (XADataFormat_MIME*) (pSelf->xaSource->pFormat);
- ret = XA_RESULT_SUCCESS;
- if (pSelf->xaVideoSink)
- {
- ret = mmf_setup_native_display(pSelf->mmfContext,
- pSelf->xaVideoSink);
- }
- if (ret == XA_RESULT_SUCCESS)
- {
- ret = mmf_set_player_uri(pSelf->mmfContext,
- (char *) (tempUri->URI), tempFormat->containerType);
- }
- }
- }
- DEBUG_API("<-XAMediaPlayerAdaptMMF_PostInit");
- return ret;
- }
-
-/*
- * void XAMediaPlayerAdaptMMF_Destroy( XAMediaPlayerAdaptationMMFCtx* ctx )
- * Destroys Media Player Adaptation Context
- * @param ctx - Media Player Adaptation context to be destroyed
- */
-void XAMediaPlayerAdaptMMF_Destroy(XAAdaptationMMFCtx* bCtx)
- {
- XAMediaPlayerAdaptationMMFCtx* ctx = NULL;
-
- DEBUG_API("->XAMediaPlayerAdaptMMF_Destroy");
- if (bCtx == NULL)
- {
- DEBUG_ERR("Invalid parameter!!");
- DEBUG_API("<-XAMediaPlayerAdaptMMF_Destroy");
- return;
- }
- ctx = (XAMediaPlayerAdaptationMMFCtx*) bCtx;
-
- if (ctx->mmfContext)
- {
- mmf_backend_engine_deinit(ctx->mmfContext);
- }
-
- if (ctx->mmfMetadataContext)
- {
- mmf_metadata_utility_destroy(ctx->mmfMetadataContext);
- }
-
- XAAdaptationBaseMMF_Free(bCtx);
-
- free(ctx);
- ctx = NULL;
-
- DEBUG_API("<-XAMediaPlayerAdaptMMF_Destroy");
- }
-