Commit graph

998 commits

Author SHA1 Message Date
Jan Schmidt
8ceb58122e splitmux: Add unit test for file splitting
Add a unit test for file splitting, and fix the leaks in the
splitmuxsink it found
2015-02-07 03:58:30 +11:00
Jan Schmidt
aa4c29c5d6 splitmux: Fix memory leaks until the test valgrinds clean 2015-02-07 00:19:36 +11:00
Jan Schmidt
7719606a5f tests: Change splitmux test video files
Avoid test failure by changing the stored video resolution
from 80x60 to 80x64, which needs bug 741030 to be fixed.
2015-02-06 05:03:19 +11:00
Jan Schmidt
5e2214d309 splitmux: Implement new elements for splitting files at mux level.
Implement 2 new elements - splitmuxsink and splitmuxsrc.

splitmuxsink is a bin which wraps a muxer and takes 1 video stream,
plus audio/subtitle streams, and starts a new file
whenever necessary to avoid overrunning a threshold of either bytes
or time. New files are started at a keyframe, and corresponding audio
and subtitle streams are split at packet boundaries to match
video GOP timestamps.

splitmuxsrc is a corresponding source element which handles
the splitmux:// URL and plays back all component files,
reconstructing the original elementary streams as it goes.
2015-02-06 04:26:59 +11:00
Thiago Santos
59431f663a tests: souphttpsrc: update ssl key/cert pair
Our ones were expired. The new ones were copied from libsoup's
tests files.

Also sets the property to use our own cert to validate the
server, otherwise the default system certs would be used
and it would fail.
2015-02-04 21:37:50 -03:00
Tim-Philipp Müller
953789fb8e tests: gdkpixbufoverlay-test: remove outdated FIXME 2014-12-30 18:03:22 +00:00
Tim-Philipp Müller
d67da4c8ae tests: rtpcollision: use alawenc/dec in these tests instead of Speex
They should always be built, while the speex elements are not.

Need to check for a smaller number of buffers then (7->4) because
speexenc will add 3 header buffers while alawenc will just output
as many buffers as it receives as input.

https://bugzilla.gnome.org/show_bug.cgi?id=742098
2014-12-30 17:19:59 +00:00
Tim-Philipp Müller
f1972b667e tests: simple-launch-lines: only run jpeg/png tests if elements are available 2014-12-30 16:37:00 +00:00
Tim-Philipp Müller
d416336a6e tests: rtpaux: use alawenc/dec in these tests instead of Speex
They should always be built, while the speex elements are not.

https://bugzilla.gnome.org/show_bug.cgi?id=742098
2014-12-30 14:58:02 +00:00
Tim-Philipp Müller
f0e8821f76 tests: gdkpixbufoverlay-test: use absolute positioning to fix demo
https://bugzilla.gnome.org/show_bug.cgi?id=739566
2014-12-25 15:38:43 +00:00
Tim-Philipp Müller
75917de294 tests: add interactive gdkpixbufoverlay test
Just need to fix the coordinate system now so
that negative offsets are actually negative
and not flipped to position things from the
opposite border.
2014-11-30 14:35:08 +00:00
Tim-Philipp Müller
7b64b3e109 tests: add interactive test for gapless playback using SEGMENT seeks
Not working too well yet, there are glitches even with WAV or FLAC.

https://bugzilla.gnome.org/show_bug.cgi?id=692368
2014-11-28 10:46:06 +00:00
Tim-Philipp Müller
4459088c6d test: use gst_util_uint64_scale_round() for timestamp to sample calculation 2014-11-27 11:20:36 +00:00
Tim-Philipp Müller
65ff17660b tests: add interactive test for accurate seeking
For some audio formats.

https://bugzilla.gnome.org/show_bug.cgi?id=655276
2014-11-27 11:17:58 +00:00
Henning Heinold
8aa2630068 examples: port python rtp PCMA client/server tests to 1.0
https://bugzilla.gnome.org/show_bug.cgi?id=739930
2014-11-17 00:23:13 +00:00
Tim-Philipp Müller
da51a99403 tests: don't use deprecated property in level unit test 2014-11-02 16:58:30 +00:00
Sebastian Dröge
543c8772cb aacparse: Fix unit test now that we always have profile/level in the caps 2014-10-27 11:08:40 +01:00
Tim-Philipp Müller
146702e226 tests: fix rgvolume test on big-endian systems 2014-10-25 11:09:57 +01:00
Tim-Philipp Müller
e6f6d9045c tests: fix mulawdec/mulawenc test for big endian systems 2014-10-25 11:09:57 +01:00
Sjoerd Simons
0ee384b251 rtpmux: Don't set PROXY_CAPS flag on the src pad
rtpmux behaves like a funnel in that it forwards whatever upstream is
sending buffers. So setting proxy caps doesn't make sense as the
upstream don't have to have compatible caps, thus resulting in an empty
caps set as a result of a caps query. Instead set fixed caps just
as funnel does.

https://bugzilla.gnome.org/show_bug.cgi?id=738722
2014-10-21 10:52:00 +02:00
Olivier Crête
155ed569c3 rtpdtmfsrc: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
2014-10-10 18:12:32 -04:00
Olivier Crête
b3069634bd rtpmux: clock-base and seqnum-base -> timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
2014-10-10 18:12:23 -04:00
Edward Hervey
5765db50a1 check/soup: Temporarily disable G_ENABLE_DIAGNOSTIC
The SOUP_SERVER_PORT property has been deprecated in recent libsoup
versions.
2014-09-23 09:48:27 +02:00
Edward Hervey
9e47ea2dc8 check/soup: Define minimum version required
To avoid deprecation warnings
2014-09-23 09:48:27 +02:00
Tim-Philipp Müller
d9a7954dc9 tests: udpsrc: add check to make sure multiple memory chunks are used 2014-09-09 17:42:02 +01:00
Tim-Philipp Müller
5c76255bc1 tests: udpsrc: wait for buffers with GCond instead of sleeping
Avoids half-second sleep for no reason.
2014-09-09 17:42:02 +01:00
Tim-Philipp Müller
7b1774513e tests: udpsrc: split out socket setup 2014-09-09 17:42:02 +01:00
Thiago Santos
0430ea87a3 tests: vp8dec: add test for caps renegotiation
Check that vp8dec can properly accept a new caps when upstream
changes it

https://bugzilla.gnome.org/show_bug.cgi?id=734266
2014-09-02 01:01:43 -03:00
Ravi Kiran K N
67255c6b49 examples: use 'post-messages' property instead of deprecated 'message' property
https://bugzilla.gnome.org/show_bug.cgi?id=734979
2014-08-18 11:06:09 +01:00
Mark Nauwelaerts
6ea83d97c5 tests: rtp-payloading: adjust test data to avoid NAL chopping
... and correspondingly unexpected buffer sizes.
2014-08-10 12:32:38 +02:00
Sebastian Rasmussen
70a43758bb shapewipe: Unref caps and element after usage
https://bugzilla.gnome.org/show_bug.cgi?id=734478
2014-08-10 11:09:09 +01:00
Philippe Normand
b8b5704445 interleave: set output caps layout to interleaved
Set output caps layout independently from input caps layout which can
be either non-interleaved or interleaved.

https://bugzilla.gnome.org/show_bug.cgi?id=733866
2014-07-29 11:49:32 +02:00
Sebastian Rasmussen
c541e56b0c tests: fix pipeline leak in videocrop test
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
2014-07-10 22:26:43 +01:00
Sebastian Rasmussen
5cd0261f77 examples: client-rtpaux: Release reference to parent when done
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732976
2014-07-10 22:25:25 +01:00
Tim-Philipp Müller
46f6687bf6 tests: qtmux: suppress glib criticals caused by testing deprecated dts methods 2014-07-04 19:46:41 +01:00
Sebastian Dröge
0e13172837 rtpsession: Fix memory leaks in unit test 2014-06-30 00:00:43 +02:00
Tim-Philipp Müller
4edbd4c368 tests: matroskaparse: fail on errors and disable pull mode test
Actually look for error messages on the bus and fail if there
is one before the EOS message. Disable pull mode test which is
pointless as long as matroskaparse only supports push mode
(pull mode support has not been ported over to 1.0).
2014-06-28 17:40:45 +01:00
Ravi Kiran K N
e4f0133cb1 videobox: Add unit test
https://bugzilla.gnome.org/show_bug.cgi?id=732144
2014-06-26 18:52:17 +02:00
Tim-Philipp Müller
f7aeb57858 tests: add udpsink test to check client add/remove 2014-06-24 10:48:39 +01:00
Tim-Philipp Müller
495dfe3c5b tests: port udpsink tests to 1.0
They all seem a bit pointless though.
2014-06-24 10:48:32 +01:00
Tim-Philipp Müller
c7c72c00b1 rtph264pay: push single buffer directly, no need to wrap it in a bufferlist
No point in a buffer list if we just have one single
buffer to push. Fix up unit test to handle that case
as well.
2014-06-18 14:54:58 +01:00
Olivier Crête
4377dfeadd rtprtx: Reset state on each iteration
Otherwise it didn't wait for the test to finish before checking the results.

https://bugzilla.gnome.org/show_bug.cgi?id=728501
2014-06-03 17:59:32 -04:00
George Kiagiadakis
b19c830a1c tests/check: rtpsession: test internal sources timing out 2014-05-14 16:01:50 +02:00
Wim Taymans
b2e1598e4a rtpjitterbuffer: increment accepted packets after loss
When we detect a lost packet, expect packets with higher
seqnum on the input.

Also update the unit test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729524
2014-05-09 18:10:32 +02:00
Jason Litzinger
9068e1bb8e Add new test case. 2014-05-09 18:10:32 +02:00
Wim Taymans
5c90f17cf0 shapewipe: no need to activate pads
Activation will happen in the state change
2014-05-09 18:10:31 +02:00
Tim-Philipp Müller
c3bd2bdcf4 tests: fix compilation of souphttpsrc test for libsoup 2.40 for real
https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 15:49:39 +01:00
Tim-Philipp Müller
cf94d498e6 tests: fix compilation of souphttpsrc test for libsoup 2.40
SOUP_CHECK_VERSION was only added in 2.41, but we only
depend on 2.40.

https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-05-07 13:27:10 +01:00
Olivier Crête
985897d8d9 rtpaux/rtprtx: Make tests non-racy
Fix the raciness by iterating on a condition instead of using the gmainloop.
Don't use the EOS as the target, otherwise the retransmission of the last
packets are lost. Also count the retranmissions requests that are dropped.
Check the condition before blocking on the GCond

https://bugzilla.gnome.org/show_bug.cgi?id=728501
2014-05-04 22:37:26 -04:00
Olivier Crête
0742a5a257 rtpmux: Always let upstream chose the ssrc if it wishes 2014-05-04 19:11:03 -04:00
Olivier Crête
2e54d38dd0 rtpsession: Keep local conflicting addresses in the session
As we now replace the local RTPSource on a conflict, it's no longer possible
to keep local conflicts in the RTPSource, so they instead need to be kept
in the RTPSession.

Also fix the rtpcollision test to generate multiple collisions instead of
one by change the address, as otherwise we detected that it was a single one.
2014-05-03 18:30:20 -04:00
Sebastian Dröge
3b5deb2b45 shapewipe: Send initial events after setting the elements to PLAYING
Otherwise we send them too early, and setting the elements to PLAYING
afterwards will drop all the events again.
2014-05-03 11:43:21 +02:00
Sebastian Dröge
2149d5a9bd rtprtx: Don't forget to unmap rtp buffer in the test 2014-04-17 18:07:09 +02:00
Sebastian Dröge
5dba8dfe59 rtprtx: Provide an ssrc in the test
And increase timeout to allow all tests to run in valgrind.
2014-04-17 17:43:12 +02:00
Sebastian Dröge
02d9b5e6f8 rtpsession: Fix memory leaks in test 2014-04-17 17:33:46 +02:00
Sebastian Dröge
02e62c139d rtpjitterbuffer: Fix hundreds of memory leaks in the test 2014-04-17 17:26:36 +02:00
Sebastian Dröge
0c073b2d1d rtpcollision: Fix memory leaks in unit test 2014-04-17 16:39:59 +02:00
Sebastian Dröge
cd4c17031b videomixer: Fix memory leak in unit test 2014-04-16 19:03:47 +02:00
Sebastian Dröge
6c02593386 aacparse: Fix memory leak in the test 2014-04-16 17:35:42 +02:00
Reynaldo H. Verdejo Pinochet
f187d9fc7c tests: souphttpsrc: use SoupKnownStatusCode if needed
From libsoup docs:

Prior to 2.44 SoupStatus was called SoupKnownStatusCode,
but the individual values have always had the names they
have now.

Fixes:
  https://bugzilla.gnome.org/show_bug.cgi?id=727329
2014-04-07 17:48:35 -03:00
Nicolas Dufresne
418a4940a8 v4l2: Use a copy of videodev2.h header
With years the amount of ifdef have grown up and we are not even sure if the
old code path compiles. Each time we need to update the v4l2 framework to add
the new feature, we break compilation on older kernel. With exception of two
controls in the video orientation control, this patch get rid of all ifdef by
including the latest version of videodev2.h inside GStreamer.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723446
2014-03-15 13:54:47 +01:00
Sebastian Rasmussen
1a91ab31d1 tests: Don't build disabled plugins' check tests
https://bugzilla.gnome.org/show_bug.cgi?id=723502
2014-02-26 21:07:57 +01:00
Stefan Sauer
ce683b0031 autodetect: improve the tests
Add fake audio/video sinks. Previously running the test might be flaky due to
the use of real elements (hardware in use), which we don't want to test here.
Add two more tests that check that the fakes are chosen.
2014-02-19 21:07:28 +01:00
Stefan Sauer
02e59756a9 autodetect: fix the disabled test
Use a shared helper for both tests. It turns out that the valgrind variant is
fine (maybe due to picking up pulsesink though).
2014-02-19 11:26:22 +01:00
Stefan Sauer
c40e8b1210 autodetect: remove cruft from the test
Remove the obsolete version check and use the ignore macro for the disabled test.
2014-02-19 11:05:35 +01:00
Wim Taymans
6af234e29e tests: fix typecast to fix compilation 2014-02-14 15:53:55 +01:00
Sebastian Dröge
1a78a7eb22 souphttpsrc: Fix implicit enum conversion compiler warning
error: implicit conversion from enumeration type
'SoupStatus' to different enumeration type 'SoupKnownStatusCode'
2014-02-08 17:43:32 +01:00
Sebastian Dröge
ec1899e456 interleave: Fix unitialized variable compiler warning in test
error: variable 'mask' is used uninitialized
whenever 'if' condition is false [-Werror,-Wsometimes-uninitialized]
2014-02-08 17:41:21 +01:00
Edward Hervey
ceb602073a check: Use fakesink sync=True instead of an audio sink
Ensures the test can run on systems without alsa (or any audio output for
that matter), and will avoid people running build slaves wondering what
the hell was beeping during the night :)
2014-01-29 10:37:53 +01:00
George Kiagiadakis
016e1562a6 tests: rtprtx::test_rtxreceive_data_reconstruction: remove useless code for triggering retransmission
There is no need anymore to push yet another buffer in rtxsend
in order to trigger the previously requested retransmissions
to actually happen.
2014-01-21 15:00:54 +01:00
George Kiagiadakis
184553151d tests: rtprtx::test_rtxreceive_data_reconstruction: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
7677aec2fa tests: rtprtx::test_rtxsender_packet_retention: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
7011f98d7e tests: rtprtx::test_push_forward_seq: fix race condition
Now with rtprtxsend pushing rtx buffers from a different thread,
this is necessary to ensure that the result of the test is deterministic.

This code makes use of GstCheck's global GMutex and GCond that are
being used inside GstCheck's sink pad chain() function in order
to synchronize with it.
2014-01-21 15:00:53 +01:00
George Kiagiadakis
c702e37091 tests: rtprtx::test_push_forward_seq: fix buffer refcounting 2014-01-21 15:00:53 +01:00
Olivier Crête
8a143dfcbc tests: Remove usage of the system clock from the rtprtx test 2014-01-15 10:13:12 +01:00
Olivier Crête
f0a4f26fa7 tests: Initial segment in rtpcollision test 2014-01-15 10:13:12 +01:00
George Kiagiadakis
a7823bc522 examples/*-rtpaux: specify payload type association for the audio stream, so that rtx works also for audio 2014-01-15 10:13:12 +01:00
Stefan Sauer
d1223ebd10 wavparse: split the test
This way one failure won't shadow the other test and also if one fails we get
better disgnostics through the test-name.
2014-01-06 21:13:37 +01:00
George Kiagiadakis
94e4cd203b test/check: Verify rtprtxsend::ssrc-map property works as expected 2014-01-03 20:48:29 +01:00
George Kiagiadakis
9226091235 rtprtxreceive: modify to use a payload-type map like rtprtxsend 2014-01-03 20:48:29 +01:00
Wim Taymans
130ad1b1fa rtprtxsend: Allow SSRC-multiplexing and multiple payload types in the original stream
Conflicts:
	tests/examples/rtp/server-rtpaux.c
2014-01-03 20:48:29 +01:00
Torrie Fischer
e29b5f8b41 examples: rtp: Add end-to-end rtpbin example with RTX elements
This example demonstrates how to use rtpbin with retransmission (rtx)
elements set in the place of rtpbin's "aux" elements in order to
enable RTP retransmission according to the rules of RFC4588.
2014-01-03 20:48:29 +01:00
Julien Isorce
5f360f3b13 tests/check: add rtpaux::test_simple_rtpbin_aux
It shows how to use "set-aux-receive" and "set-aux-send"
properties of rtpbin to set rtprtxsend and rtprtxreceive

Build 2 pipelines, one for rtpbin as a sender and one for
rtobin as a receive. Then transmit an audio stream.

It also drops some packets to activate restransmission and
check they are actually retransmited.
2014-01-03 20:48:29 +01:00
Julien Isorce
68149d14e1 tests/check: add rtpcollision::test_rtx_ssrc_collision unit test
check that rtxrtpsend changes its retransmission ssrc when
collision happens
2014-01-03 20:48:28 +01:00
George Kiagiadakis
123bc46b60 tests/check: add rtprtx::test_rtxreceive_data_reconstruction
This unit test verifies that retransmitted rtp packets coming out
of rtprtxreceive are the same as the original ones.
2014-01-03 20:48:28 +01:00
George Kiagiadakis
487fa8c989 rtprtxsend: retransmit packets in the same order as the rtx requests 2014-01-03 20:48:28 +01:00
George Kiagiadakis
3e818e218b tests/check: Add unit test for rtxsend's max_size_time property 2014-01-03 20:48:28 +01:00
George Kiagiadakis
f7277db9e4 tests/check: Add rtprtx::test_rtxsender_packet_retention
This unit test verifies that the rtxsend element correctly maintains
a buffer of already transmitted rtp packets and that it can
re-transmit all of them correctly on demand. It also verifies
that the limit of this buffer (max-size-packets property) is respected.
2014-01-03 20:48:28 +01:00
Julien Isorce
71bdb5e088 tests/check: add rtprtx::test_drop_multiple_sender unit test
Several senders / one receiver

Similar than test_drop_one_sender but with multiple senders
mixed through the funnel element.
It drops some packets and checks that they are retransmited
correctly.
2014-01-03 20:48:28 +01:00
Julien Isorce
2a2fa7ebc0 tests/check: add rtprtx::test_drop_one_sender unit test
Test for one sender / one receiver

Build the pipeline
videotestsrc ! rtpvrawpay ! rtprtxsend ! rtprtxreceive ! fakesink
and drop some buffers between rtprtxsend and rtprtxreceive
Then it checks that every dropped packet has been re-sent.
It also checks that not too much requests has been sent.
2014-01-03 20:48:27 +01:00
Julien Isorce
2e4ce28443 tests/check: add rtprtx::test_push_forward_seq
add simple unit test that manually push buffers
in rtprtxsend connected to rtprtxreceive.
Drops some buffers and make sure they are retransmisted.
2014-01-03 20:48:27 +01:00
Wim Taymans
c83ed4f61e tests: add AUX receiver unit test 2013-12-31 15:08:49 +01:00
Wim Taymans
b91e0096b7 tests: improve rtpbin test 2013-12-31 15:08:49 +01:00
Wim Taymans
3e83e6a33d tests: add AUX sender unit test 2013-12-31 15:08:49 +01:00
Wim Taymans
841f9ad050 tests: add decoder test 2013-12-31 15:08:48 +01:00
Wim Taymans
3f3b2d0886 rtpbin: handle multiple encoder instances
Keep track of elements that are added to multiple sessions and make sure
we only add them to the rtpbin once and that we clean them when no
session refers to them anymore.
2013-12-30 16:28:57 +01:00
Wim Taymans
76e4cbc753 tests: add unit test for encoder element 2013-12-30 15:17:05 +01:00
Wim Taymans
bcd1589a91 tests: fix leak 2013-12-30 15:17:05 +01:00
Sebastian Dröge
29840bfd96 wavpackdec: Send a CAPS event in the unit test 2013-12-30 11:07:03 +01:00
Olivier Crête
dc845c1899 tests: Initialize segment in rtpcollision test 2013-12-13 16:05:41 -05:00