GNOME Bugzilla – Bug 563120
setting caps on capsfilter is racy
Last modified: 2008-12-04 22:24:59 UTC
Please describe the problem: Changing the caps property of a capsfilter while in PLAYING turns out to be racy. The consequence is that the streaming thread stops with 'not-negotiated'. Steps to reproduce: Run testcase. Actual results: Expected results: Does this happen every time? Other information:
Created attachment 123875 [details] Test-case that reproduces the racy reliably
Created attachment 123931 [details] Call stack for thread 1 in race Callstack of the thread doing the property setting on the capsfilter.
Created attachment 123932 [details] Call stack of push thread The thread is stopped on a breakpoint when gst_capsfilter_transform_caps returns an empty intersection. Stepping further shown in next attachment (threadstack2.b)
Created attachment 123933 [details] Push thread callstack paused in gst_base_transform_find_transform The gst_base_transform_find_transform will goto no_transform;
Turns out that this wasn't a bug after all, the application should have included the original format in the new caps in case a push with the old format is already in progress.