audioresample: Drain resampler and reset timestamp tracking on stream-start event too

And also reset timestamp tracking on EOS events as more data might come
afterwards with a new stream-start event. This keeps the code the same.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/670>
This commit is contained in:
Sebastian Dröge 2020-05-26 22:49:44 +03:00 committed by GStreamer Merge Bot
parent 6d423cbba2
commit bf0cffc474

View file

@ -652,7 +652,9 @@ gst_audio_resample_sink_event (GstBaseTransform * base, GstEvent * event)
resample->samples_out = 0;
resample->need_discont = TRUE;
break;
case GST_EVENT_STREAM_START:
case GST_EVENT_SEGMENT:
case GST_EVENT_EOS:
if (resample->converter) {
gsize latency =
gst_audio_converter_get_max_latency (resample->converter);
@ -668,14 +670,6 @@ gst_audio_resample_sink_event (GstBaseTransform * base, GstEvent * event)
resample->samples_out = 0;
resample->need_discont = TRUE;
break;
case GST_EVENT_EOS:
if (resample->converter) {
gsize latency =
gst_audio_converter_get_max_latency (resample->converter);
gst_audio_resample_push_drain (resample, latency);
}
gst_audio_resample_reset_state (resample);
break;
default:
break;
}