//------------------------------------------------------------------------------------------------- // fire up an update if any of the status fields has changed // precondition: mMutex locked void JetPlayer::fireUpdateOnStatusChange() { if ( (mJetStatus.currentUserID != mPreviousJetStatus.currentUserID) ||(mJetStatus.segmentRepeatCount != mPreviousJetStatus.segmentRepeatCount) ) { ALOGD("JetPlayer::JET_USERID_UPDATE"); if (mEventCallback) { mEventCallback( JetPlayer::JET_USERID_UPDATE, mJetStatus.currentUserID, mJetStatus.segmentRepeatCount, mJavaJetPlayerRef); } mPreviousJetStatus.currentUserID = mJetStatus.currentUserID; mPreviousJetStatus.segmentRepeatCount = mJetStatus.segmentRepeatCount; } if (mJetStatus.numQueuedSegments != mPreviousJetStatus.numQueuedSegments) { if (mEventCallback) { ALOGD("JET_NUMQUEUEDSEGMENT_UPDATE"); mEventCallback( JetPlayer::JET_NUMQUEUEDSEGMENT_UPDATE, mJetStatus.numQueuedSegments, -1, mJavaJetPlayerRef); } mPreviousJetStatus.numQueuedSegments = mJetStatus.numQueuedSegments; } if (mJetStatus.paused != mPreviousJetStatus.paused) { if (mEventCallback) { ALOGD("JET_PAUSE_UPDATE"); mEventCallback(JetPlayer::JET_PAUSE_UPDATE, mJetStatus.paused, -1, mJavaJetPlayerRef); } mPreviousJetStatus.paused = mJetStatus.paused; } }
//------------------------------------------------------------------------------------------------- // fire up all the JET events in the JET engine queue (until the queue is empty) // precondition: mMutex locked void JetPlayer::fireEventsFromJetQueue() { if(!mEventCallback) { // no callback, just empty the event queue while (JET_GetEvent(mEasData, NULL, NULL)) { } return; } EAS_U32 rawEvent; while (JET_GetEvent(mEasData, &rawEvent, NULL)) { mEventCallback( JetPlayer::JET_EVENT, rawEvent, -1, mJavaJetPlayerRef); } }