1527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten/*
2527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * Copyright (C) 2010 The Android Open Source Project
3527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten *
4527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * Licensed under the Apache License, Version 2.0 (the "License");
5527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * you may not use this file except in compliance with the License.
6527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * You may obtain a copy of the License at
7527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten *
8527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten *      http://www.apache.org/licenses/LICENSE-2.0
9527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten *
10527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * Unless required by applicable law or agreed to in writing, software
11527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * distributed under the License is distributed on an "AS IS" BASIS,
12527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * See the License for the specific language governing permissions and
14527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten * limitations under the License.
15527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten */
16527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
17527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten#include "sles_allinclusive.h"
18527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
19527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten/** \brief xaCreateEngine Function */
20527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
21527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn KastenXA_API XAresult XAAPIENTRY xaCreateEngine(XAObjectItf *pEngine, XAuint32 numOptions,
22527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten        const XAEngineOption *pEngineOptions, XAuint32 numInterfaces,
23527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten        const XAInterfaceID *pInterfaceIds, const XAboolean *pInterfaceRequired)
24527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten{
25527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_ENTER_GLOBAL
26527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
27527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    result = liCreateEngine((SLObjectItf *) pEngine, numOptions,
28527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten            (const SLEngineOption *) pEngineOptions, numInterfaces,
29527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten            (const SLInterfaceID *) pInterfaceIds, (const SLboolean *) pInterfaceRequired,
30527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten            objectIDtoClass(XA_OBJECTID_ENGINE));
31527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
32527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_LEAVE_GLOBAL
33527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten}
34527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
35527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
36527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten/** \brief xaQueryNumSupportedEngineInterfaces Function */
37527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
38527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn KastenXA_API XAresult XAAPIENTRY xaQueryNumSupportedEngineInterfaces(XAuint32 *pNumSupportedInterfaces)
39527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten{
40527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_ENTER_GLOBAL
41527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
42527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    result = liQueryNumSupportedInterfaces(pNumSupportedInterfaces,
43527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten            objectIDtoClass(XA_OBJECTID_ENGINE));
44527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
45527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_LEAVE_GLOBAL
46527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten}
47527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
48527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
49527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten/** \brief xaQuerySupportedEngineInterfaces Function */
50527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
51527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn KastenXA_API XAresult XAAPIENTRY xaQuerySupportedEngineInterfaces(XAuint32 index,
52527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten        XAInterfaceID *pInterfaceId)
53527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten{
54527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_ENTER_GLOBAL
55527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
56527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    result = liQuerySupportedInterfaces(index, (SLInterfaceID *) pInterfaceId,
57527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten            objectIDtoClass(XA_OBJECTID_ENGINE));
58527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten
59527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten    XA_LEAVE_GLOBAL
60527f8ca99f2938d6569fc25dcf3256985a54dec6Glenn Kasten}
61