Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c374dae5 authored by James Dong's avatar James Dong
Browse files

Added a callback to signal when the rendering of the video frame just occurred

Change-Id: Ifbd78606ffc33483aecebf02cb18e0e52af9624d
related-to-bug: 6851811
parent 33e6e35b
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -99,6 +99,8 @@ enum media_info_type {
    // The player was started because it was used as the next player for another
    // player, which just completed playback
    MEDIA_INFO_STARTED_AS_NEXT = 2,
    // The player just pushed the very first video frame for rendering
    MEDIA_INFO_RENDERING_START = 3,
    // 7xx
    // The video is too complex for the decoder: it can't decode frames fast
    // enough. Possibly only the audio plays fine at this stage.
+7 −0
Original line number Diff line number Diff line
@@ -183,6 +183,7 @@ AwesomePlayer::AwesomePlayer()
    : mQueueStarted(false),
      mUIDValid(false),
      mTimeSource(NULL),
      mVideoRenderingStarted(false),
      mVideoRendererIsPreview(false),
      mAudioPlayer(NULL),
      mDisplayWidth(0),
@@ -468,6 +469,7 @@ void AwesomePlayer::reset() {
}

void AwesomePlayer::reset_l() {
    mVideoRenderingStarted = false;
    mActiveAudioTrackIndex = -1;
    mDisplayWidth = 0;
    mDisplayHeight = 0;
@@ -1805,6 +1807,11 @@ void AwesomePlayer::onVideoEvent() {
    if (mVideoRenderer != NULL) {
        mSinceLastDropped++;
        mVideoRenderer->render(mVideoBuffer);
        if (!mVideoRenderingStarted) {
            mVideoRenderingStarted = true;
            notifyListener_l(MEDIA_INFO, MEDIA_INFO_RENDERING_START);
        }

    }

    mVideoBuffer->release();
+1 −0
Original line number Diff line number Diff line
@@ -166,6 +166,7 @@ private:
    sp<MediaSource> mVideoTrack;
    sp<MediaSource> mVideoSource;
    sp<AwesomeRenderer> mVideoRenderer;
    bool mVideoRenderingStarted;
    bool mVideoRendererIsPreview;

    ssize_t mActiveAudioTrackIndex;