MediaPlayer_to_android.h revision f271eea20f9fff6c101213b34652399f457bcd50
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 ****************************/
29eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
30eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
31eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
32eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Playback control and events
33eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
34f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi/**
35f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi * pre-condition: avp != NULL
36f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Trivi */
37f271eea20f9fff6c101213b34652399f457bcd50Jean-Michel Triviextern XAresult android_Player_setPlayState(android::AVPlayer *avp, SLuint32 playState,
38eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi        AndroidObject_state objState);
39eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
40eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
41eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
42eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
43eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Buffer Queue events
44eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
45eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
46eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/**************************************************************************************************
47eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi * Android Buffer Queue
48eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi ****************************/
49eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi
50eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/* must be called with a lock on mp->mThis */
51eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern void android_Player_androidBufferQueue_registerCallback_l(CMediaPlayer *mp);
52eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi/* must be called with a lock on mp->mThis */
53eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Triviextern void android_Player_androidBufferQueue_enqueue_l(CMediaPlayer *mp,
54eae4df541ba1d46f65d37e959baf2127aa632c93Jean-Michel Trivi        SLuint32 bufferId, SLuint32 length, SLAbufferQueueEvent event, void *pData);
55