After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 700799 - matroskademux: Got data flow before segment event
matroskademux: Got data flow before segment event
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal minor
: 1.1.2
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2013-05-21 17:57 UTC by Brendan Long
Modified: 2013-06-11 11:56 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Brendan Long 2013-05-21 17:57:28 UTC
I created a basic matroska file:

    $ gst-git gst-launch-1.0 videotestsrc num-buffers=100 ! theoraenc ! matroskamux ! filesink location=example.mkv

If I play it with playbin, I get a bunch of warnings about 'data flow before segment event':

    $ gst-git gst-launch-1.0 playbin uri=file:///home/blong/Desktop/example.mkv 
    Setting pipeline to PAUSED ...
    Pipeline is PREROLLING ...

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<matroskademux0:video_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<multiqueue0:sink_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<matroskademux0:video_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<multiqueue0:sink_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<multiqueue0:src_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<theoradec0:sink> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<matroskademux0:video_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<multiqueue0:src_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<theoradec0:sink> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<multiqueue0:sink_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3913:gst_pad_push_data:<multiqueue0:src_0> Got data flow before segment event

    (gst-launch-1.0:17844): GStreamer-WARNING **: gstpad.c:3682:gst_pad_chain_data_unchecked:<theoradec0:sink> Got data flow before segment event

The mailing list said to report these if I see them, so there you go.

I'm on Ubuntu 12.04 64-bit, using GStreamer from git. My `git log` has:

> matroskaparse: Make sure to send a segment event before dataflow

So I assume this shouldn't be happening, but it is.
Comment 1 Brendan Long 2013-05-21 18:08:26 UTC
Actually, I don't see this issue if I encode the video as vp8 (gst-git gst-launch-1.0 videotestsrc num-buffers=100 ! vp8enc ! matroskamux ! filesink location=example.mkv), but I also don't see if it I put theora into an ogg container (gst-git gst-launch-1.0 videotestsrc num-buffers=100 ! theoraenc ! oggmux ! filesink location=example.ogv).

I only see it if I put theora video in a matroska container.
Comment 2 Brendan Long 2013-05-21 22:30:35 UTC
I also get this with vorbis audio in matroska containers:

    # Got data flow before segment event
    gst-git gst-launch-1.0 audiotestsrc num-buffers=100 ! vorbisenc ! matroskamux ! filesink location=example.mkv
    gst-git gst-launch-1.0 playbin uri=file:///some/path/example.mkv

But not with vorbis in an ogg container:

    # No warnings
    gst-git gst-launch-1.0 audiotestsrc num-buffers=100 ! vorbisenc ! oggmux ! filesink location=example.oga
    gst-git gst-launch-1.0 playbin uri=file:///some/path/example.oga
Comment 3 Sebastian Dröge (slomo) 2013-06-11 11:56:05 UTC
commit e2b46a776f365a86c6f48f14294ebce6515ce41c
Author: Sebastian Dröge <slomo@circular-chaos.org>
Date:   Tue Jun 11 13:54:53 2013 +0200

    matroskademux: Send stream headers after the segment event
    
    https://bugzilla.gnome.org/show_bug.cgi?id=700799