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 631648 - rtspsrc: pausing does not flush buffers
rtspsrc: pausing does not flush buffers
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal major
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-07 20:59 UTC by gudake
Modified: 2018-11-03 14:42 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
log of pausing a rtsp (mp4a) session (31.02 KB, application/octet-stream)
2010-10-07 20:59 UTC, gudake
Details

Description gudake 2010-10-07 20:59:36 UTC
Created attachment 171927 [details]
log of pausing a rtsp (mp4a) session

Here is how I reproduced on gstreamer-0.10.29 / gst-plugins-good-0.10.22 / gst-plugins-bad-0.10.18

1. launching in cmdline: totem-gstreamer --gst-debug=3,faad:5

2. start play rtsp://rx-mep-ptest01.real.com/ptest/7/5/1/0/0/PF000202_200111000000157.M4A

3. play for couple seconds and pause

4. wait 5 seconds and resume

5. I am expecting faad incoming buffer timestamps are 5 seconds later than before pausing,  but there are still some timestamps looks like generated before pausing, aka the buffers before pausing are not flushed.

Example see my attached log:
faad runs to 9second before pausing,  after pausing about 5 seconds and resume,  faad is still getting two buffers timestamped at 9seconds.
Comment 1 Wim Taymans 2010-10-11 14:43:46 UTC
This is a known issue. Live pipelines don't get flushed when they pause.
Comment 2 gudake 2010-10-11 17:03:12 UTC
Wim, is this a proper fix?  during playing->paused, flush gstjitterbuffer and push flush start/end event to downstream.
Comment 3 Wim Taymans 2011-01-12 18:46:58 UTC
(In reply to comment #2)
> Wim, is this a proper fix?  during playing->paused, flush gstjitterbuffer and
> push flush start/end event to downstream.

the flush will reset the running_time to 0, so it is not a solution. What we need is a flush event that doesn't reset time. This event would then be sent from the live source to clear out any data in the pipeline.
Comment 4 Álvaro López López 2012-09-03 17:01:03 UTC
What about this? Is it possible to do anything?

I tried what explained here: http://gstreamer-devel.966125.n4.nabble.com/Flush-RTSP-pipeline-td4655706.html#a4656138

But the bus callback eats the memory so quicky (calling gst_element_seek so many times)...

Thanks in advance
Comment 5 Sebastian Dröge (slomo) 2013-08-21 18:30:34 UTC
There now is a flush event that does not reset time. Is that good enough for fixing this?
Comment 6 GStreamer system administrator 2018-11-03 14:42:47 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/35.