khronosfws/openmax_al/src/common/xaobjects.h
author hgs
Fri, 11 Jun 2010 19:59:23 -0500
changeset 25 6f7ceef7b1d1
parent 19 4a629bc82c5e
permissions -rw-r--r--
201023

/*
 * 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: Entry Point Functions to Create AL Objects
 *
 */
/*All global definitions and declarations here */

#ifndef XAOBJECTS_H
#define XAOBJECTS_H

#include "openmaxalwrapper.h"
#include "xaframeworkmgr.h"
#include "xaglobals.h"
#include "xacapabilitiesmgr.h"

/**
 * GLOBAL METHODS
 */

/*
 * Engine
 */
XAresult XAEngineImpl_Create(XAObjectItf *pEngine, XAuint32 numOptions,
        const XAEngineOption *pEngineOptions, XAuint32 numInterfaces,
        const XAInterfaceID *pInterfaceIds,
        const XAboolean *pInterfaceRequired);

XAresult XAEngineImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAEngineImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Media Player
 */
XAresult XAMediaPlayerImpl_CreateMediaPlayer(FrameworkMap* mapper,
        XACapabilities* capabilities, XAObjectItf *pPlayer,
        XADataSource *pDataSrc, XADataSource *pBankSrc,
        XADataSink *pAudioSnk, XADataSink *pImageVideoSnk,
        XADataSink *pVibra, XADataSink *pLEDArray, XAuint32 numInterfaces,
        const XAInterfaceID *pInterfaceIds,
        const XAboolean *pInterfaceRequired);

XAresult XAMediaPlayerImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAMediaPlayerImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Metadata Extractor
 */
XAresult XAMetadataExtractorImpl_Create(FrameworkMap* mapper,
        XACapabilities* capabilities, XAObjectItf *pMetadataExtractor,
        XADataSource *pDataSource, XAuint32 numInterfaces,
        const XAInterfaceID *pInterfaceIds,
        const XAboolean *pInterfaceRequired);

XAresult XAMetadataExtractorImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAMetadataExtractorImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Output Mix
 */
XAresult XAOMixImpl_CreateOutputMix(FrameworkMap* mapper,
        XACapabilities* capabilities, XAObjectItf *pMix,
        XAuint32 numInterfaces, const XAInterfaceID *pInterfaceIds,
        const XAboolean *pInterfaceRequired);

XAresult XAOMixImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAOMixImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Media Recorder
 */
XAresult XAMediaRecorderImpl_CreateMediaRecorder(FrameworkMap* mapper,
        XACapabilities* capabilities, XAObjectItf* pRecorder,
        XADataSource* pAudioSrc, XADataSource* pImageVideoSrc,
        XADataSink* pDataSnk, XAuint32 numInterfaces,
        const XAInterfaceID *pInterfaceIds,
        const XAboolean *pInterfaceRequired);

XAresult XAMediaRecorderImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAMediaRecorderImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Camera Device
 */
XAresult XACameraDeviceImpl_CreateCameraDevice(FrameworkMap* mapper,
        XACapabilities* capabilities, XAObjectItf* pDevice,
        XAuint32 deviceID, XAuint32 numInterfaces,
        const XAInterfaceID * pInterfaceIds,
        const XAboolean * pInterfaceRequired);

XAresult XACameraDeviceImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XACameraDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Radio Device
 */
XAresult XARadioDeviceImpl_CreateRadioDevice( /*FrameworkMap* mapper,*/
XAObjectItf* pDevice, XAuint32 numInterfaces,
        const XAInterfaceID * pInterfaceIds,
        const XAboolean * pInterfaceRequired);

XAresult XARadioDeviceImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XARadioDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * Vibra Device
 */
XAresult XAVibraDeviceImpl_CreateVibraDevice(FrameworkMap* mapper,
        XAObjectItf* pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
        const XAInterfaceID * pInterfaceIds,
        const XAboolean * pInterfaceRequired);

XAresult XAVibraDeviceImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XAVibraDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

/*
 * LED Array
 */
XAresult XALEDArrayDeviceImpl_CreateLEDArrayDevice(FrameworkMap* mapper,
        XAObjectItf* pDevice, XAuint32 deviceID, XAuint32 numInterfaces,
        const XAInterfaceID * pInterfaceIds,
        const XAboolean * pInterfaceRequired);

XAresult XALEDArrayDeviceImpl_QueryNumSupportedInterfaces(
        XAuint32 *pNumSupportedInterfaces);

XAresult XALEDArrayDeviceImpl_QuerySupportedInterfaces(XAuint32 index,
        XAInterfaceID *pInterfaceId);

#endif /*XAOBJECTS_H */