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 701976 - flvdemux: Forwards CAPS events from upstream
flvdemux: Forwards CAPS events from upstream
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
Other Linux
: Normal normal
: 1.0.8
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2013-06-11 04:25 UTC by bilva
Modified: 2013-06-11 10:30 UTC
See Also:
GNOME target: ---
GNOME version: ---

example code (5.59 KB, text/plain)
2013-06-11 04:27 UTC, bilva

Description bilva 2013-06-11 04:25:56 UTC
I have attached a sample code.
This is derived from the basic example at :
with the following changes :

1. audio elements were replaced with video
2. filesrc was replaced with appsrc & the code related to it

I compiled this using :

 gcc -Wall -g  ./gst_dynamic_padding_expt.c -g $(pkg-config --cflags --libs
gstreamer-1.0) -lgstapp-1.0 -o dynamic_padding

If I run this with a sample input flv file, I get "Internal data flow
error" due to following reason :

   1. After adding video pad of the demuxer dynamically, appsrc
   renegotiation is getting called
   2. The caps video/x-flv are received by flvdemux sink & then forwarded
   to src pad
   3. Src pad says that negotiation failed, and stores the event as pending
   since it is a sticky event
   4. In future, whenever we try to push any data through the src pad, it
   checks all the pending sticky events & says that negotiation failed

What am I missing here? Is it a bug in appsrc or flvdemux?

Thanks in anticipation
Comment 1 bilva 2013-06-11 04:27:36 UTC
Created attachment 246479 [details]
example code

The example code that gives error.
Comment 2 Tim-Philipp Müller 2013-06-11 10:13:45 UTC
Sounds like a bug in flvdemux - it shouldn't forward the caps event received on its sink pad.
Comment 3 Tim-Philipp Müller 2013-06-11 10:14:36 UTC
But I wonder why it doesn't happen in other cases as well, since linking source pads always sends a reconfigure event upstream.
Comment 4 Sebastian Dröge (slomo) 2013-06-11 10:30:50 UTC
commit ab275b62a8b3b0303fd121c734546d6789c844d0
Author: Sebastian Dröge <>
Date:   Tue Jun 11 12:25:46 2013 +0200

    flvdemux: Don't forward CAPS events from upstream
    Just use the default pad event handler.