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 737231 - rtspsrc: Fails to pre-roll if one of the streams never sends anything
rtspsrc: Fails to pre-roll if one of the streams never sends anything
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 688416 708867 (view as bug list)
Depends on:
Blocks:
 
 
Reported: 2014-09-24 03:11 UTC by Olivier Crête
Modified: 2018-05-05 15:46 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Olivier Crête 2014-09-24 03:11:50 UTC
I have a RTSP camera that claims (in it's SDP) to have a video and an audio stream. But in practice, it nevers sends any audio. rtspsrc fails to timeout the audio stream, and instead blocks forever to preroll.. After some time, it should probably give up on the audio stream, send a warning, and destroy it (send EOS? remove the pad? both?).
Comment 1 Tim-Philipp Müller 2014-09-24 14:47:41 UTC
Or maybe it should send gap events instead?
Comment 2 Nicolas Dufresne (ndufresne) 2014-09-24 14:58:09 UTC
(In reply to comment #1)
> Or maybe it should send gap events instead?

That would imply we do end preroll on gaps, is that implemented ?

(note, in this context, rtsp tries UDP, timeout on audio while video is working, then fallback to TCP, and stall in preroll. If the server was not to support TCP at all, we'd loose, not sure there is a bullet proof solution to this server lie, as sending gaps in UDP might also be wrong).
Comment 3 Sebastian Dröge (slomo) 2014-09-25 07:45:34 UTC
(In reply to comment #2)
> (In reply to comment #1)
> > Or maybe it should send gap events instead?
> 
> That would imply we do end preroll on gaps, is that implemented ?

It should be implemented (at least in the audio sinks), but there's some doubt about that, or maybe bugs :) See bug #736655
Comment 4 Jan Schmidt 2015-09-03 11:50:33 UTC
*** Bug 708867 has been marked as a duplicate of this bug. ***
Comment 5 Jan Schmidt 2015-09-03 12:33:34 UTC
*** Bug 688416 has been marked as a duplicate of this bug. ***
Comment 6 Jan Schmidt 2015-09-03 14:26:39 UTC
Preroll on gap events should work for both video and audio decoders these days
Comment 7 Arnaud Vrac 2015-09-03 14:29:06 UTC
But if there's no data stream, decodebin won't be able to plug a parser and fix the caps, so prerolling won't happen. Am I right ?
Comment 8 Jan Schmidt 2015-09-03 14:37:59 UTC
Hmm, yes - true.
Comment 9 Edward Hervey 2018-05-05 15:46:49 UTC
decodebin3/playbin3 will have no issues with that. Closing.