Custom event disappearing in decodebin

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Custom event disappearing in decodebin

Bruno Gonzalez-2
Hi all,
I'm using the python bindings to create a pipeline like this:
rtspsrc  queue  rtph264depay  capsfilter  tee  decodebin  tee  videocrop  tee  videoscale  tee  capsfilter  x264enc  tee  custom_bin

I insert a gst.EVENT_CUSTOM_DOWNSTREAM in the tee between capsfilter and decodebin (using tee.send_event(my_event) ).

I have added event_probes to all elements' "sink" and "src" pads, in order to track the life of the custom event.

In gstreamer 0.10.29, the event travels through all elements until it reaches my custom_bin element, where I process it.
In gstreamer 0.10.36, the event arrives at the decodebin sink pad, but does not arrive at its src pad, or any other elements after it (so it never reaches my custom_bin).

My code remains exactly the same, the only change is the gstreamer version that is installed.

Other events, such as GST_EVENT_NEWSEGMENT or GST_EVENT_LATENCY traverse all elements with no problems in both 0.10.29 and 0.10.36.

Any hints as to why the custom event would be stopping at the decodebin element in 0.10.36?

Thanks in advance!

--
Saludos,
     Bruno González

_______________________________________________
Jabber: stenyak AT gmail.com
http://www.stenyak.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Custom event disappearing in decodebin

Jan Schmidt-6
On Tue, 2012-10-02 at 08:04 +0200, Bruno Gonzalez wrote:

> Hi all,
> I'm using the python bindings to create a pipeline like this:
> rtspsrc  queue  rtph264depay  capsfilter  tee  decodebin  tee
>  videocrop  tee  videoscale  tee  capsfilter  x264enc  tee  custom_bin
>
> I insert a gst.EVENT_CUSTOM_DOWNSTREAM in
> the tee between capsfilter and decodebin (using tee.send_event(my_event) ).
>
> I have added event_probes to all elements' "sink" and "src" pads, in
> order to track the life of the custom event.
>
> In gstreamer 0.10.29, the event travels through all elements until it
> reaches my custom_bin element, where I process it.
> In gstreamer 0.10.36, the event arrives at the decodebin sink pad, but
> does not arrive at its src pad, or any other elements after it (so it
> never reaches my custom_bin).

In general, this is a bug in a specific element that decodebin is
plugging. In your case there's probably only 2 elements to check:
h264parse and ffdec_h264 ?

J.

>
>
> My code remains exactly the same, the only change is the gstreamer
> version that is installed.
>
>
> Other events, such
> as GST_EVENT_NEWSEGMENT or GST_EVENT_LATENCY traverse all elements
> with no problems in both 0.10.29 and 0.10.36.
>
>
> Any hints as to why the custom event would be stopping at
> the decodebin element in 0.10.36?
>
>
> Thanks in advance!
>
>
> --
> Saludos,
>      Bruno González
>
> _______________________________________________
> Jabber: stenyak AT gmail.com
> http://www.stenyak.com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

--
Jan Schmidt <[hidden email]>

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Custom event disappearing in decodebin

Bruno Gonzalez
In reply to this post by Bruno Gonzalez-2
Ouch, your mail was picked up by some filter and didn't read it until just now, after I've already solved the problem... But thanks anyway! :-)

For future reference, the bug was indeed inside decodebin elements.

I made some tests. These are the contents of decodebin after the pipeline is initialized:
 - 0.10.29: typefind ! ffdec_h264
 - 0.10.36: typefind ! h264parse ! ffdec_h264
It turns out, for 0.10.36 I was installing the -bad package (which provides the h264parse element), while for 0.10.29 I was not installing it.

Simply removing the -bad package, that element is not inserted inside decodebin anymore, and most of my problems have disappeared (custom events removed, also recorded video playing at infinite rate, and other things).



On Tue, Oct 2, 2012 at 2:56 PM, Jan Schmidt <[hidden email]> wrote:
On Tue, 2012-10-02 at 08:04 +0200, Bruno Gonzalez wrote:
> Hi all,
> I'm using the python bindings to create a pipeline like this:
> rtspsrc  queue  rtph264depay  capsfilter  tee  decodebin  tee
>  videocrop  tee  videoscale  tee  capsfilter  x264enc  tee  custom_bin
>
> I insert a gst.EVENT_CUSTOM_DOWNSTREAM in
> the tee between capsfilter and decodebin (using tee.send_event(my_event) ).
>
> I have added event_probes to all elements' "sink" and "src" pads, in
> order to track the life of the custom event.
>
> In gstreamer 0.10.29, the event travels through all elements until it
> reaches my custom_bin element, where I process it.
> In gstreamer 0.10.36, the event arrives at the decodebin sink pad, but
> does not arrive at its src pad, or any other elements after it (so it
> never reaches my custom_bin).

In general, this is a bug in a specific element that decodebin is
plugging. In your case there's probably only 2 elements to check:
h264parse and ffdec_h264 ?

J.
>
>
> My code remains exactly the same, the only change is the gstreamer
> version that is installed.
>
>
> Other events, such
> as GST_EVENT_NEWSEGMENT or GST_EVENT_LATENCY traverse all elements
> with no problems in both 0.10.29 and 0.10.36.
>
>
> Any hints as to why the custom event would be stopping at
> the decodebin element in 0.10.36?
>
>
> Thanks in advance!
>
>
> --
> Saludos,
>      Bruno González
>
> _______________________________________________
> Jabber: stenyak AT gmail.com
> http://www.stenyak.com
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

--
Jan Schmidt <[hidden email]>

_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel


_______________________________________________
gstreamer-devel mailing list
[hidden email]
http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel