Deadloop when trying to link a tee with 3 sinks.

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

Deadloop when trying to link a tee with 3 sinks.

Peter Cai
A pipeline like this : appsrc ! decodebin ! ffmpegcolorspace ! tee ! fakesink.

Latter the code tried to add 3 directdrawsink to that tee.
The first 2 is added just OK
But when trying to add the 3rd, it goes into a dead loop

the log continuously shows like this:

0:00:05.657321000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=0:
072DE0C0
0:00:05.657321000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=1:
072DE0C0
0:00:05.657321000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=2:
072D5E20
0:00:05.657321000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=3:
072DE080

I pasted more detail log here : http://pastebin.com/d1853fdc0

Did I made some mistakes or this is a bug of tee because no one has
ever tried to link more than 3 sinks to a tee?
--
look to the things around you,the immediate world around you, if you
are alive,it will mean something to you ——Paul Strand

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Tim-Philipp Müller-2
On Wed, 2009-11-11 at 16:52 +0800, Peter Cai wrote:

> A pipeline like this : appsrc ! decodebin ! ffmpegcolorspace ! tee ! fakesink.
>
> Latter the code tried to add 3 directdrawsink to that tee.
> The first 2 is added just OK
> But when trying to add the 3rd, it goes into a dead loop

Did you put queues after the tee for each branch? If not, that would
likely prevent prerolling and hang as you describe (search the mailing
list archives for tee+queue for an explanation).

Cheers
 -Tim



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Peter Cai
I made some debug and I am sure the deadloop happens when trying to
link tee and the 3rd directdrawsink in
gst_base_transform_transform_caps.

The log also proves that.  "gst_ffmpeg_pixfmt_to_caps" shows again and
again and never ends up.

0:00:05.277242000  5228   00A09B60 DEBUG        basetransform
gstbasetransform.c:624:gst_base_transform_getcaps:<ffmpegcsp0:src> our
template  059698A0
0:00:05.277242000  5228   00A09B60 DEBUG        basetransform
gstbasetransform.c:626:gst_base_transform_getcaps:<ffmpegcsp0:src>
intersected 072D5D60
0:00:05.277242000  5228   00A09B60 DEBUG        basetransform
gstbasetransform.c:464:gst_base_transform_transform_caps:<ffmpegcsp0>
transform caps (direction = 2)
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=0:
072D5E60
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=1:
072D5F40
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=2:
072D5E00
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=3:
072DE000
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=4:
072D5EC0
0:00:05.277242000  5228   00A09B60 DEBUG              default
gstffmpegcodecmap.c:417:gst_ffmpeg_pixfmt_to_caps: caps for pix_fmt=5:
072DE080



On Wed, Nov 11, 2009 at 5:25 PM, Tim-Philipp Müller <[hidden email]> wrote:

> On Wed, 2009-11-11 at 16:52 +0800, Peter Cai wrote:
>
>> A pipeline like this : appsrc ! decodebin ! ffmpegcolorspace ! tee ! fakesink.
>>
>> Latter the code tried to add 3 directdrawsink to that tee.
>> The first 2 is added just OK
>> But when trying to add the 3rd, it goes into a dead loop
>
> Did you put queues after the tee for each branch? If not, that would
> likely prevent prerolling and hang as you describe (search the mailing
> list archives for tee+queue for an explanation).
>
> Cheers
>  -Tim
>
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
look to the things around you,the immediate world around you, if you
are alive,it will mean something to you ——Paul Strand

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Peter Cai
In reply to this post by Tim-Philipp Müller-2
Now I am quite sure this is a bug, try this:

C:\gstreamer\bin>gst-launch-0.10.exe filesrc
location="e:\\gst\\vivs_basic_test\\bin\\Debug\\bunny_mpeg4.mp4" !
decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! directdrawsink
tee1. ! queue ! directdrawsink tee1. ! queue ! directdrawsink

gst-launch will be blocked until you force it to quit.

BUT, if you remove the last directdrawsink, it works just fine.

On Wed, Nov 11, 2009 at 5:25 PM, Tim-Philipp Müller <[hidden email]> wrote:

> On Wed, 2009-11-11 at 16:52 +0800, Peter Cai wrote:
>
>> A pipeline like this : appsrc ! decodebin ! ffmpegcolorspace ! tee ! fakesink.
>>
>> Latter the code tried to add 3 directdrawsink to that tee.
>> The first 2 is added just OK
>> But when trying to add the 3rd, it goes into a dead loop
>
> Did you put queues after the tee for each branch? If not, that would
> likely prevent prerolling and hang as you describe (search the mailing
> list archives for tee+queue for an explanation).
>
> Cheers
>  -Tim
>
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
look to the things around you,the immediate world around you, if you
are alive,it will mean something to you ——Paul Strand

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

michael smith-6-3
On Wed, Nov 11, 2009 at 3:15 AM, Peter Cai <[hidden email]> wrote:

> Now I am quite sure this is a bug, try this:
>
> C:\gstreamer\bin>gst-launch-0.10.exe filesrc
> location="e:\\gst\\vivs_basic_test\\bin\\Debug\\bunny_mpeg4.mp4" !
> decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! directdrawsink
> tee1. ! queue ! directdrawsink tee1. ! queue ! directdrawsink
>
> gst-launch will be blocked until you force it to quit.
>
> BUT, if you remove the last directdrawsink, it works just fine.

Does it work with a different videosink? directdrawsink doesn't work
very well generally.

Mike

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Peter Cai
Oh, it works perfect with openGL.  So this must be a mistake in directdrawsink!!

Thanks a lot!

On Thu, Nov 12, 2009 at 12:42 AM, Michael Smith <[hidden email]> wrote:

> On Wed, Nov 11, 2009 at 3:15 AM, Peter Cai <[hidden email]> wrote:
>> Now I am quite sure this is a bug, try this:
>>
>> C:\gstreamer\bin>gst-launch-0.10.exe filesrc
>> location="e:\\gst\\vivs_basic_test\\bin\\Debug\\bunny_mpeg4.mp4" !
>> decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! directdrawsink
>> tee1. ! queue ! directdrawsink tee1. ! queue ! directdrawsink
>>
>> gst-launch will be blocked until you force it to quit.
>>
>> BUT, if you remove the last directdrawsink, it works just fine.
>
> Does it work with a different videosink? directdrawsink doesn't work
> very well generally.
>
> Mike
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
look to the things around you,the immediate world around you, if you
are alive,it will mean something to you ——Paul Strand

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Stefan Sauer
Peter Cai schrieb:
> Oh, it works perfect with openGL.  So this must be a mistake in directdrawsink!!
>

please file a bug then. patches welcome too.

Stefan

> Thanks a lot!
>
> On Thu, Nov 12, 2009 at 12:42 AM, Michael Smith <[hidden email]> wrote:
>> On Wed, Nov 11, 2009 at 3:15 AM, Peter Cai <[hidden email]> wrote:
>>> Now I am quite sure this is a bug, try this:
>>>
>>> C:\gstreamer\bin>gst-launch-0.10.exe filesrc
>>> location="e:\\gst\\vivs_basic_test\\bin\\Debug\\bunny_mpeg4.mp4" !
>>> decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! directdrawsink
>>> tee1. ! queue ! directdrawsink tee1. ! queue ! directdrawsink
>>>
>>> gst-launch will be blocked until you force it to quit.
>>>
>>> BUT, if you remove the last directdrawsink, it works just fine.
>> Does it work with a different videosink? directdrawsink doesn't work
>> very well generally.
>>
>> Mike
>>
>> ------------------------------------------------------------------------------
>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
>> trial. Simplify your report design, integration and deployment - and focus on
>> what you do best, core application coding. Discover what's new with
>> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>> _______________________________________________
>> gstreamer-devel mailing list
>> [hidden email]
>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>
>
>
>


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Deadloop when trying to link a tee with 3 sinks.

Peter Cai
https://bugzilla.gnome.org/show_bug.cgi?id=601699

I think a patch is out of my ability right now.  This problem related
caps intersect, which I don't quite understand yet.


On Fri, Nov 13, 2009 at 5:11 AM, Stefan Kost <[hidden email]> wrote:

> Peter Cai schrieb:
>> Oh, it works perfect with openGL.  So this must be a mistake in directdrawsink!!
>>
>
> please file a bug then. patches welcome too.
>
> Stefan
>
>> Thanks a lot!
>>
>> On Thu, Nov 12, 2009 at 12:42 AM, Michael Smith <[hidden email]> wrote:
>>> On Wed, Nov 11, 2009 at 3:15 AM, Peter Cai <[hidden email]> wrote:
>>>> Now I am quite sure this is a bug, try this:
>>>>
>>>> C:\gstreamer\bin>gst-launch-0.10.exe filesrc
>>>> location="e:\\gst\\vivs_basic_test\\bin\\Debug\\bunny_mpeg4.mp4" !
>>>> decodebin ! ffmpegcolorspace ! tee name=tee1 ! queue ! directdrawsink
>>>> tee1. ! queue ! directdrawsink tee1. ! queue ! directdrawsink
>>>>
>>>> gst-launch will be blocked until you force it to quit.
>>>>
>>>> BUT, if you remove the last directdrawsink, it works just fine.
>>> Does it work with a different videosink? directdrawsink doesn't work
>>> very well generally.
>>>
>>> Mike
>>>
>>> ------------------------------------------------------------------------------
>>> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
>>> trial. Simplify your report design, integration and deployment - and focus on
>>> what you do best, core application coding. Discover what's new with
>>> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
>>> _______________________________________________
>>> gstreamer-devel mailing list
>>> [hidden email]
>>> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>>>
>>
>>
>>
>
>
> ------------------------------------------------------------------------------
> Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
> trial. Simplify your report design, integration and deployment - and focus on
> what you do best, core application coding. Discover what's new with
> Crystal Reports now.  http://p.sf.net/sfu/bobj-july
> _______________________________________________
> gstreamer-devel mailing list
> [hidden email]
> https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
>



--
look to the things around you,the immediate world around you, if you
are alive,it will mean something to you ——Paul Strand

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel