onvifaggregator: always push current media buffer on timeout

Even when aggregator.meta_frames is empty

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-rs/-/merge_requests/751>
This commit is contained in:
Mathieu Duponchelle 2022-05-06 16:00:37 +02:00 committed by GStreamer Marge Bot
parent e93544cfc6
commit 7425b31173

View file

@ -308,8 +308,17 @@ impl OnvifAggregator {
if let Some(start) = self.lookup_reference_timestamp(media_buffer) {
let end = start + duration;
if let Some(latest_frame) = state.meta_frames.iter().next_back() {
if latest_frame.timestamp > end || timeout {
if timeout {
gst::debug!(
CAT,
obj: element,
"Media buffer spanning {} -> {} is ready (timeout)",
start,
end
);
Ok(Some((self.media_sink_pad.pop_buffer().unwrap(), Some(end))))
} else if let Some(latest_frame) = state.meta_frames.iter().next_back() {
if latest_frame.timestamp > end {
gst::debug!(
CAT,
obj: element,