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 631128 - Add methods to manipulate RFC 5285 header extensions
Add methods to manipulate RFC 5285 header extensions
Status: RESOLVED FIXED
Product: GStreamer
Classification: Platform
Component: gst-plugins-base
unspecified
Other All
: Normal enhancement
: 0.10.31
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Blocks:
 
 
Reported: 2010-10-01 18:26 UTC by Olivier Crête
Modified: 2010-10-05 15:25 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
rtpbuffer: Add function to parse RFC 5285 header extensions (6.40 KB, patch)
2010-10-01 18:26 UTC, Olivier Crête
none Details | Review
rtpbuffer: Add function to append RFC 5285 one byte header extensions (5.08 KB, patch)
2010-10-01 18:26 UTC, Olivier Crête
none Details | Review
rtpbuffer: Add function to add RTP header extensions with a two bytes header (5.25 KB, patch)
2010-10-01 18:26 UTC, Olivier Crête
none Details | Review
tests: Add test for RTP header extension functions (6.50 KB, patch)
2010-10-01 18:26 UTC, Olivier Crête
none Details | Review
rtpbuffer: Add function to read RFC 5285 header extensions from GstBufferLists (4.96 KB, patch)
2010-10-01 18:26 UTC, Olivier Crête
none Details | Review
rtpbuffer: Add functions to add RFC 5285 header extensions to GstBufferLists (11.84 KB, patch)
2010-10-01 18:27 UTC, Olivier Crête
none Details | Review
rtpbuffer: Add function to transform a GstBuffer into a GstBufferList (3.28 KB, patch)
2010-10-01 18:27 UTC, Olivier Crête
none Details | Review
tests: Test the manipulations of bufferlists containing RFC 5285 header extensions (9.58 KB, patch)
2010-10-01 18:27 UTC, Olivier Crête
none Details | Review
rtcpbuffer: Add function to manipulation the data in RTCP feedback packets (4.66 KB, patch)
2010-10-01 18:27 UTC, Olivier Crête
none Details | Review

Description Olivier Crête 2010-10-01 18:26:46 UTC
Here is a series of patches to manipulate RTP header extensions defined in RFC 5285.
There are functions to handle both GstBuffer and GstBufferList, also to handle
one byte or two byte header extensions. I also added a function to transform an existing
GstBuffer into a GstBufferList so that the header can be manipulated without having to
copy the payload. 

Can be found as a git branch at:
http://git.collabora.co.uk/?p=user/tester/gst-plugins-base.git;a=shortlog;h=refs/heads/rtp-hdrext
Comment 1 Olivier Crête 2010-10-01 18:26:49 UTC
Created attachment 171526 [details] [review]
rtpbuffer: Add function to parse RFC 5285 header extensions

RFC 5285 describes a generic method to add multiple header extensions to RTP packets.
These functions parse these headers and return them, both for the one-byte header and the
two bytes headers.
Comment 2 Olivier Crête 2010-10-01 18:26:52 UTC
Created attachment 171527 [details] [review]
rtpbuffer: Add function to append RFC 5285 one byte header extensions
Comment 3 Olivier Crête 2010-10-01 18:26:54 UTC
Created attachment 171528 [details] [review]
rtpbuffer: Add function to add RTP header extensions with a two bytes header
Comment 4 Olivier Crête 2010-10-01 18:26:56 UTC
Created attachment 171529 [details] [review]
tests: Add test for RTP header extension functions
Comment 5 Olivier Crête 2010-10-01 18:26:59 UTC
Created attachment 171530 [details] [review]
rtpbuffer: Add function to read RFC 5285 header extensions from GstBufferLists
Comment 6 Olivier Crête 2010-10-01 18:27:01 UTC
Created attachment 171531 [details] [review]
rtpbuffer: Add functions to add RFC 5285 header extensions to GstBufferLists

Add functions to add header extensions to buffer lists, these functions only modify
the header part of the buffer lists, so the data is not copied.
Comment 7 Olivier Crête 2010-10-01 18:27:03 UTC
Created attachment 171532 [details] [review]
rtpbuffer: Add function to transform a GstBuffer into a GstBufferList

Add a new function called gst_rtp_buffer_list_from_buffer() that takes
a GstBuffer containing a RTP packets and spits out a GstBufferList
containing two buffers, one with the header and the other with the payload.
Comment 8 Olivier Crête 2010-10-01 18:27:06 UTC
Created attachment 171533 [details] [review]
tests: Test the manipulations of bufferlists containing RFC 5285 header extensions
Comment 9 Olivier Crête 2010-10-01 18:27:08 UTC
Created attachment 171534 [details] [review]
rtcpbuffer: Add function to manipulation the data in RTCP feedback packets

Add methods to get/set the length of the Feedback Control Information (FCI) as
well as getting a pointer to the FCI itself.
Comment 10 Wim Taymans 2010-10-05 15:25:03 UTC
Commited with fixed unit tests