X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=61050067b7b9dd60c652a855336eea54f68dec9d;hb=5e01b03ee7850241a15f74e160ebbe2b8ad9b9ea;hp=74d2bf6f19b79466f1e8d7858563e0f7d64fdd77;hpb=3cafda5de945dd02d321634abd61aa1e261f2384;p=nageru diff --git a/mixer.cpp b/mixer.cpp index 74d2bf6..6105006 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -312,11 +312,12 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, if (card->should_quit) return; } + size_t expected_length = width * (height + extra_lines_top + extra_lines_bottom) * 2; if (video_frame.len - video_offset == 0 || - video_frame.len - video_offset != size_t(width * (height + extra_lines_top + extra_lines_bottom) * 2)) { + video_frame.len - video_offset != expected_length) { if (video_frame.len != 0) { - printf("Card %d: Dropping video frame with wrong length (%ld)\n", - card_index, video_frame.len - video_offset); + printf("Card %d: Dropping video frame with wrong length (%ld; expected %ld)\n", + card_index, video_frame.len - video_offset, expected_length); } if (video_frame.owner) { video_frame.owner->release_frame(video_frame); @@ -352,6 +353,8 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, clock_gettime(CLOCK_MONOTONIC, &frame_upload_start); } userdata->last_interlaced = interlaced; + userdata->last_frame_rate_nom = frame_rate_nom; + userdata->last_frame_rate_den = frame_rate_den; RefCountedFrame new_frame(video_frame); // Upload the textures.