]> git.sesse.net Git - nageru/blobdiff - decklink_output.cpp
When switching output cards, do it from the mixer thread.
[nageru] / decklink_output.cpp
index 21baf618f7aba57a5bab928ee334c33cff40c6db..b3c4c85457dedef75fd1a115fa9b82689ac27599 100644 (file)
@@ -181,6 +181,8 @@ void DeckLinkOutput::end_output()
 
 void DeckLinkOutput::send_frame(GLuint y_tex, GLuint cbcr_tex, const vector<RefCountedFrame> &input_frames, int64_t pts, int64_t duration)
 {
+       assert(!should_quit);
+
        unique_ptr<Frame> frame = move(get_frame());
        chroma_subsampler->create_uyvy(y_tex, cbcr_tex, width, height, frame->uyvy_tex);
 
@@ -242,6 +244,8 @@ void DeckLinkOutput::send_audio(int64_t pts, const std::vector<float> &samples)
 
 void DeckLinkOutput::wait_for_frame(int64_t pts, int *dropped_frames, int64_t *frame_duration)
 {
+       assert(!should_quit);
+
        *dropped_frames = 0;
        *frame_duration = this->frame_duration;