Home | History | Annotate | Download | only in android

Lines Matching refs:mp

42     CMediaPlayer* mp = (CMediaPlayer*) user;
43 if (!android::CallbackProtector::enterCbIfOk(mp->mCallbackProtector)) {
57 SL_LOGV("Received GenericPlayer::kEventPrepared for CMediaPlayer %p", mp);
64 object_lock_exclusive(&mp->mObject);
67 assert(mp->mAndroidObjState == ANDROID_PREPARING);
68 mp->mAndroidObjState = ANDROID_READY;
71 // Most of successful prepare completion for mp->mAVPlayer
79 if (IsInterfaceInitialized(&mp->mObject, MPH_XAPREFETCHSTATUS)) {
80 mp->mPrefetchStatus.mLevel = 0;
81 mp->mPrefetchStatus.mStatus = SL_PREFETCHSTATUS_UNDERFLOW;
82 if (!(~mp->mPrefetchStatus.mCallbackEventsMask &
84 callback = mp->mPrefetchStatus.mCallback;
85 callbackPContext = mp->mPrefetchStatus.mContext;
91 object_unlock_exclusive(&mp->mObject);
95 (*callback)(&mp->mPrefetchStatus.mItf, callbackPContext, events);
103 data1, data2, mp);
105 object_lock_exclusive(&mp->mObject);
108 for(size_t i=0 ; i < mp->mStreamInfo.mStreamInfoTable.size() ; i++) {
109 if (XA_DOMAINTYPE_VIDEO == mp->mStreamInfo.mStreamInfoTable.itemAt(i).domain) {
110 mp->mStreamInfo.mStreamInfoTable.removeAt(i);
123 StreamInfo &contInfo = mp->mStreamInfo.mStreamInfoTable.editItemAt(0);
125 ssize_t index = mp->mStreamInfo.mStreamInfoTable.add(streamInfo);
128 xaStreamEventChangeCallback callback = mp->mStreamInfo.mCallback;
129 void* callbackPContext = mp->mStreamInfo.mContext;
131 object_unlock_exclusive(&mp->mObject);
136 (*callback)(&mp->mStreamInfo.mItf, XA_STREAMCBEVENT_PROPERTYCHANGE /*eventId*/,
141 SLresult res = EnqueueAsyncCallback_piipp(mp, callback,
142 /*p1*/ &mp->mStreamInfo.mItf,
149 callback, &mp->mStreamInfo.mItf, callbackPContext);
156 SL_LOGV("Received AVPlayer::kEventEndOfStream for CMediaPlayer %p", mp);
158 object_lock_exclusive(&mp->mObject);
163 if (mp->mPlay.mEventFlags & XA_PLAYEVENT_HEADATEND) {
164 playCallback = mp->mPlay.mCallback;
165 playContext = mp->mPlay.mContext;
167 mp->mPlay.mState = XA_PLAYSTATE_PAUSED;
168 object_unlock_exclusive(&mp->mObject);
173 (*playCallback)(&mp->mPlay.mItf, playContext, XA_PLAYEVENT_HEADATEND);
175 SLresult res = EnqueueAsyncCallback_ppi(mp, playCallback, &mp->mPlay.mItf, playContext,
179 &mp->mPlay.mItf, playContext);
187 object_lock_exclusive(&mp->mObject);
188 if (UNKNOWN_NUMCHANNELS == mp->mNumChannels && UNKNOWN_NUMCHANNELS != data1) {
189 mp->mNumChannels = data1;
190 android_Player_volumeUpdate(mp);
192 object_unlock_exclusive(&mp->mObject);
198 if (!IsInterfaceInitialized(&mp->mObject, MPH_XAPREFETCHSTATUS)) {
205 interface_lock_exclusive(&mp->mPrefetchStatus);
206 if (mp->mPrefetchStatus.mCallbackEventsMask & SL_PREFETCHEVENT_FILLLEVELCHANGE) {
207 callback = mp->mPrefetchStatus.mCallback;
208 callbackPContext = mp->mPrefetchStatus.mContext;
210 mp->mPrefetchStatus.mLevel = (SLpermille)data1;
211 interface_unlock_exclusive(&mp->mPrefetchStatus);
215 (*callback)(&mp->mPrefetchStatus.mItf, callbackPContext,
223 if (!IsInterfaceInitialized(&mp->mObject, MPH_XAPREFETCHSTATUS)) {
230 object_lock_exclusive(&mp->mObject);
231 if (mp->mPrefetchStatus.mCallbackEventsMask & SL_PREFETCHEVENT_STATUSCHANGE) {
232 callback = mp->mPrefetchStatus.mCallback;
233 callbackPContext = mp->mPrefetchStatus.mContext;
236 mp->mPrefetchStatus.mStatus = SL_PREFETCHSTATUS_SUFFICIENTDATA;
238 mp->mPrefetchStatus.mStatus = SL_PREFETCHSTATUS_UNDERFLOW;
240 object_unlock_exclusive(&mp->mObject);
244 (*callback)(&mp->mPrefetchStatus.mItf, callbackPContext, SL_PREFETCHEVENT_STATUSCHANGE);
252 interface_lock_shared(&mp->mPlay);
253 slPlayCallback callback = mp->mPlay.mCallback;
254 void* callbackPContext = mp->mPlay.mContext;
255 interface_unlock_shared(&mp->mPlay);
258 (*callback)(&mp->mPlay.mItf, callbackPContext, (SLuint32) data1); // SL_PLAYEVENT_HEAD*
270 object_lock_exclusive(&mp->mObject);
271 if (IsInterfaceInitialized(&mp->mObject, MPH_XAPREFETCHSTATUS)) {
272 mp->mPrefetchStatus.mLevel = 0;
273 mp->mPrefetchStatus.mStatus = SL_PREFETCHSTATUS_UNDERFLOW;
274 if (!(~mp->mPrefetchStatus.mCallbackEventsMask &
276 callback = mp->mPrefetchStatus.mCallback;
277 callbackPContext = mp->mPrefetchStatus.mContext;
280 object_unlock_exclusive(&mp->mObject);
287 (*callback)(&mp->mPrefetchStatus.mItf, callbackPContext,
299 mp->mCallbackProtector->exitCb();
304 XAresult android_Player_checkSourceSink(CMediaPlayer *mp) {
308 const SLDataSource *pSrc = &mp->mDataSource.u.mSource;
309 const SLDataSink *pAudioSnk = &mp->mAudioSink.u.mSink;
364 XAresult android_Player_create(CMediaPlayer *mp) {
369 const SLDataSource *pDataSrc = &mp->mDataSource.u.mSource;
371 // const SLDataSink *pAudioSnk = &mp->mAudioSink.u.mSink;
373 // const SLDataSink *pVideoSnk = &mp->mImageVideoSink.u.mSink;
379 mp->mAndroidObjType = AUDIOVIDEOPLAYER_FROM_TS_ANDROIDBUFFERQUEUE;
383 mp->mAndroidObjType = AUDIOVIDEOPLAYER_FROM_URIFD;
387 mp->mAndroidObjType = INVALID_TYPE;
394 mp->mAndroidObjState = ANDROID_UNINITIALIZED;
395 mp->mStreamType = ANDROID_DEFAULT_OUTPUT_STREAM_TYPE;
396 mp->mSessionId = (audio_session_t) android::AudioSystem::newAudioUniqueId(
400 // android::AudioSystem::acquireAudioSessionId(mp->mSessionId);
402 mp->mCallbackProtector = new android::CallbackProtector();
410 XAresult android_Player_realize(CMediaPlayer *mp, SLboolean async) {
411 SL_LOGV("android_Player_realize_l(%p)", mp);
415 ap_params.sessionId = mp->mSessionId;
416 ap_params.streamType = mp->mStreamType;
418 switch (mp->mAndroidObjType) {
420 mp->mAVPlayer = new android::StreamPlayer(&ap_params, true /*hasVideo*/,
421 &mp->mAndroidBufferQueue, mp->mCallbackProtector);
422 mp->mAVPlayer->init(player_handleMediaPlayerEventNotifications, (void*)mp);
426 mp->mAVPlayer = new android::LocAVPlayer(&ap_params, true /*hasVideo*/);
427 mp->mAVPlayer->init(player_handleMediaPlayerEventNotifications, (void*)mp);
428 switch (mp->mDataSource.mLocator.mLocatorType) {
430 ((android::LocAVPlayer*)mp->mAVPlayer.get())->setDataSource(
431 (const char*)mp->mDataSource.mLocator.mURI.URI);
434 int64_t offset = (int64_t)mp->mDataSource.mLocator.mFD.offset;
435 ((android::LocAVPlayer*)mp->mAVPlayer.get())->setDataSource(
436 (int)mp->mDataSource.mLocator.mFD.fd,
439 (int64_t)mp->mDataSource.mLocator.mFD.length);
444 mp->mDataSource.mLocator.mLocatorType);
460 mp->mImageVideoSink.mLocator.mLocatorType) {
462 mp->mImageVideoSink.mLocator.mNativeDisplay.hWindow;
465 result = android_Player_setNativeWindow(mp, nativeWindow);
474 XAresult android_Player_preDestroy(CMediaPlayer *mp) {
475 SL_LOGV("android_Player_preDestroy(%p)", mp);
478 object_unlock_exclusive(&mp->mObject);
479 if (mp->mCallbackProtector != 0) {
480 mp->mCallbackProtector->requestCbExitAndWait();
482 object_lock_exclusive(&mp->mObject);
484 if (mp->mAVPlayer != 0) {
485 mp->mAVPlayer->preDestroy();
487 SL_LOGV("android_Player_preDestroy(%p) after mAVPlayer->preDestroy()", mp);
493 XAresult android_Player_destroy(CMediaPlayer *mp) {
494 SL_LOGV("android_Player_destroy(%p)", mp);
496 mp->mAVPlayer.clear();
499 // android::AudioSystem::releaseAudioSessionId(mp->mSessionId);
501 mp->mCallbackProtector.clear();
504 mp->mAVPlayer.~sp();
505 mp->mCallbackProtector.~sp();
511 void android_Player_usePlayEventMask(CMediaPlayer *mp) {
512 if (mp->mAVPlayer != 0) {
513 IPlay *pPlayItf = &mp->mPlay;
514 mp->mAVPlayer->setPlayEvents((int32_t) pPlayItf->mEventFlags,
579 * pre-condition: mp != NULL
581 void android_Player_volumeUpdate(CMediaPlayer* mp)
583 android::GenericPlayer* avp = mp->mAVPlayer.get();
587 android_player_volumeUpdate(volumes, &mp->mVolume, mp->mNumChannels, 1.0f, NULL);
656 * pre-condition: mp != NULL
658 XAresult android_Player_seek(CMediaPlayer *mp, SLmillisecond posMsec) {
660 switch (mp->mAndroidObjType) {
662 if (mp->mAVPlayer !=0) {
663 mp->mAVPlayer->seek(posMsec);
676 * pre-condition: mp != NULL
678 XAresult android_Player_loop(CMediaPlayer *mp, SLboolean loopEnable) {
680 switch (mp->mAndroidObjType) {
682 if (mp->mAVPlayer !=0) {
683 mp->mAVPlayer->loop(loopEnable);
696 void android_Player_androidBufferQueue_clear_l(CMediaPlayer *mp) {
697 if ((mp->mAndroidObjType == AUDIOVIDEOPLAYER_FROM_TS_ANDROIDBUFFERQUEUE)
698 && (mp->mAVPlayer != 0)) {
699 android::StreamPlayer* splr = static_cast<android::StreamPlayer*>(mp->mAVPlayer.get());
705 void android_Player_androidBufferQueue_onRefilled_l(CMediaPlayer *mp) {
706 if ((mp->mAndroidObjType == AUDIOVIDEOPLAYER_FROM_TS_ANDROIDBUFFERQUEUE)
707 && (mp->mAVPlayer != 0)) {
708 android::StreamPlayer* splr = static_cast<android::StreamPlayer*>(mp->mAVPlayer.get());
716 * mp != NULL
717 * mp->mAVPlayer != 0 (player is realized)
720 SLresult android_Player_setNativeWindow(CMediaPlayer *mp, ANativeWindow *nativeWindow)
722 assert(mp != NULL);
723 assert(mp->mAVPlayer != 0);
745 mp->mAVPlayer->setVideoSurfaceTexture(nativeSurfaceTexture);