Commit graph

553 commits

Author SHA1 Message Date
Stefan Sauer
267e7ba1d9 tests: remove commented code from audioconvert test
This is just what we have in gst_check_buffer_data().
2015-12-27 19:41:43 +01:00
Sebastian Dröge
387839c57e opus: Remove invalid unit test
Opus headers should never be in-band, so don't test for correct
handling of that.
2015-11-04 00:14:13 +02:00
Wim Taymans
9e15c89564 audioconvert: change multiplier for int<->float conversion
Use (1 << 31) as the multiplier for int<->float conversions. This makes
sure that int->float conversions always end up with floats between
[-1.0, 1.0].
For the conversion from float to int, this multiplier will give the complete
int range after we perform clipping.
Change the unit test to take this into consideration.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755301
2015-11-03 12:12:08 +01:00
Tim-Philipp Müller
0c992c5065 tests: subparse: add unit test for closing tag detection
</ i> should be handled like </i>

https://bugzilla.gnome.org/show_bug.cgi?id=755875
2015-09-30 18:18:15 +01:00
Vikram Fugro
bbe967a278 appsrc: retain the latest caps in queue when flushing
- Retain the latest caps in the internal queue, when
  flushing.
- Add a unit test case for the same.

https://bugzilla.gnome.org/show_bug.cgi?id=754597
2015-09-09 12:27:40 +03:00
George Kiagiadakis
41cb26b0e9 tests/appsink: add test to ensure that the segment returned by pull-preroll/sample is correct
https://bugzilla.gnome.org/show_bug.cgi?id=751147
2015-08-14 19:27:06 +02:00
Edward Hervey
ee3135c4a6 check: Use GST_CHECK_MAIN () macro everywhere
Makes source code smaller, and ensures we go through common initialization
path (like the one that sets up XML unit test output ...)
2015-06-02 16:04:40 +02:00
George Kiagiadakis
a998d380bd tests: add test for videorate caps renegotiation after a framerate has been calculated and added to caps
The original 0/1 framerate must still be allowed to be configured
on the upstream side of videorate, otherwise future caps renegotiation
is going to fail.

https://bugzilla.gnome.org/show_bug.cgi?id=750032
2015-05-29 15:03:38 +02:00
Tim-Philipp Müller
8304893d06 appsrc: optimise caps changing when previously-set caps have not taken effect yet
Only negotiate/change caps once when setting caps twice and
the first-set caps have not been used yet.

Based on patch by Eunhae Choi.

https://bugzilla.gnome.org/show_bug.cgi?id=747517
2015-05-18 13:37:54 +01:00
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
97d0927a9c opus: Remove unused variable from unit test 2014-02-08 20:08:29 +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
061b3e5fec opus: Fix event handling in unit test 2013-05-15 10:18:01 +02: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
Sebastian Dröge
fbe295f275 streamsynchronizer: Create element with gst_element_factory_make()
Otherwise plugin_init() is not called and initialization is missing.
2013-04-24 11:11:41 +02:00
Thibault Saunier
fbe80a688d adder: Do not try to wait for flush_stop after receiving a segment event
+ Add a simple test
2013-04-21 16:11:41 +02:00
Jonas Holmberg
4ff3972aa7 tests: avoid assert in adder test if no audio sources work
The array of factories should not contain a NULL element at the end
since the number of arguments is determined via G_N_ELEMENTS and the
NULL will be used as an argument to gst_element_factory_make() if
the other sources in the list weren't usable.
2013-04-12 11:06:49 +01:00
Sebastian Dröge
3de4200f61 videoscale: Fix unit test after latest videoconvert changes 2013-04-09 14:04:47 +02:00
Sebastian Dröge
99551d806c videoconvert: Fix unit test after latest videoconvert changes 2013-04-09 13:59:34 +02:00
Tim-Philipp Müller
61bc909189 tests: fix some printf format compiler warnings 2013-03-31 17:37:36 +01:00
Edward Hervey
b3d94bd0e4 encodebin: Add action signal to get pad for a given profile
This allows getting a pad for a specific encoding profile, which can
be useful when there are several stream profiles of the same type.

Also update the encodebin unit tests so that we check that the returned
pad has the right caps.

https://bugzilla.gnome.org/show_bug.cgi?id=689845
2013-03-31 12:02:05 +02:00
Stefan Sauer
8fe9f5a6ea adder: cleanup and reenable adder live source test
The test now passed a few rounds of nice -n19 make elements/adder.torture.
2013-03-29 11:49:47 +01:00
Tim-Philipp Müller
5127d31cce tests: fix appsrc unit test spam
spam 1 spam 2 spam 3 spam 4 spam 5
2013-03-13 01:00:45 +00:00
Nicola Murino
2a1dc7ca56 appsrc: fix deadlock setting pipeline in NULL state with block=true 2013-03-12 11:16:57 +01:00
Tim-Philipp Müller
63eda9ddc0 tests: fix leaks in adder unit test 2013-03-03 17:26:03 +00:00
Tim-Philipp Müller
85558575b5 tests: fix leaks in videorate unit test 2013-03-03 17:11:25 +00:00
Tim-Philipp Müller
155468d6ce tests: fix leak in audioresample unit test 2013-03-03 17:06:38 +00:00
Stefan Sauer
37bf14dafd tests: add a loop test for adder 2013-02-27 22:07:11 +01:00
Tim-Philipp Müller
ed87e77baa tests: fix encodebin unit test on 32-bit systems
Fixes critical warning on x86:
g_object_set_valist: object class `GstOggMux' has no property named `testingoggmux'
2013-02-16 23:55:57 +00:00
Stefan Sauer
cff9fccc69 adder: use the collect_pads_query func
We were setting the query-func on the sink-pad, which got overwritten when
adding the new pad to collect pads. Instead register our query-func with the
collect pads object. This fixes filter caps. Add a test for it.
2013-02-13 21:11:41 +01:00
Sebastian Dröge
c7e93ad043 decodebin: Fix MP3 parser unit test
The MP3 parser required fields on its caps that it
didn't need and never got from (e.g.) typefind.
2013-02-13 11:25:02 +01:00
Tim-Philipp Müller
804959ac5f tests: don't use deprecated thread API in streamsynchronizer test 2013-02-09 16:50:05 +00:00
Stefan Sauer
8296b683ca volume: a return value of FALSE from the controller is not fatal
A return value of FALSE here indicates that we don't have control-values. In
0.10 we were returning the default value of the property. Now we don't fill an
array with defaults in the ControlBinding, but leave it up to the element to
handle this case.
2013-01-09 23:15:06 +01:00
Thibault Saunier
e79f0e801e encodebing: Use the preset_name as the factory name and preset as the name of the preset
The naming is not perfect, but at least we can keep the exact same behaviour as
before.
2012-12-17 10:12:11 -03:00
Thibault Saunier
12aef5f47d tests: encodebin: Properly rename new preset test 2012-12-05 17:53:19 -03:00
Thibault Saunier
7358cba017 encodebin: Make use of the new preset_name when setting a preset
The behaviour is sensibly changed here. Instead of purely falling when a
preset is set on the #GstEncodingProfile, we now make sure that the
element that is plugged corresponds to the one specified as preset. Then,
if we have a preset_name, we use it, if it fails, we fail (we might rather
just keep working even without setting the element properties?)

 + Add tests that it behave correctly
2012-12-05 17:48:38 -03:00
Tim-Philipp Müller
0b172593fa tcp: print warning if someone tries to add clients in NULL state
And mention this in docs.

https://bugzilla.gnome.org/show_bug.cgi?id=689326
2012-12-02 12:54:17 +00:00
Tim-Philipp Müller
64c4fa2ca0 test: add test for playbin in combination with appsink
Make sure appsink works multiple times in a row.
Disable it though for now though.

https://bugzilla.gnome.org/show_bug.cgi?id=644989
2012-11-29 15:00:39 +00:00
Sebastian Dröge
9e8e3dfef4 videoscale: Fix unit test to ignore unsupported color formats 2012-11-27 10:30:39 +01:00
Tim-Philipp Müller
3e208df632 Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-04 00:09:59 +00:00
Tim-Philipp Müller
5f59b4f7ee Fix FSF address
https://bugzilla.gnome.org/show_bug.cgi?id=687520
2012-11-03 23:05:09 +00:00
Rasmus Rohde
c286f8ffa2 audioconvert: Prefer output formats with the same depth or at least a higher depth
Enhance current code to prefer an exact match on sample depth if
possible. Also ignore GST_AUDIO_FORMAT_FLAG_UNPACK when checking
equality on the flags.
2012-11-01 14:29:43 +01:00
Tim-Philipp Müller
3bc58b6309 tests: skip adder test_live_seeking test while it's unreliable
Was an issue in 0.10 as well.

https://bugzilla.gnome.org/show_bug.cgi?id=617418
2012-10-06 15:35:11 +01:00
Tim-Philipp Müller
6842698f0d Purge all references to liboil
And remove unused ffmpegcolorspace tests in the process.

https://bugzilla.gnome.org/show_bug.cgi?id=673285
2012-09-29 11:47:52 +01:00
Mark Nauwelaerts
c629a44162 replace gst_tag_list_free with gst_tag_list_unref 2012-09-14 17:53:21 +02:00
Mark Nauwelaerts
f7c247b6a3 replace gst_element_class_set_details_simple with gst_element_class_set_metadata 2012-09-14 17:02:59 +02:00
Mark Nauwelaerts
536276eee1 tests: port to the new GLib thread API 2012-09-12 13:09:27 +02:00
Wim Taymans
35441abcde tests: fix unit test
Add support for I422_10
2012-09-12 10:12:25 +02:00
Olivier Crête
24fa2ac653 test: Flush opus encoder between tests 2012-09-11 18:02:28 -04:00
Olivier Crête
f4f714fc6b test: Flush opus encoder between tests 2012-09-11 18:01:58 -04:00
Tim-Philipp Müller
6b670d701c gdp: move gdp plugin to -bad
It needs to be reworked for 1.0
2012-09-11 01:33:11 +01:00
Tim-Philipp Müller
175bd55a66 tests: fix socket leaks in multisocketsink unit test 2012-09-09 00:18:16 +01:00
Tim-Philipp Müller
fa454a6240 tests: fix audioresample unit test for big-endian systems 2012-09-07 01:39:38 +01:00