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 320644 - RTP packetizer does't set the packet timestamps correctly
RTP packetizer does't set the packet timestamps correctly
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
git master
Other Linux
: Normal blocker
: 0.9.7
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2005-11-03 19:11 UTC by Sebastien Cote
Modified: 2005-12-01 17:03 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Proposed fix (3.40 KB, patch)
2005-11-03 19:24 UTC, Sebastien Cote
reviewed Details | Review
updated fix (3.90 KB, patch)
2005-11-29 16:32 UTC, Sebastien Cote
none Details | Review
Improved patch (5.48 KB, patch)
2005-11-30 15:56 UTC, Wim Taymans
none Details | Review

Description Sebastien Cote 2005-11-03 19:11:00 UTC
The RTP packetizer base class doesn't set the timestamps correctly in the
packets. This is because the timestamp of the segment is never substracted from
the packet's timestamp.

If you use rtpbin, it will overwrite the packet's timestamp so you you won't
notice it. You can see this problem by using udpsink.
Comment 1 Sebastien Cote 2005-11-03 19:24:39 UTC
Created attachment 54291 [details] [review]
Proposed fix
Comment 2 Sebastien Cote 2005-11-29 15:24:29 UTC
The fix changes the size of GstBaseRtpPayload so I think it should go in before
0.10.
Comment 3 Tim-Philipp Müller 2005-11-29 16:16:09 UTC
Not to mention that the structure has no padding even though it's an installed
header.

Could you update your patch to add 

   /*< private *>/
   gpointer _gst_reserver[GST_PADDING];

at the end of both structs (the instance and the class struct)?

Cheers
 -Tim

Comment 4 Sebastien Cote 2005-11-29 16:32:21 UTC
Created attachment 55376 [details] [review]
updated fix

Adds the padding bytes at the end of the instance and class structures.
Comment 5 Wim Taymans 2005-11-29 17:42:20 UTC
There is a lot more support for this in the core nowadays (see GstSegment). When
receiving the newsegment, update the GstSegment. The total running time can then
be retrieved with gst_segment_to_running_time(). This will be more correct when
dealing with looping elements and other elements that update or start new
segments without flushing.
Comment 6 Wim Taymans 2005-11-30 15:56:55 UTC
Created attachment 55427 [details] [review]
Improved patch

improved patch, uses GstSegment to manage segments. Also adds padding.
Comment 7 Wim Taymans 2005-11-30 19:08:32 UTC
aplied in CVS