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 580851 - rtspsrc: various; sanity of ranges, setting of base_time and eof behaviour
rtspsrc: various; sanity of ranges, setting of base_time and eof behaviour
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal normal
: 0.10.15
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2009-04-30 08:58 UTC by Mark Nauwelaerts
Modified: 2009-05-04 15:07 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch for (a) sanity range check (1.14 KB, patch)
2009-04-30 09:02 UTC, Mark Nauwelaerts
committed Details | Review
Patch for (b) base_time setting (1.21 KB, patch)
2009-04-30 09:05 UTC, Mark Nauwelaerts
committed Details | Review
Patch for (c) eof handling (1.58 KB, patch)
2009-04-30 09:05 UTC, Mark Nauwelaerts
committed Details | Review

Description Mark Nauwelaerts 2009-04-30 08:58:22 UTC
(a) live WMS server may report range as e.g. npt=3.000-3.000 during DESCRIBE, and as 0.000-5370199679810142.208 upon PLAY.  Neither of these provide something useful (and may lead to overflow problems), so some sanity checks can be helpful.

(b) During flushing seek processing, base_time of udpsrc is reset to have timestamps/running_time resume at 0.  However, the base_time of rtspsrc is not reset, so there is an inconsistency in subsequent downstream (initial) timestamps depending on UDP or interleaved TCP.

(c) If eof is reached, server might close connection or send eof message/request.  In any case, this is announced as "connection closed" but a subsequent state change might still try to perform TEARDOWN etc with subsequent read/write errors.
Comment 1 Mark Nauwelaerts 2009-04-30 09:02:56 UTC
Created attachment 133635 [details] [review]
Patch for (a) sanity range check
Comment 2 Mark Nauwelaerts 2009-04-30 09:05:16 UTC
Created attachment 133636 [details] [review]
Patch for (b) base_time setting
Comment 3 Mark Nauwelaerts 2009-04-30 09:05:55 UTC
Created attachment 133637 [details] [review]
Patch for (c) eof handling
Comment 4 Mark Nauwelaerts 2009-05-04 15:07:17 UTC
commit 959a9b494b7eb2d5ea02bae722339c75a93d7e1e
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Thu Apr 30 10:24:27 2009 +0200

    rtspsrc: avoid errors after server eof

    Server eof (e.g. connection closed) is announced as connection closed,
    so better record state and act accordingly to prevent (read/write)
    errors during subsequent teardown/cleanup sequences.  #Fixes 580851.(c).

commit 734548a34fbb6679dc6b7c568b2cceb2a903a2dc
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Thu Apr 30 10:19:27 2009 +0200

    rtspsrc: also set base_time on src after flush

    timestamps following flush/seek should be consistent between
    UDP and TCP interleaved case.  Fixes #580851.(b).

commit 20c7be5741bfd39e2d2cbe647522b99bd339e101
Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk>
Date:   Thu Apr 30 10:17:23 2009 +0200

    rtspsrc: sanity checks on range info

    A max range that overflows should not be trusted,
    nor should a max range that equals the min range.
    Fixes #580851.(a).