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 612196 - gst-rtsp-server seek on the client side causes timestamps to start from 0
gst-rtsp-server seek on the client side causes timestamps to start from 0
Status: RESOLVED NOTABUG
Product: GStreamer
Classification: Platform
Component: gst-rtsp-server
unspecified
Other Linux
: Normal normal
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-03-08 14:35 UTC by Tamas Korodi
Modified: 2010-03-09 10:10 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Tamas Korodi 2010-03-08 14:35:40 UTC
I am using gst-rtsp-server's test-launch example with the following pipeline: 

filesrc location=test.h264.mkv ! matroskademux ! rtph264pay name=pay0 pt=96,

where test.h264.mkv was generated with the command: 

gst-launch videotestsrc num-buffers=1500 ! cairotimeoverlay ! x264enc ! matroskamux ! filesink location=test.h264.mkv

On the client side I am using the following command:

gst-launch rtspsrc location=rtsp://127.0.0.1:8554/test protocols=1 latency=1000 ! rtph264depay ! ffdec_h264 ! navseek ! timeoverlay line-alignment=2 ! xvimagesink

In most cases when I perform a seek on the client side, the server usually serves my request well, but on the client side the pipeline's position is reseted to 0. So the clock provided by the timeoverlay element starts counting the time from 0 sec, while the clock on the original media shows me the position where i wanted to seek to.
In some rare cases the clock on the client side was set to a random value.

Is this a bug or a feature setting the pipeline's position to 0 after every seek on the client side?

How to achieve that the positions on both the client and the server sides stays synchronous even there are seeks performed on the client side?

I tried the same configuration as above, but in this case I used vlc as the client. I performed some seeks on vlc, at the beginning vlc was able to follow the changes, but after some tries it's clock lost the synchron with the server.
Comment 1 Wim Taymans 2010-03-09 10:01:10 UTC
Timeoverlay just displays the buffer timestamp, which is usually starting from 0 again after a seek.

The position on the client side is derived from the buffer timestamps and the newsegment events. If you do a position query, you should get the position correctly.
Comment 2 Levente Farkas 2010-03-09 10:10:54 UTC
the question here is that gst-rtsp-server support seek command through rtsp? since none of the client we try (totem, vlc, mplayer) are able to correctly seek. so whether it's a gst-rtsp-server bug or client side bug? if a client side bug then it's also a gstreamer's rtspsrc but too.
are you sure it's closed as NOTABUG?