]> git.sesse.net Git - nageru/blobdiff - nageru/mixer.cpp
Fix some overly repetitive code in PBOFrameAllocator.
[nageru] / nageru / mixer.cpp
index 367094cfeb08c35af2a9dfb9fdd1c5a0ae2d4892..bad1a5e166461737c3463684ccc427038f7c3269 100644 (file)
@@ -795,7 +795,7 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode,
        card->last_timecode = timecode;
 
        PBOFrameAllocator::Userdata *userdata = (PBOFrameAllocator::Userdata *)video_frame.userdata;
-       if (card->type == CardType::FFMPEG_INPUT) {
+       if (card->type == CardType::FFMPEG_INPUT && userdata != nullptr) {
                FFmpegCapture *ffmpeg_capture = static_cast<FFmpegCapture *>(card->capture.get());
                userdata->has_last_subtitle = ffmpeg_capture->get_has_last_subtitle();
                userdata->last_subtitle = ffmpeg_capture->get_last_subtitle();
@@ -824,7 +824,7 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode,
        if (video_frame.len - video_offset == 0 ||
            video_frame.len - video_offset != expected_length) {
                if (video_frame.len != 0) {
-                       printf("%s: Dropping video frame with wrong length (%ld; expected %ld)\n",
+                       printf("%s: Dropping video frame with wrong length (%zu; expected %zu)\n",
                                spec_to_string(device).c_str(), video_frame.len - video_offset, expected_length);
                }
                if (video_frame.owner) {