mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-03 13:02:29 +00:00
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:
parent
6d423cbba2
commit
bf0cffc474
1 changed files with 2 additions and 8 deletions
|
@ -652,7 +652,9 @@ gst_audio_resample_sink_event (GstBaseTransform * base, GstEvent * event)
|
||||||
resample->samples_out = 0;
|
resample->samples_out = 0;
|
||||||
resample->need_discont = TRUE;
|
resample->need_discont = TRUE;
|
||||||
break;
|
break;
|
||||||
|
case GST_EVENT_STREAM_START:
|
||||||
case GST_EVENT_SEGMENT:
|
case GST_EVENT_SEGMENT:
|
||||||
|
case GST_EVENT_EOS:
|
||||||
if (resample->converter) {
|
if (resample->converter) {
|
||||||
gsize latency =
|
gsize latency =
|
||||||
gst_audio_converter_get_max_latency (resample->converter);
|
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->samples_out = 0;
|
||||||
resample->need_discont = TRUE;
|
resample->need_discont = TRUE;
|
||||||
break;
|
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:
|
default:
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue