Seeking during playback

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

Seeking during playback

Thornton, Keith

Hi,

I have two pipelines (Gstreamer 1.8.1 Windows 7 x64), one is started when I want to record i.e. running time is 0, the other is started to produce a live image. This second pipeline has a tee and a second branch is added when a recording is needed i.e. recording starts at time > 0.

Both pipelines use the same encoder to encode an mp4 file in H264.

The DTS in both files is identical starting at 0 and monotonously incrementing. PTS is delivered by the decoder.

When I play back the files, both play correctly and I can jump back and forth in both files using VLC and media player.

With gstreamer.I can jump back and forth, pause and play in the first file but not with the second.

The only difference I can see is the position field of the segment event is 0 in the first case but not in the second.

This seems to cause the file to reposition at EOS. Why should these position fields be different?

Can anyone tell me what I am doing wrong here? Is there more timing information stored in the recording over and above the PTS and DTS ?

Thanks for any help

Regards


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: Seeking during playback

Sebastian Dröge-3
On Mi, 2016-05-18 at 09:16 +0000, Thornton, Keith wrote:

> Hi,
> I have two pipelines (Gstreamer 1.8.1 Windows 7 x64), one is started
> when I want to record i.e. running time is 0, the other is started to
> produce a live image. This second pipeline has a tee and a second
> branch is added when a recording is needed i.e. recording starts at
> time > 0.
> Both pipelines use the same encoder to encode an mp4 file in H264.
> The DTS in both files is identical starting at 0 and monotonously
> incrementing. PTS is delivered by the decoder.
> When I play back the files, both play correctly and I can jump back
> and forth in both files using VLC and media player.
> With gstreamer.I can jump back and forth, pause and play in the first
> file but not with the second.
> The only difference I can see is the position field of the segment
> event is 0 in the first case but not in the second.
> This seems to cause the file to reposition at EOS. Why should these
> position fields be different?
> Can anyone tell me what I am doing wrong here? Is there more timing
> information stored in the recording over and above the PTS and DTS ?
> Thanks for any help
Can you file a bug about this with a testcase that creates those two
files? I assume any playbin based application then behaves like this on
the created files?

Just adding a muxer when needed to a tee is supposed to work.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com


_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

AW: Seeking during playback

Thornton, Keith
Hi Sebastian,
I'm sure I am failing to set some field correctly in my encoder. It is not a gstreamer error. I'm just fishing around trying to find out what I haven't set or set incorrectly. If I substitute x264enc for my encoder, seeking works.

-----Ursprüngliche Nachricht-----
Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Sebastian Dröge
Gesendet: Mittwoch, 18. Mai 2016 14:25
An: Discussion of the development of and with GStreamer
Betreff: Re: Seeking during playback

On Mi, 2016-05-18 at 09:16 +0000, Thornton, Keith wrote:

> Hi,
> I have two pipelines (Gstreamer 1.8.1 Windows 7 x64), one is started
> when I want to record i.e. running time is 0, the other is started to
> produce a live image. This second pipeline has a tee and a second
> branch is added when a recording is needed i.e. recording starts at
> time > 0.
> Both pipelines use the same encoder to encode an mp4 file in H264.
> The DTS in both files is identical starting at 0 and monotonously
> incrementing. PTS is delivered by the decoder.
> When I play back the files, both play correctly and I can jump back
> and forth in both files using VLC and media player.
> With gstreamer.I can jump back and forth, pause and play in the first
> file but not with the second.
> The only difference I can see is the position field of the segment
> event is 0 in the first case but not in the second.
> This seems to cause the file to reposition at EOS. Why should these
> position fields be different?
> Can anyone tell me what I am doing wrong here? Is there more timing
> information stored in the recording over and above the PTS and DTS ?
> Thanks for any help

Can you file a bug about this with a testcase that creates those two files? I assume any playbin based application then behaves like this on the created files?

Just adding a muxer when needed to a tee is supposed to work.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel