Commit graph

485 commits

Author SHA1 Message Date
Tim-Philipp Müller
0aa0b89aaf tests: appsrc: clean up block_deadlock test and make it work in valgrind
Remove all the bus watch and main loop code from the block_deadlock
test, it's not needed: neither pipeline will ever post an EOS or ERROR
message on the bus, and we're the only ones posting an error, from a
timeout. Might just as well just sleep for a bit and then do whatever
we want to do.

Don't gratuitiously set tcase timeout, just use whatever is the
default (or set via the environment).

Make individual pipeline runs shorter.

Check for valgrind and only do a handful iterations when running
in valgrind, not 100 (each iteration takes about 4s on a core i7).

Make videotestsrc output smaller buffers than the default resolution,
we don't care about the buffer contents here anyway.

Fixes test timeouts when run in valgrind.
2015-04-05 13:53:38 +01:00
Tim-Philipp Müller
46aa47440f tests: multisocketsink: fix flaky unit test
On slower systems, or under high system load (e.g. check-valgrind),
the sending_buffers_with_9_gstmemories test would sometimes fail,
because the read call only returns 32 bytes instead of the full
36 bytes expected. This is because multisocketsink might end up
doing a partial write of 32 bytes first, and then write the
missing 4 bytes later, but since we don't wait for all of data
to be written, there's a short window where our read call in the
unit test might then only receive the 32 bytes written so far,
which makes it deeply unhappy.

Instead, make sure we loop to read all bytes.
2015-04-05 12:59:11 +01:00
Tim-Philipp Müller
413fc30235 videorate: fix a couple of memory leaks
tests: videorate: fix leak in unit test
2015-04-04 00:49:21 +01:00
Thibault Saunier
ae86dec9ca videorate: Detect framerate if not forced to variable downstream
In case upstream does not provide videorate with framerate information,
it will detect the current framerate from the buffer it received,
but if downstream forces the use of variable framerate (most probably
through the use of a caps filter with framerate = 0 / 1), videorate will
respect that.

And add some unit tests

https://bugzilla.gnome.org/show_bug.cgi?id=734424
2015-04-02 17:13:24 -04:00
Sebastian Dröge
15cc12b0b9 multisocketsink: Allocate enough memory on the stack in the test
Otherwise we just overwrite other things on the stack and cause crashes.
2015-03-16 20:41:19 +01:00
William Manley
b8232a7467 multisocketsink: Map GstMemorys individually when sending
If a buffer is made up of non-contiguous `GstMemory`s `gst_buffer_map`
has to copy all the data into a new `GstMemory` which is contiguous.  By
mapping all the `GstMemory`s individually and then using scatter-gather
IO we avoid this situation.

This is a preparatory step for adding support to multisocketsink for
sending file descriptors, where a GstBuffer may be made up of several
`GstMemory`s, some of which are backed by a memfd or file, but I think this
patch is valid and useful on its own.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=746150
2015-03-13 16:20:50 +01:00
Danny Song
6ccef9d223 test : fix leaks in adder unit test
https://bugzilla.gnome.org/show_bug.cgi?id=739640
2014-11-05 18:08:44 +00:00
Tim-Philipp Müller
a82e99b093 tests: fix playbin-complex test on big endian 2014-10-24 13:09:42 +01:00
Tim-Philipp Müller
7834d733bc tests: fix adder check on big-endian 2014-10-24 12:26:40 +01:00
Thiago Santos
2157497405 tests: textoverlay: add test to reproduce fakesink scenario
Adds a new test to textoverlay to make sure it can properly handle
elements that have ANY caps but fail to add the overlay meta in
the allocation query.

This test verifies that textoverlay won't use the caps features even
knowing that the overlay meta is accepted when querying the downstream
caps because it also needs downstream to confirm by putting the meta
in the allocation query.

https://bugzilla.gnome.org/show_bug.cgi?id=735800
2014-09-01 15:25:56 -03:00
Thiago Santos
a080c0ebbf basetextoverlay: rework caps negotiation
Make textoverlay negotiate caps more correctly.

1) Check what caps we received in the video-sink
2) If it already has the overlay meta -> use it directly
3) If it doesn't, textoverlay try adding the overlay meta and using it,
   if downstream doesn't support it, just use what is received in the
   video-sink
4) Check if the allocation query also supports the meta to enable
   really using it

Before it wasn't really doing renegotiation of any kind, just
re-checking if it should use the overlay meta or not

Also had to update the caps in the test as memory:SystemMemory seems
to be required when you use a caps feature otherwise intersection/subset
checks will fail.

https://bugzilla.gnome.org/show_bug.cgi?id=733916
2014-08-11 11:40:44 -03:00
Thiago Santos
c9904fb639 encodebin: delay missing encoder error as passthrough is still possible
Set up a fakesink with a pad probe to replace the missing encoder to detect
if encoding was really required and only error out in this case. Otherwise
just let passthrough branch work.

This delays the error posting from the set_state function to when buffers
are really flowing. Unit test updated accordingly

https://bugzilla.gnome.org/show_bug.cgi?id=650652
2014-08-11 10:30:58 -03:00
Sebastian Rasmussen
9995054e80 tests: Add missing unrefs of objects after use
Unreffing the objects returned by gst_bin_get_by_name() and
gst_pipeline_get_use() were missing in several tests, so add these.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=734359
2014-08-06 15:18:56 +02:00
Sebastian Dröge
960f676407 playbin: Fix unit test for last change
It will successfully asynchronously go to PAUSED now and
later fail.
2014-07-21 09:35:36 +02:00
Sebastian Dröge
a67d745de2 playbin-complex: Change template name from %d to the more common %u 2014-07-21 09:35:36 +02:00
Thiago Santos
783195ccef decodebin: aggregate buffering messages
Aggregate buffering messages to only post the lower value
to avoid setting pipeline to playing while any multiqueue
is still buffering.

There are 3 scenarios where the entries should be removed from
the list:

1) When decodebin is set to READY
2) When an element posts a 100% buffering (already implemented)
3) When a multiqueue is removed from decodebin.

For item 3 we don't need to handle it because this should only
happen when either 1 is hapenning or when it is playing a
chained file, for which number 2 should have happened for the
previous stream to finish

https://bugzilla.gnome.org/show_bug.cgi?id=726423
2014-05-29 18:59:30 -03:00
Sebastian Dröge
13954ce3e5 audioresample: Fix memory leaks in test 2014-04-15 19:31:28 +02:00
Sebastian Dröge
846a4a1038 videotestsrc: Fix memory leak in test 2014-04-15 13:54:45 +02:00
Sebastian Dröge
1822a6b31c encodebin: Fix memory leak in test 2014-04-15 13:48:46 +02:00
Sebastian Dröge
1266fd0046 audioconvert: Fix leaks in unit test 2014-04-15 13:03:34 +02:00
Thiago Santos
b7cf2fa571 tests: decodebin: port old decodebin2 test for parser and decoder linking
They were in the old decodebin2.c tests file and were never ported.
Now we can get rid of decodebin2.c
2014-03-16 14:36:51 -03:00
Matthieu Bouron
c904661dc3 tests: add textoverlay passthrough with composition feature unit tests
https://bugzilla.gnome.org/show_bug.cgi?id=721953
2014-03-05 20:39:01 +01:00
Stefan Sauer
2337311216 encodebin: simplify tests
Also use the profile helper for the ogg profile here.
2014-02-18 20:52:11 +01:00
Stefan Sauer
465dfe4920 encodebin: refactor tests
Add a new test to demo how to get missing plugin message.
Split some tests that unneccesarily munge unrelated checks into one test.
2014-02-16 22:16:17 +01:00
Sebastian Dröge
ce59ac561e playbin: Fix memory leak in unit test 2014-02-10 16:33:35 +01:00
Sebastian Dröge
e22243b2d0 videoscale: Fix compiler warning in unit test
error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
2014-02-08 17:11:54 +01:00
Sebastian Dröge
4046a880de videoconvert: Fix compiler warning in unit test
error: implicit conversion from enumeration type
'GstFormat' to different enumeration type 'GstVideoFormat'
2014-02-08 17:11:04 +01:00
Wim Taymans
d899e6df5a video: rename NV12T -> NV12_64Z32
Is a bit more descriptive and allows us to add more tiled types
later.

https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:52 -05:00
Wim Taymans
12eedf86e8 tests: fix videoscale test for NV12T
https://bugzilla.gnome.org/show_bug.cgi?id=707361
2014-01-13 10:46:24 -05:00
Sebastian Dröge
4f4ff6bda6 subparse: Add unit test for LRC subtitles 2013-12-18 15:52:53 +01:00
Tim-Philipp Müller
60e87090eb tests: add unit test for samiparser issue
https://bugzilla.gnome.org/show_bug.cgi?id=712805
2013-11-21 16:34:25 +00:00
Tim-Philipp Müller
b79d6b1c09 tests: fix appsrc test with latest GLib version
With the latest GLib, g_source_remove() complains about not finding
the timeout source with the given ID here, since it was already
destroyed by returning FALSE from the timeout callback. Also return
FALSE from the bus watches when we don't want to be called any more.
2013-11-18 16:03:07 +00:00
Tim-Philipp Müller
7509343e53 tests: fix race in streamsynchronizer test
Wait for thread to exit before starting to free the
to_push list, otherwise thread might check the final
to_push->next node only after we've freed it already.
2013-11-12 19:03:19 +00:00
Sebastian Dröge
2b9118f58c adder: Free consistency checker instance in test_live_seeking test 2013-11-06 12:16:31 +01:00
Sebastian Dröge
69e95ffb24 adder: Release some request pads properly in the unit test 2013-11-06 12:01:14 +01:00
Thiago Santos
7dfb903cb4 videotestsrc: improve test for backwards playback
Improve test by checking that timestamps are decreasing
2013-10-08 16:20:03 -03:00
Thiago Santos
c2eb3d4e71 videotestsrc: implement duration query
Add duration query to videotestsrc, it can answer this query when
the num-buffers property is set.

https://bugzilla.gnome.org/show_bug.cgi?id=709646
2013-10-08 16:10:54 -03:00
Thibault Saunier
8bcd1a2f8d tests: test videotestsrc in reverse playback
https://bugzilla.gnome.org/show_bug.cgi?id=701813
2013-10-08 11:17:17 -03:00
Edward Hervey
2cf8ac87aa check: Update .gitignore 2013-08-13 17:39:34 +02:00
Sebastian Dröge
8d65deb7ed playbin-complex: Set fakesink as audio-sink to not use a real audio device
https://bugzilla.gnome.org/show_bug.cgi?id=705157
2013-08-13 13:44:21 +02:00
Tim-Philipp Müller
dbcf68abc9 tests: fix videoscale test after video format addition 2013-07-16 18:50:09 +01:00
Young-Ho Cha
6cea51c962 tests: update sami parser testcases
Remove libxml dependency for sami parser
and add more testcases.

https://bugzilla.gnome.org/show_bug.cgi?id=693056
2013-07-16 18:10:37 +01:00
Sebastian Dröge
f2bc24a5a9 playbin: Fix assumptions in the unit test
Unused sinks are still set to READY now during autoplugging
to check their caps. Also playsink owns a ref to the sinks too.
2013-07-10 13:20:34 +02:00
Sreerenj Balachandran
eabd2a5c7b tests: add more unit test for playbin
Add unit test for autoplugging of video_decoder/video_sink combination
based on capsfeatures.
2013-06-11 15:17:37 +02:00
Sebastian Dröge
f763a2364f playbin: Rename compressed unit test to complex
It's not really about compressed streams anymore, but also
about stream switching and stream combiners.
2013-05-29 10:37:55 +02:00
Sebastian Dröge
0dee7777ff playbin: Set custom stream-combiners to NULL and unref before finalizing 2013-05-29 10:35:11 +02:00
Brendan Long
f45a102c2c playbin: Add playbin audio-stream-combiner test using adder 2013-05-29 09:53:46 +02:00
Tim-Philipp Müller
1bc94d4aa3 tests: ignore new NV16 format in videoscale unit test
https://bugzilla.gnome.org/show_bug.cgi?id=700377
2013-05-16 11:09:11 +01:00
Sebastian Dröge
d8a3895ac9 tests: Fix event order and missing events 2013-05-10 12:29:15 +02:00
Sebastian Dröge
341d67ea94 playbin-compressed: Fix unit test 2013-05-09 18:02:57 +02:00