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 732336 - uridecodebin fails to plug decoder at random times
uridecodebin fails to plug decoder at random times
Status: RESOLVED INVALID
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-06-27 12:00 UTC by Christian Fredrik Kalager Schaller
Modified: 2014-06-29 13:52 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Dotfile dump for when it fails (252.72 KB, image/png)
2014-06-27 12:00 UTC, Christian Fredrik Kalager Schaller
Details
Example of what pipeline looks like when it works (462.22 KB, image/png)
2014-06-27 12:06 UTC, Christian Fredrik Kalager Schaller
Details

Description Christian Fredrik Kalager Schaller 2014-06-27 12:00:38 UTC
Created attachment 279385 [details]
Dotfile dump for when it fails

As the title says -
uridecodebin fails to plug a decoder at random times

So I use the gravity.mpg file as my input (http://gstreamer.freedesktop.org/data/media/large/gravity.mpg)

I load it into transmageddon. I leave the container format as Ogg. I choose 'no audio' for audio. Then press 'Transcode'. Sometimes it fails right away, but usually I have to click 'Cancel' and 'Transcode' a bit back and forth to trigger 
the bug. Once it triggers if I continue clicking cancel and Transcode it will continue to randomly work/not work.

If I set any kind of GST_DEBUG statement the issue never triggers.

Attached a DOTfile image showing what uridecodebin looks like upon failure.

Current git of Transmageddon is the exact code I use.
Comment 1 Christian Fredrik Kalager Schaller 2014-06-27 12:06:37 UTC
Created attachment 279387 [details]
Example of what pipeline looks like when it works
Comment 2 Sebastian Dröge (slomo) 2014-06-28 11:06:44 UTC
Looking at your autoplug-continue... does any of these make a difference?

- When the sticky event can't be retrieved you return nothing. Does this ever happen? If it happens, does returning True make things work correctly again? (Note: you should always get a non-None event there, that would be a bug!)

- You store self.autoplugreturnvalue... this is not threadsafe or anything. Can you make that a local variable instead? Does that help?
Comment 3 Christian Fredrik Kalager Schaller 2014-06-29 13:52:55 UTC
Hi Sebastian,
Don't remember why I return something on None, I assumed it happened once. I will keep looking for it to see if it actually ever happens.

As for turning that variable into a local one seems to have fixed it, sorry for thinking this was an upstream bug.