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 688476 - Seek in matroska file fails with not-negotiated error when using playsink
Seek in matroska file fails with not-negotiated error when using playsink
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
1.x
Other Linux
: Normal blocker
: 1.0.6
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2012-11-16 16:38 UTC by Arnaud Vrac
Modified: 2013-03-21 14:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch that fixes the issue (1.57 KB, patch)
2013-02-06 16:46 UTC, Josep Torra Valles
rejected Details | Review
Patch that fixes the issue (1.60 KB, patch)
2013-02-06 17:27 UTC, Josep Torra Valles
rejected Details | Review
Patch that fixes the issue (2.14 KB, patch)
2013-02-06 17:58 UTC, Josep Torra Valles
rejected Details | Review

Description Arnaud Vrac 2012-11-16 16:38:01 UTC
The following pipeline fails after a seek with gstreamer 1.0.2 or 1.1.x, when dvdspu is not installed:

gst-launch-1.0 playbin uri=http://absolut.zogzog.org/share/samples/mkv/bound.mkv video-sink='navseek seek-offset=60 ! xvimagesink'

Here is a more specialized version, it does not fail if I use the subtitle overlay element directly instead of playsink:

gst-launch-1.0 souphttpsrc location=http://absolut.zogzog.org/share/samples/mkv/bound.mkv ! matroskademux name=dmx \
multiqueue name=mq \
dmx.video_0 ! mq.sink_0 mq.src_0 ! avdec_h264 ! sink.video_raw_sink \
dmx.subtitle_0 ! mq.sink_1 mq.src_1 ! sink.text_sink \
playsink name=sink video-sink='navseek seek-offset=60 ! xvimagesink' flags=0x7

Displayed error is:

Error displayed gstbasesrc.c(2791): gst_base_src_loop (): /GstPipeline:pipeline0/GstSoupHTTPSrc:souphttpsrc0:
streaming task paused, reason not-negotiated (-4)
Comment 1 Josep Torra Valles 2013-02-06 16:46:51 UTC
Created attachment 235315 [details] [review]
Patch that fixes the issue

Provided patch fixes the issue in a similar scenario than the one if it's described.
Comment 2 Josep Torra Valles 2013-02-06 17:27:19 UTC
Created attachment 235318 [details] [review]
Patch that fixes the issue

Fix the condition check in gst_pad_link_full as it's not a boolean.
Comment 3 Josep Torra Valles 2013-02-06 17:58:36 UTC
Created attachment 235321 [details] [review]
Patch that fixes the issue

It turns that some more stuff needs to be released.
Comment 4 Tim-Philipp Müller 2013-02-13 17:13:59 UTC
Patch seems fine and fixes the issue for me, but I wonder what changed from 0.10 to 1.0 in subtitleoverlay that makes this needed?
Comment 5 Sebastian Dröge (slomo) 2013-03-21 10:27:12 UTC
I don't know what changed but the patch makes sense... it's not complete though. If after linking we switch to an unsupported subtitle stream it will still explode.

I thought there was some logic in playsink and subtitleoverlay to handle this case gracefully without breaking playback completely
Comment 6 Sebastian Dröge (slomo) 2013-03-21 10:30:32 UTC
The problem might be the stricter caps checks in core
Comment 7 Sebastian Dröge (slomo) 2013-03-21 14:41:38 UTC
commit 383f58b0ed15c5fd14d2a760719295256f6ba545
Author: Sebastian Dröge <sebastian.droege@collabora.co.uk>
Date:   Thu Mar 21 15:37:31 2013 +0100

    subtitleoverlay: Return ANY caps for the GET_CAPS query
    
    subtitleoverlay handles any caps, not just the ones
    for which a subtitle parser/renderer exist. It will
    just ignore any unsupported streams instead of causing
    an error.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=688476