"Got data flow before segment event" after unpausing

Sebastian Dröge sebastian at centricular.com
Fri Dec 13 10:47:23 PST 2013


On Mo, 2013-12-09 at 12:03 +0200, Andrey Utkin wrote:
> 2013/12/9 Nicolas Dufresne <nicolas.dufresne at collabora.com>:
> > This is not our definition of git master. Git master refer to the latest
> > development branch, which would be numbered around 1.3.X at the moment.
> > I would strongly recommend to update toward stable release, which is
> > 1.2.1. The 1.2 branch is a stable branch that only receive non-intrusive
> > bug-fixes. It is safe and highly recommended to always stay up-to-date
> > since these released may include security fixes. Finally, I am fairly
> > confident that we fixed the big majority of these events miss-ordering
> > in 1.2.
> 
> I have realized that i had it installed quite a time ago, and have
> updated everything.
> I have gstreamer from
> git://anongit.freedesktop.org/git/gstreamer/gstreamer, and i don't see
> neither tags nor branches 1.3.anything. git describe shows
> 1.2.0-107-g9a62f00
> Could you please explain which "latest development branch" do you
> mean? As far as i know from practice the "latest development branch"
> is always _master_. git describe uses latest matching tag. And at my
> local repo clone i don't see 1.3.x tags. Is that a problem or
> everything is correct?
>
> I see that latest gstreamer tag is 1.2.1, but git describe said 1.2.0
> matches. From looking at git logs, i guess 1.2.1 tag was created in a
> strange way and its commit is not included in master branch, but
> latest development commits are at master branch, not 1.2 (which seem
> to take fixes only, which makes sense), and there's no 1.3 git branch.
> 
> plugins-base 1.2.0-106-gd273d0c
> plugins-good 1.2.0-152-gfdf8ac4
> plugins-bad 1.2.0-197-gffeb719

That's all correct but we don't use such versions with GStreamer. There
were no 1.3.x releases yet, the last release is 1.2.1 from the 1.2
branch. Latest development happens in the master branch (which is
versioned 1.3.0 so far). If Nicolas says "latest development branch" he
means the latest version of GIT master everywhere.

You get output like 1.2.0-XXX-XXXXXXX from the master branch, because
that was the last tag that was made on the master branch. The 1.2.x
bugfix releases were made from the 1.2 branch. More useful to know would
be the last commit ID on each of the modules.

> And i still have same output with my test app:
> 
>  $ ./gstreamer_test "audiotestsrc ! vorbisenc ! oggmux ! fakesink"
> Now playing: audiotestsrc ! vorbisenc ! oggmux ! fakesink
> Sending FLUSH-START event to pipelineGoing PAUSED
> Sending FLUSH-STOP event to pipelineGoing PLAYING
> 
> (gstreamer_test:7658): GStreamer-WARNING **:
> gstpad.c:3931:gst_pad_push_data:<oggmux0:src> Got data flow before
> segment event
> 
> (gstreamer_test:7658): GStreamer-WARNING **:
> gstpad.c:3697:gst_pad_chain_data_unchecked:<fakesink0:sink> Got data
> flow before segment event
> Going NULL
> Deleting pipeline

These warnings probably come from the fact that you manually send FLUSH
events to the pipeline. The FLUSH events will drop the segments from the
pads, and if you don't make sure yourself that a new SEGMENT event is
sent after FLUSH_STOP, you'll get this.

In general don't just send FLUSH events to a pipeline. As you said this
was a workaround for another problem, that PLAYING->PAUSED deadlocked
every now and then. This would be something that should be fixed
instead :)

-- 
Sebastian Dröge, Centricular Ltd - http://www.centricular.com
Expertise, Straight from the Source
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 966 bytes
Desc: This is a digitally signed message part
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20131213/7de2c360/attachment.pgp>


More information about the gstreamer-devel mailing list