if(pkt && pkt->stream_index != index_)\r
return;\r
\r
+ if(!ctx_)\r
+ return;\r
+\r
if(pkt)\r
av_dup_packet(pkt.get());\r
\r
, filename_(filename)\r
, executor_(print())\r
, start_(std::max(start, 0))\r
- { \r
- graph_->set_color("audio-input-buffer", diagnostics::color(0.5f, 1.0f, 0.2f));\r
- graph_->set_color("video-input-buffer", diagnostics::color(0.2f, 0.5f, 1.0f));\r
- graph_->set_color("seek", diagnostics::color(0.5f, 1.0f, 0.5f)); \r
- \r
+ { \r
int errn;\r
\r
AVFormatContext* weak_format_context_ = nullptr;\r
\r
for(size_t n = 0; n < 32; ++n) // Read some packets for pre-rolling.\r
read_next_packet();\r
- \r
+ \r
+ if(audio_stream_)\r
+ graph_->set_color("audio-input-buffer", diagnostics::color(0.5f, 1.0f, 0.2f));\r
+ \r
+ if(video_stream_)\r
+ graph_->set_color("video-input-buffer", diagnostics::color(0.2f, 0.5f, 1.0f));\r
+ \r
+ graph_->set_color("seek", diagnostics::color(0.5f, 1.0f, 0.5f)); \r
+\r
executor_.begin_invoke([this]{read_file();});\r
CASPAR_LOG(info) << print() << " Started.";\r
}\r
{\r
video_stream_.push(read_packet);\r
audio_stream_.push(read_packet);\r
- }\r
- \r
- graph_->update_value("video-input-buffer", static_cast<float>(video_stream_.size())/static_cast<float>(PACKET_BUFFER_COUNT)); \r
- graph_->update_value("audio-input-buffer", static_cast<float>(audio_stream_.size())/static_cast<float>(PACKET_BUFFER_COUNT)); \r
+\r
+ if(video_stream_)\r
+ graph_->update_value("video-input-buffer", static_cast<float>(video_stream_.size())/static_cast<float>(PACKET_BUFFER_COUNT)); \r
+ if(audio_stream_)\r
+ graph_->update_value("audio-input-buffer", static_cast<float>(audio_stream_.size())/static_cast<float>(PACKET_BUFFER_COUNT)); \r
+ } \r
}\r
catch(...)\r
{\r