GNOME Bugzilla – Bug 613206
[rtph264depay] wrong timestamp for gst_base_rtp_depayload_push_ts?
Last modified: 2010-03-23 11:32:57 UTC
Created attachment 156419 [details] [review] a patch for this Current code use the following code to generate a timestamp for gst_base_rtp_depayload_push_ts: ts = GST_BUFFER_TIMESTAMP (buf); ts = gst_segment_to_running_time (&depayload->segment, GST_FORMAT_TIME, ts); But I think it should be rtptime like below: ts = gst_rtp_buffer_get_timestamp (buf); Although the timestamp will never be used in current gstreamer, this bug may be a problem in future.
Created attachment 156421 [details] [review] patch for rtph264depay
Created attachment 156424 [details] [review] updated patch
AFAIK, rtph264depay is handling timestamps as it should, i.e. the same way the base depayloader does, which is not to rely on the rtptime. The latter is taken into consideration by rtpjitterbuffer (if involved), see also e.g. README in -good gst/rtp.
Base depayloader calls gst_base_rtp_depayload_push_ts with rtptime not gstreamer runtime timestamp what rtph264depay does. Althrough base depayloader make no use of rtptime in gst_base_rtp_depayload_push_ts now, rtph264depay should not pass gstreamer timestamp to gst_base_rtp_depayload_push_ts. It may cause problem in future if base depayloader makes change of gst_base_rtp_depayload_push_ts.
Ah, in that way. Then I applied following fix, which does not request timestamping at all (as the provided buffer has already been timestamped): commit fd5164af96f2ff80d92331422cd4892850913569 Author: Mark Nauwelaerts <mark.nauwelaerts@collabora.co.uk> Date: Thu Mar 18 12:20:17 2010 +0100 rtph264depay: do not call _push_ts with unneeded (and wrong) time parameter Fixes #613206.
ok.