Commit graph

480 commits

Author SHA1 Message Date
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
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