[gst-devel] gst_event_new_flush_(start|stop) messing up the pipeline...
S Boucher
stbya at yahoo.com
Tue Feb 16 17:34:01 CET 2010
I think what is happening is that after the flush/new segment, the audio sink is already moving along, so that the audio data supposed to match the new segment, when it arrives, is already too late and gets dropped.
I hit the following in gst_ring_buffer_commit_full():
/* segment too far ahead, writer too slow, we need to drop, hopefully UNLIKELY */
if (G_UNLIKELY (diff < 0)) {
/* we need to drop one segment at a time, pretend we wrote a
* segment. */
skip = TRUE;
break;
}
So, how do I go about getting my pipeline to preroll some after a flush?
--- On Fri, 2/12/10, S Boucher <stbya at yahoo.com> wrote:
> From: S Boucher <stbya at yahoo.com>
> Subject: Re: [gst-devel] gst_event_new_flush_(start|stop) messing up the pipeline...
> To: "Discussion of the development of GStreamer" <gstreamer-devel at lists.sourceforge.net>
> Received: Friday, February 12, 2010, 12:32 PM
>
>
> --- On Fri, 2/12/10, Tim-Philipp Müller <t.i.m at zen.co.uk>
> wrote:
>
> > If audio is not played any longer, then either buffers
> are
> > dropped
> > somewhere before the sink, or buffers are modified to
> > silence data, or
> > the sink drops/clips them.
>
> All buffers a pushed successfully the 1st and 2nd time (its
> the same data being pushed both times).
>
> Inserting an identity element prior to the sink and dumping
> the buffers show that the buffers are, as expected, the same
> the 1st and 2nd time.
>
> the audiosink appears to be consuming the buffers correctly
> the first and 2nd time. i.e. I get a series of (with the
> "at" increasing normally, and for the 1st and 2nd time
> through):
>
> 0:00:04.207250106 12211 0x84b2a80 DEBUG
> baseaudiosink
> gstbaseaudiosink.c:1475:gst_base_audio_sink_render:<audiosink-actual-sink-pulse>
> rendering at 0 368/368
> 0:00:04.207293501 12211 0x84b2a80 DEBUG
> baseaudiosink
> gstbaseaudiosink.c:1485:gst_base_audio_sink_render:<audiosink-actual-sink-pulse>
> wrote 368 of 368
> 0:00:04.207318364 12211 0x84b2a80 DEBUG
> baseaudiosink
> gstbaseaudiosink.c:1508:gst_base_audio_sink_render:<audiosink-actual-sink-pulse>
> next sample expected at 368
>
> So, something's getting busted in the pulse audio sink due
> to the flush_start/flush_stop sent between the first and 2nd
> time.
>
>
>
>
> __________________________________________________________________
> The new Internet Explorer® 8 - Faster, safer,
> easier. Optimized for Yahoo! Get it Now for
> Free! at http://downloads.yahoo.com/ca/internetexplorer/
>
> ------------------------------------------------------------------------------
> SOLARIS 10 is the OS for Data Centers - provides features
> such as DTrace,
> Predictive Self Healing and Award Winning ZFS. Get Solaris
> 10 NOW
> http://p.sf.net/sfu/solaris-dev2dev
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>
__________________________________________________________________
The new Internet Explorer® 8 - Faster, safer, easier. Optimized for Yahoo! Get it Now for Free! at http://downloads.yahoo.com/ca/internetexplorer/
More information about the gstreamer-devel
mailing list