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 733976 - uridecodebin: Does not set the dec->source uri when an error occurred with a first uri and we set a new one in READY state
uridecodebin: Does not set the dec->source uri when an error occurred with a ...
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal normal
: 1.4.1
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2014-07-30 13:01 UTC by Thibault Saunier
Modified: 2014-07-30 13:35 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
pbutils: discoverer: Always set the pipeline back to NULL after an error (1.44 KB, patch)
2014-07-30 13:25 UTC, Thibault Saunier
committed Details | Review

Description Thibault Saunier 2014-07-30 13:01:39 UTC
Since the latest changes in uridecodebin (namely uridecodebin: Create new sources after chaining up to the parent class) the following command will fail:

  $gst-discoverer-1.0 file:///wrong/uri file:///an/actually/uri

What actually happens is the following in uridecodebin:

 1- Discoverer sets "file:///wrong/uri" on its internal uridecodebin
 2- That FAILS an error is reported on the bus, and the discovering is done
 3- Discoverer will try to discover the pipeline to READY
 4- Discoverer sets the uridecodebin uri to file:///an/actually/uri
 5- The Source of uridecodebin report the *same* error as the first time as its uri is actually not reset properly to "file:///an/actually/uri" and is still "file:///wrong/uri"

In discoverer setting the pipeline back to NULL and then READY in state 3 works around the issue.
Comment 1 Thibault Saunier 2014-07-30 13:25:51 UTC
Created attachment 282059 [details] [review]
pbutils: discoverer: Always set the pipeline back to NULL after an error

Otherwize the pipeline would be in an wrong state and on the next
iteration any kind of error could happen
Comment 2 Thibault Saunier 2014-07-30 13:29:12 UTC
Attachment 282059 [details] pushed as 235e462 - pbutils: discoverer: Always set the pipeline back to NULL after an error