: foreground_(frame_producer::empty())\r
, background_(frame_producer::empty())\r
, is_paused_(false)\r
- , auto_play_delta_(-1){}\r
+ , auto_play_delta_(-1)\r
+ , frame_number_(0){}\r
\r
- void pause(){is_paused_ = true;}\r
- void resume(){is_paused_ = false;}\r
+ void pause()\r
+ {\r
+ is_paused_ = true;\r
+ }\r
+\r
+ void resume()\r
+ {\r
+ is_paused_ = false;\r
+ }\r
\r
void load(const safe_ptr<frame_producer>& producer, bool preview, int auto_play_delta)\r
{ \r
- background_ = producer;\r
-\r
- if(auto_play_delta > -1)\r
- {\r
- if(foreground_->nb_frames() > 0)\r
- auto_play_delta_ = auto_play_delta;\r
- else\r
- CASPAR_LOG(warning) << foreground_->print() << L" Producer in foreground does not support auto-play.";\r
- }\r
+ background_ = producer;\r
+ auto_play_delta_ = auto_play_delta;\r
\r
if(preview) // Play the first frame and pause.\r
{ \r
receive();\r
pause();\r
}\r
-\r
- if(auto_play_delta >= 0 && foreground_ == frame_producer::empty())\r
- play();\r
}\r
\r
void play()\r
if(frame == core::basic_frame::late())\r
return foreground_->last_frame();\r
\r
- if(auto_play_delta_ == 0)\r
- {\r
- if(frame == core::basic_frame::eof())\r
- {\r
- CASPAR_ASSERT(frames_left == 0);\r
-\r
- CASPAR_LOG(info) << L"Automatically playing next clip with " << auto_play_delta_ << " frames offset.";\r
- \r
- play();\r
- frame = receive();\r
- }\r
- }\r
- else if(auto_play_delta_ > 0)\r
+ if(auto_play_delta_ >= 0)\r
{\r
if(frames_left <= 0 || frame == core::basic_frame::eof())\r
{\r