X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=1a4a3f9d3c292f4d4aaa85a4415c8420bc1083b7;hb=6a341a95305e6ed4187d858e80f03ed476919dff;hp=74d2bf6f19b79466f1e8d7858563e0f7d64fdd77;hpb=3cafda5de945dd02d321634abd61aa1e261f2384;p=nageru diff --git a/mixer.cpp b/mixer.cpp index 74d2bf6..1a4a3f9 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -204,7 +204,7 @@ float find_peak(const float *samples, size_t num_samples) { float m = fabs(samples[0]); for (size_t i = 1; i < num_samples; ++i) { - m = std::max(m, fabs(samples[i])); + m = max(m, fabs(samples[i])); } return m; } @@ -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.