Commit graph

26 commits

Author SHA1 Message Date
Wim Taymans
1968127650 rtp: Fix extension data support
Allocate header, payload and padding in separate memory blocks in
gst_rtp_buffer_allocate().
don't use part of the payload data as storage for the extension data but store
it in a separate memory block that can be enlarged when needed.
Rework the one and two-byte header extension to make it reserve space for the
extra extension first.
Fix RTP unit test. Don't map the complete buffer or make assumptions on the
memory layout of the underlaying implementation. We can now always add extension
data because we have a separate memory block for it.
2012-08-22 09:56:39 +02:00
Wim Taymans
11a494d5c9 rtp: Add support for multiple memory blocks in RTP
Add support RTP buffers with multiple memory blocks. We allow one block for the
header, one for the extension data, N for data and one memory block for the
padding.
Remove the validate function, we validate now when we map because we need to
parse things in order to map multiple memory blocks.
2012-07-17 16:41:36 +02:00
Olivier Crête
cb044668d3 rtcpbuffer: Set the map.size to the current size of the RTCP packet
maxsize is the maximum size
2012-01-27 19:01:55 +01:00
Wim Taymans
fcdc385aa1 port to new map API 2012-01-25 12:30:53 +01:00
Wim Taymans
ea9ef0ee63 tests: fix some tests 2012-01-19 15:32:52 +01:00
Wim Taymans
f9967e4aac Merge branch 'master' into 0.11
Conflicts:
	gst-libs/gst/video/video.h
	gst/playback/gstplaysinkaudioconvert.c
	gst/playback/gstplaysinkvideoconvert.c
	tests/check/libs/rtp.c
2011-06-02 12:18:13 +02:00
Tim-Philipp Müller
4f6da2bcbc tests: fix some more unused-but-set-variable warnings with gcc 4.6 2011-05-29 13:32:04 +01:00
Wim Taymans
e33b73f9df tests: fix RTP and RTCP unit tests 2011-03-28 18:42:09 +02:00
Wim Taymans
40dc12da3a tests: work on porting the unit tests 2011-03-28 14:12:24 +02:00
Tim-Philipp Müller
0d39e2896e tests: fix invalid free and buffer list leak in rtp library unit test 2010-11-02 12:29:05 +00:00
Thiago Santos
8818ea08bd tests: rtp: No need to unref buffer from bufferlist
Buffers obtained from buffer list iterators don't need to
be unreffed.

Test was failing due to this.
2010-10-06 16:19:49 -03:00
Wim Taymans
77c78a6a9d check: fix rtp checks
Fix the checks for the extension support in RTP.
2010-10-05 17:13:09 +02:00
Olivier Crête
96aa439867 tests: Test the manipulations of bufferlists containing RFC 5285 header extensions 2010-10-05 16:19:14 +02:00
Olivier Crête
7612c137bd tests: Add test for RTP header extension functions 2010-10-05 16:19:14 +02:00
Wim Taymans
66c388a0e0 rtp: add bufferlist support 2009-06-18 18:51:04 +02:00
Edward Hervey
83fe624025 tests: Fix indentation 2009-02-22 13:43:35 +01:00
Wim Taymans
9ce042e2a7 Avoid overflows in the padding checks by doing the check slightly
differently.
Add a unit test to check for correct behaviour.
2009-01-21 13:09:29 +01:00
Edward Hervey
c5ae184910 gst-libs/gst/cdda/gstcddabasesrc.c: Remove erroneous gst_buffer_ref().
Original commit message from CVS:
* gst-libs/gst/cdda/gstcddabasesrc.c:
(gst_cdda_base_src_handle_event):
Remove erroneous gst_buffer_ref().
* tests/check/libs/rtp.c: (GST_START_TEST):
Don't forget to unref the buffer once you're done with it.
2008-12-12 19:41:28 +00:00
Olivier Crete
3c9df39c15 gst-libs/gst/rtp/gstrtcpbuffer.*: Implement gst_rtcp_packet_remove(). Fixes #563174.
Original commit message from CVS:
Patch by: Olivier Crete  <tester at tester ca>
* gst-libs/gst/rtp/gstrtcpbuffer.c: (gst_rtcp_packet_remove):
* gst-libs/gst/rtp/gstrtcpbuffer.h:
Implement gst_rtcp_packet_remove(). Fixes #563174.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add unit test for some RTCP functions.
2008-12-08 12:08:32 +00:00
Wim Taymans
86ab51207b gst-libs/gst/rtp/gstbasertpdepayload.c: Validate the RTP packet before further processing it. It's just too dangerous...
Original commit message from CVS:
* gst-libs/gst/rtp/gstbasertpdepayload.c:
(gst_base_rtp_depayload_chain):
Validate the RTP packet before further processing it. It's just too
dangerous to accept random packets and people are not forced to use a
jitterbuffer or session manager to filter out the bad packets.
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data),
(gst_rtp_buffer_get_payload_subbuffer):
Small cleanups.
When setting extension data in a buffer that is too small, we fail and
we should not set the extension bit.
Change GST_WARNINGS into g_warning because they really are
programming errors.
* tests/check/libs/rtp.c: (GST_START_TEST):
Catch the g_warnings now in the unit tests and that fact that failing to
set extension data left the extension bit untouched.
2008-05-14 20:28:02 +00:00
Bernard B
d06df554a9 gst-libs/gst/rtp/gstrtpbuffer.c: Fix seqnum compare function for bordercase values and fix the docs again. Fixes #533...
Original commit message from CVS:
Patch by: Bernard B <b-gnome at largestprime dot net>
* gst-libs/gst/rtp/gstrtpbuffer.c: (gst_rtp_buffer_compare_seqnum):
Fix seqnum compare function for bordercase values and fix the docs
again. Fixes #533075.
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add a testcase for seqnum compare function.
2008-05-14 13:43:12 +00:00
Wim Taymans
5c1a648f83 tests/check/libs/rtp.c: Add check for RTP buffer defaults, padding and marker bit API.
Original commit message from CVS:
* tests/check/libs/rtp.c: (GST_START_TEST):
Add check for RTP buffer defaults, padding and marker bit API.
2008-02-27 10:55:03 +00:00
Thijs Vermeir
b8d39bc200 Add gst_rtp_buffer_set_extension_data()
Original commit message from CVS:
Patch by: Thijs Vermeir <thijsvermeir at gmail dot com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
(gst_rtp_buffer_set_extension_data):
* gst-libs/gst/rtp/gstrtpbuffer.h:
* tests/check/libs/rtp.c: (GST_START_TEST), (rtp_suite):
Add gst_rtp_buffer_set_extension_data()
Add a unit test for this addition. Fixes #511478.
API: GstRTPBuffer:gst_rtp_buffer_set_extension_data()
2008-02-01 11:09:16 +00:00
Jan Schmidt
f0ca338866 tests/check/Makefile.am: Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS.
Original commit message from CVS:
* tests/check/Makefile.am:
Fix CFLAGS to also pull in the gstcheck cflags from AM_CFLAGS.
* tests/check/elements/audiorate.c: (do_perfect_stream_test):
* tests/check/elements/playbin.c:
* tests/check/libs/mixer.c: (test_element_interface_supported),
(gst_implements_interface_init):
* tests/check/libs/rtp.c: (GST_START_TEST):
Fix various assignment type mismatches.
2008-01-12 23:24:02 +00:00
Tim-Philipp Müller
03992b8779 Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
Original commit message from CVS:
* gst-libs/gst/rtp/gstrtpbuffer.c:
* tests/check/libs/rtp.c:
Fix gst_rtp_buffer_set_csrc() and enable csrc-related unit test checks.
2007-09-07 17:37:03 +00:00
Haakon Sporsheim
b2948f2453 gst-libs/gst/rtp/gstrtpbuffer.c: Fix up GstRTPHeader helper struct so that compilers will not under any circumstances...
Original commit message from CVS:
Based on patch by: Haakon Sporsheim  <haakon.sporsheim at tandberg com>
* gst-libs/gst/rtp/gstrtpbuffer.c:
Fix up GstRTPHeader helper struct so that compilers will not under
any circumstances add padding in between our fields, as currently
happens with MSVC on win32, because that would lead to us sending
out RTP payloads with broken RTP headers (#471194).
Fix assertion guards for gst_rtp_buffer_get_csrc() and _set_csrc().
* tests/check/Makefile.am:
* tests/check/libs/.cvsignore:
* tests/check/libs/rtp.c:
Add some simple unit tests for GstRTPBuffer. Some are disabled
because the code tested still needs fixing (set_csrc() does not work).
2007-09-07 16:46:05 +00:00