MediaPlayer_to_android.h revision 0e47a0657162bbff48886ea2f5c68d9edb607768
1eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/*
2eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Copyright (C) 2010 The Android Open Source Project
3eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi *
4eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Licensed under the Apache License, Version 2.0 (the "License");
5eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * you may not use this file except in compliance with the License.
6eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * You may obtain a copy of the License at
7eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi *
8eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi *      http://www.apache.org/licenses/LICENSE-2.0
9eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi *
10eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Unless required by applicable law or agreed to in writing, software
11eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * distributed under the License is distributed on an "AS IS" BASIS,
12eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * See the License for the specific language governing permissions and
14eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * limitations under the License.
15eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi */
16eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
17eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
18eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Player lifecycle
19eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
20eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
21eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern XAresult android_Player_create(CMediaPlayer *mp);
22eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
23eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern XAresult android_Player_realize(CMediaPlayer *mp, SLboolean async);
24eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
25eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
26eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
27eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Configuration
28eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
290e47a0657162bbff48886ea2f5c68d9edb607768Jean-Michel Trivi/**
300e47a0657162bbff48886ea2f5c68d9edb607768Jean-Michel Trivi * pre-conditions: avp != NULL, surface != NULL
310e47a0657162bbff48886ea2f5c68d9edb607768Jean-Michel Trivi */
320e47a0657162bbff48886ea2f5c68d9edb607768Jean-Michel Triviextern XAresult android_Player_setVideoSurface(android::AVPlayer *avp, void* surface);
33eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
34eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
35eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Playback control and events
36eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
37f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi/**
38f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi * pre-condition: avp != NULL
39f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi */
40f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Triviextern XAresult android_Player_setPlayState(android::AVPlayer *avp, SLuint32 playState,
41581a0f550f15f6fc22199cb85775a220f668b480Jean-Michel Trivi        AndroidObject_state* pObjState);
42eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
43eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
44eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
45eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
46eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Buffer Queue events
47eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
48eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
49eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
50eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Android Buffer Queue
51eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
52eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
53eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/* must be called with a lock on mp->mThis */
54eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern void android_Player_androidBufferQueue_registerCallback_l(CMediaPlayer *mp);
55eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/* must be called with a lock on mp->mThis */
56eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern void android_Player_androidBufferQueue_enqueue_l(CMediaPlayer *mp,
57eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi        SLuint32 bufferId, SLuint32 length, SLAbufferQueueEvent event, void *pData);
58