[gstreamer-bugs] [Bug 611500] New: [regression] Wrong outgoing timestamps
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Mon Mar 1 09:16:31 PST 2010
https://bugzilla.gnome.org/show_bug.cgi?id=611500
GStreamer | gst-ffmpeg | git
Summary: [regression] Wrong outgoing timestamps
Classification: Desktop
Product: GStreamer
Version: git
OS/Version: Linux
Status: UNCONFIRMED
Severity: blocker
Priority: Normal
Component: gst-ffmpeg
AssignedTo: gstreamer-bugs at lists.sourceforge.net
ReportedBy: bilboed at gmail.com
QAContact: gstreamer-bugs at lists.sourceforge.net
GNOME target: ---
GNOME version: ---
The timestamp reordering code in gst-ffmpeg seems to have a problem with
buffers coming in with DTS values as buffer timestamps.
The following is an example of what happens (following a seek to
0:02:29.960000000):
* Incoming buffer 0:02:29.960000000
avdecode_video decodes it properly, we push it out with that timestamp
* Incoming buffer 0:02:30.000000000
avdecode_video consumes it but doesn't return anything for the moment
* Incoming buffer 0:02:30.040000000
avdecode_video decodes it properly but we set a timestamp of
0:02:30.040000000
* Incoming buffer 0:02:30.080000000
avdecode_video decodes it properly, but we get a timestamp of
0:02:30.000000000, we finally recognize the incoming data was in DTS and
therefore patch up the timestamp to 0:02:30.080000000
So we push out:
0:02:29.960000000 (which has the proper timestamp since it's the keyframe)
0:02:30.040000000 (which should have been 0:02:30.000000000)
0:02:30.080000000 (which should have been 0:02:30.040000000)
So two things are wrong:
1) We detect that the incoming stream is timestamped as DTS too late
2) We introduce an offset of one frame in the outgoing buffers
We should have detected when avdecode_video returns the SECOND buffer that the
incoming stream is DTS, instead of at the THIRD buffer it outputs
NOTES:
Extract of debug log for incoming values we store in the ts_handler system
store timestamp @ index [01] buf_count: 0 ts: 0:02:29.960000000 duration:
0:00:00.040000000, offset: 18446744073709551615, size: 9266
store timestamp @ index [02] buf_count: 0 ts: 0:02:30.000000000 duration:
0:00:00.040000000, offset: 18446744073709551615, size: 1569
store timestamp @ index [03] buf_count: 0 ts: 0:02:30.040000000 duration:
0:00:00.040000000, offset: 18446744073709551615, size: 40
store timestamp @ index [04] buf_count: 0 ts: 0:02:30.080000000 duration:
0:00:00.040000000, offset: 18446744073709551615, size: 1740
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the Gstreamer-bugs
mailing list