37 onReadyPlaybackRate(1),
38 lastVideoFrameDelta(0),
39 loop(VuoLoopType_None)
41 failedLoading =
false;
47 pthread_mutex_init(&decoderMutex, NULL);
67 double userSetPlaybackRate;
73 dispatch_time_t playbackStart;
79 double timestampStart;
82 dispatch_source_t video_timer;
85 dispatch_semaphore_t video_semaphore;
88 dispatch_source_t audio_timer;
91 dispatch_semaphore_t audio_semaphore;
94 dispatch_time_t lastSentVideoTime;
122 double onReadyPlaybackRate;
125 double lastVideoTimestamp;
128 double lastVideoFrameDelta;
131 double lastAudioTimestamp;
134 void sendVideoFrame();
137 void sendAudioFrame();
140 void startTimer(dispatch_source_t* timer, dispatch_time_t start, dispatch_semaphore_t* semaphore,
void (
VuoVideoPlayer::*func)(
void));
143 void stopTimer(dispatch_source_t* timer, dispatch_semaphore_t* semaphore);
152 pthread_mutex_t decoderMutex;
155 void _SetPlaybackRate(
double rate);
158 void _Play(dispatch_time_t start);