X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=mixer.cpp;h=9c07dc5002b09c6d9cf6b99648e889c0c9b93b37;hb=ece2a997307401c1d960c64dc738097cd72b2b7e;hp=31277f1cd87af1bf2e03a67a1f169dcdf8f8c03a;hpb=b706133a02b3baf1a1d87db4dfe734d4b7982a86;p=nageru diff --git a/mixer.cpp b/mixer.cpp index 31277f1..9c07dc5 100644 --- a/mixer.cpp +++ b/mixer.cpp @@ -738,11 +738,6 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, card->last_timecode = timecode; - // Calculate jitter for this card here. We do it on arrival so that we - // make sure every frame counts, even the dropped ones -- and it will also - // make sure the jitter number is as recent as possible, should it change. - card->jitter_history.frame_arrived(video_frame.received_timestamp, frame_length, dropped_frames); - PBOFrameAllocator::Userdata *userdata = (PBOFrameAllocator::Userdata *)video_frame.userdata; size_t cbcr_width, cbcr_height, cbcr_offset, y_offset; @@ -786,8 +781,9 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, new_frame.dropped_frames = dropped_frames; new_frame.received_timestamp = video_frame.received_timestamp; card->new_frames.push_back(move(new_frame)); - card->new_frames_changed.notify_all(); + card->jitter_history.frame_arrived(video_frame.received_timestamp, frame_length, dropped_frames); } + card->new_frames_changed.notify_all(); return; } @@ -911,8 +907,9 @@ void Mixer::bm_frame(unsigned card_index, uint16_t timecode, new_frame.dropped_frames = dropped_frames; new_frame.received_timestamp = video_frame.received_timestamp; // Ignore the audio timestamp. card->new_frames.push_back(move(new_frame)); - card->new_frames_changed.notify_all(); + card->jitter_history.frame_arrived(video_frame.received_timestamp, frame_length, dropped_frames); } + card->new_frames_changed.notify_all(); } }