[Bug 680252] [playbin2] Hang during OGG -> FLAC transition
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Dec 3 06:23:30 PST 2012
https://bugzilla.gnome.org/show_bug.cgi?id=680252
GStreamer | gst-plugins-base | 0.10.36
Edward Hervey <bilboed> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |bilboed at gmail.com
--- Comment #14 from Edward Hervey <bilboed at gmail.com> 2012-12-03 14:23:26 UTC ---
It was fixed in 1.0 by this commit
commit c9428c96b1ad3dc3ffd9b3041d316f0d1e95e28a
Author: Edward Hervey <edward.hervey at collabora.co.uk>
Date: Tue Jul 10 18:32:13 2012 +0200
baseaudiosink: Resync when ringbuffer resets
When the ringbuffer gets restarted (like in setcaps), we *will* have
to resync against the new values.
Without this we end up blindly assuming the new samples align to the
old ones.
diff --git a/gst-libs/gst/audio/gstaudiobasesink.c
b/gst-libs/gst/audio/gstaudiobasesink.c
index 3c5bc29..6997a9c 100644
--- a/gst-libs/gst/audio/gstaudiobasesink.c
+++ b/gst-libs/gst/audio/gstaudiobasesink.c
@@ -903,6 +903,12 @@ gst_audio_base_sink_setcaps (GstBaseSink * bsink, GstCaps
* caps)
if (!gst_audio_ring_buffer_acquire (sink->ringbuffer, spec))
goto acquire_error;
+ /* We need to resync since the ringbuffer restarted */
+ sink->priv->avg_skew = -1;
+ sink->next_sample = -1;
+ sink->priv->eos_time = -1;
+ sink->priv->discont_time = -1;
+
if (bsink->pad_mode == GST_PAD_MODE_PUSH) {
GST_DEBUG_OBJECT (sink, "activate ringbuffer");
gst_audio_ring_buffer_activate (sink->ringbuffer, TRUE);
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list