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