GNOME Bugzilla – Bug 632291
discoverer: sparse tracks cause prerolling to hang till timeout
Last modified: 2011-03-08 17:31:59 UTC
When I attempt to import/extract with MediaExport an mkv file with multiple audio tracks, rygel hangs and stops the import. In specific Italian and English together cause the observed behavior.
This was with Ubuntu version 10.10 with rygel version 0.8.0-1.
The hang is due to some bug in (presumably) a gstreamer plugin. metadata extraction goes fine with gstreamer from git, so updating gst* (or waiting for the next release should fix the hang). Nevertheless, discovery takes 10 seconds on my machine, which it should not. Will investigate further.
I think this is still valid; moreover the timeout for the async variant in the GstDiscoverer included in gupnp-dlna still doesn't work with latest release, rendering meta-data extraction unusable
Just a quick update on this:
a. The next release of gupnp-dlna will fix the problem with timeouts (we'll use GstDiscoverer from gst-plugins-base which has fixed the problem)
b. I have a fix for the underlying issue, which is that subtitle streams, being sparse, can hold up preroll in GstDiscoverer. I've got a patch for this , but it needs quite a bit of testing before it can be used
(In reply to comment #3)
> Just a quick update on this:
> a. The next release of gupnp-dlna will fix the problem with timeouts (we'll use
> GstDiscoverer from gst-plugins-base which has fixed the problem)
So with gupnp-dlna 0.5.0 out the door, half the problem is solved? Should we move this to gst-plugins-base?
Yes, it makes sense to move this to gst-plugins-base now.
We can tackle this once we have demuxers signalling sparse streams (as started on bug 600648).
Pushing a fix for this till we have the sparse stream event and support for it in various demuxers.
The following fix has been pushed:
9ffb885 discoverer: Don't wait for subtitle streams to preroll
Created attachment 182847 [details] [review]
discoverer: Don't wait for subtitle streams to preroll
Subtitle streams being parse can cause the pipeline to wait indefinitely
to PREROLL. This makes subtitle streams got to PAUSED even if no data is
available. This should not be a cause for concern as we don't expect to
get much data for subtitle streams other than language tags from the