Commit graph

1635 commits

Author SHA1 Message Date
Sebastian Dröge
90eb93c2ef Don't compare booleans for equality to TRUE and FALSE
TRUE is 1, but every other non-zero value is also considered true. Comparing
for equality with TRUE would only consider 1 but not the others.
2014-12-01 09:51:12 +01:00
Tim-Philipp Müller
b03cfdffb1 tests: remove libs/video and videoconvert test from valgrind blacklist
Seem to work fine.
2014-11-28 13:31:39 +00:00
Tim-Philipp Müller
4bddc9276b tests: don't run orc/* tests under valgrind
They just seem to blow up for some reason that needs investigating.
2014-11-28 13:29:37 +00:00
Jan Schmidt
16b28c0d47 test-reverseplay: Use uridecodebin for input
Work with any installed URI handler
Add some more debug output
2014-11-28 22:03:37 +11:00
Jan Schmidt
b508867795 tests: Add reverse playback verification test
Plays a requested URI forward to EOS, then backward and
checks that the same timestamp range(s) are covered.
2014-11-20 02:08:45 +11:00
Tim-Philipp Müller
dc3d68d9c2 tests: make overlay blending test slightly less boring 2014-11-16 19:28:54 +00:00
Tim-Philipp Müller
07f254e4b2 tests: add visual overlay composition blending test
Shows visual result of blending a logo on top of
a video surface, esp. when the logo is partially
outside of the video surface and needs to be
clipped.

https://bugzilla.gnome.org/show_bug.cgi?id=739281
2014-11-16 16:30:53 +00:00
Tim-Philipp Müller
c61604fd9b tests: fix leak in video unit test 2014-11-16 13:56:16 +00:00
Vineeth T M
7f5aa9af04 tests: video: add video blend test
Add test to check rendering of overlays of different sizes
that are completely or partially outside the video surface.
Once the overlay is blended to the video, verify if the
position of the blended overlay is as expected, by comparing
the pixels of the blended video with the expected values.

https://bugzilla.gnome.org/show_bug.cgi?id=739281
2014-11-16 13:51:34 +00:00
Wim Taymans
b73096ce8c video-color: add gamma encode/decode functions
Add functions to encode and decode gamma.
Add unit test to check that encode and decode are eachothers inverse
and that the limits are respected.
2014-11-11 16:11:15 +01:00
Wim Taymans
6711c50495 test: add scaling test
Sort pack and unpack performance measurements
2014-11-10 14:53:13 +01:00
Wim Taymans
835422b2ea videoscale: port to new API 2014-11-10 11:45:52 +01:00
Sebastian Dröge
480e661618 capsfilter-renegotiation: Use assertions from libcheck for more information on failures 2014-11-09 10:47:14 +01:00
Wim Taymans
39662d0393 video-chroma: ORCify 2x vertical upsampling
Make an ORC version of the 2x vertical upsampling code.
Improve unit tests, test chroma up and down sampling.
memset buffer in conversion to make valgrind happy.
2014-11-07 12:13:28 +01:00
William Manley
5b0ec93e99 tests: Add TCP pipelines test
There don't seem to be any unit tests for the socket handling elements.  As
I am about to attempt some refactorings I've added some basic tests which
exercise some of the happy-paths in tcpclientsrc, tcpserversrc,
tcpserversink and tcpclientsink.  They should let me know if I've caused
serious breakage.

They are far from exhaustive but are sufficient for me to have caught a few
memory-leaks in the existing code.

https://bugzilla.gnome.org/show_bug.cgi?id=739544
2014-11-07 10:14:07 +01:00
Wim Taymans
3fde8dd746 tests: add video conversion test
Go through all conversions and make a list of performance.
2014-11-06 18:19:44 +01:00
Wim Taymans
21f57317bb video-chroma: optimize chroma subsampling a little
Combine multiplies in 4x filters.
Rename conversion functions to make them nicer in orc.
Add ORC versions for various downsampling algorithms
Add unit test chroma resampler
2014-11-06 13:08:42 +01:00
Wim Taymans
64c1303dd0 tests: make pack/unpack test
Make a more complete pack/unpack test, check if the image after
pack/unpack has the same color and precision, and has correctly
duplicated subsampled pixels.
2014-11-06 10:45:13 +01:00
Wim Taymans
4ab5a29e46 tests: get the correct number of video formats
Make a method to get the number of formats (including the last one).
2014-11-06 10:45:13 +01:00
Tim-Philipp Müller
6b1dcd2ec0 tests: dist header file needed for ABI checks on powerpc32
Fixes 'make check' on debian powerpc32 buildbot:
libs/libsabi.c:95:26: fatal error: struct_ppc32.h: No such file or directory
2014-11-06 09:41:38 +00: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
Ravi Kiran K N
e0028c77f6 tests/playback: quit from main loop
Listen for eos and error signal to quit main loop.

https://bugzilla.gnome.org/show_bug.cgi?id=739346
2014-10-31 13:50:34 +00:00
Ravi Kiran K N
d86aba27ce tests/playback: correct state change checking
Correct the test apps check if result of state change is not failure as the
state change can happen async

https://bugzilla.gnome.org/show_bug.cgi?id=739346
2014-10-31 13:49:08 +00:00
Wim Taymans
f5b9a26e0d tests: fix test 2014-10-30 14:48:45 +01:00
Wim Taymans
fcc7fbd460 resampler: make shift easier to use 2014-10-29 16:26:10 +01:00
Wim Taymans
32047eaac0 video-scaler: add extra options 2014-10-29 16:26:10 +01:00
Wim Taymans
199fab4b06 video-scaler: add video scaler helper object
Add a video scaler object build on top of the resampler. It has
implementation to deal with interlaced video as well as horizontal and
vertical scaling functions.
2014-10-29 16:26:10 +01:00
Tim-Philipp Müller
cd1f1c4973 examples: add new appsink example to .gitignore 2014-10-26 21:31:36 +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
1b19290183 tests: fix expected GstRTSPTimeRange structure size for ABI test for ppc32
Also see https://bugzilla.gnome.org/show_bug.cgi?id=695276
2014-10-24 13:04:07 +01:00
Tim-Philipp Müller
7834d733bc tests: fix adder check on big-endian 2014-10-24 12:26:40 +01:00
Wim Taymans
b2fd20c416 video: move videoconvert code to video library
Move the conversion code used in videoconvert to the video library
and expose a simple but generic API to do arbitrary conversion. It can
currently do colorspace conversion but the plan is to add videoscale to
it as well.

See https://bugzilla.gnome.org/show_bug.cgi?id=732415
2014-09-24 15:59:39 +02:00
Wim Taymans
5edb36415a tests: add orc test for videoconvert 2014-09-22 10:42:47 +02:00
Edward Hervey
03707d0162 example/overlay: Specify minimum gdk version
Avoids deprecation warnings (such as for gtk_widget_set_double_buffered()
which became deprecated from 3.14)
2014-09-22 08:44:08 +02:00
Ognyan Tonchev
5a3ebef605 audiodecoder: extend flush_events test to check for event leaks
https://bugzilla.gnome.org/show_bug.cgi?id=736788
2014-09-17 14:12:24 +03:00
Nicola Murino
646352e959 appsrc: Add example that shows gst_app_src_push_sample() usage 2014-09-12 14:12:28 +03: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
Matthieu Crapet
48f7a40078 tests: fix decodebin signal used in icles/playback/ decodetest, test and test5
Since release 1.1.4, "new-decoded-pad" no longer exists.
2014-08-12 09:28:41 +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
Edward Hervey
2ca269ac6b check: Fix include path of rtp checks
Fixes make distcheck
2014-07-31 16:11:25 +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
Wim Taymans
9a25e59e12 tests: codec-select: fix compilation 2014-07-02 15:50:23 +02:00
Wim Taymans
b108aad77b mikey: make message and payload mini-objects
Make the MIKEY message and payload objects miniobjects so that they have
a GType and are refcounted.
We can reuse the dispose method to clear our payload objects.
Add some annotations.
Implement a copy function for the MIKEY message.
Fix the unit test.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732589
2014-07-02 15:44:12 +02:00
Sebastian Rasmussen
c44a705631 tests: codec-select: Plug element name memory leak
https://bugzilla.gnome.org/show_bug.cgi?id=732593
2014-07-02 09:11:09 +02:00
Wim Taymans
0425f1cf4d rtspconnection: also allow POST before GET
Don't only allow GET and then POST request to setup tunneling over HTTP
but also allow POST and then GET.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732459
2014-07-01 16:30:25 +02:00
Tim-Philipp Müller
8f8f1f9de1 tests: fix vararg handling in rtpbasedepayload unit test
Makes it pass on 32-bit systems.
2014-06-23 01:02:22 +01:00
Tim-Philipp Müller
ec6b178339 tests: fix vararg handling in rtpbasepayload unit test
Makes it pass on 32-bit systems.
2014-06-23 00:33:18 +01:00
Sebastian Dröge
909dd7831b audiodecoder: Don't be too picky about the output frame counter
With most decoder libraries, and especially when accessing codecs via
OpenMAX or similar APIs, we don't have the ability to properly related
the output buffers to a number of input samples. And could e.g. get
a fractional number of input buffers decoded at a time.

Previously this would in the end lead to an error message and stopped
playback. Change it to a warning message instead and try to handle it
gracefully. In theory the subclass can now get timestamp tracking
wrong if it completely misuses the API, but if on average it behaves
correct (and gst-omx and others do) it will continue to work properly.

Also add a test for the new behaviour.

We don't change it in the encoder yet as that requires more internal logic
changes AFAIU and I'm not aware of a case where this was a problem so far.
2014-06-20 11:02:55 +02:00
Thiago Santos
fb3a9d1bc5 video: avoid overflows when doing int operations for size
size is a gsize, so cast the operands to it to avoid overflows
and setting wrong value to the video size.

Includes tests.

https://bugzilla.gnome.org/show_bug.cgi?id=731195
2014-06-09 23:38:39 -03:00
Vincent Penquerc'h
0a49b7050f tests: fix uninitialized variable use in video decoder test 2014-06-06 10:42:11 +01:00
Thibault Saunier
d2ea3260e9 videodecoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.

+ Add a testcase

https://bugzilla.gnome.org/show_bug.cgi?id=709868
2014-06-03 13:03:49 +02:00
Thibault Saunier
12df7fa49d audiodecoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=709868
2014-06-03 13:03:21 +02:00
Thibault Saunier
2843f358d9 videoencoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=709868
2014-06-03 13:03:19 +02:00
Thibault Saunier
967d1fb982 audioencoder: Keep still meaningfull pending events on FLUSH_STOP
Only EOS and segment should be deleted in that case.

https://bugzilla.gnome.org/show_bug.cgi?id=709868
2014-06-03 13:03:16 +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
Thiago Santos
5d35675a74 tests: videodecoder: audiodecoder: add tests for eos after segment
Tests that pushing a buffer after the segment returns EOS
2014-05-26 23:24:56 -03:00
Sebastian Dröge
7bdaa49fa3 video: And check comparison for real 2014-05-21 10:43:49 +02:00
Sebastian Dröge
f8b367212d video: Fix broken comparison in unit test
libs/video.c:540:50: error: comparison of constant 2 with boolean expression is always false
      [-Werror,-Wtautological-constant-out-of-range-compare]
            && !GST_VIDEO_INFO_N_PLANES (&vinfo) > 2) {
               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ^ ~
2014-05-21 10:40:32 +02:00
Tim-Philipp Müller
e5b4e30baa examples: playback-test: fix crashes when setting buffer-size
playbin's buffer-size property takes a gint, not a gint64,
so only pass the bits expected to the vararg function, or
the terminator might not be found, leading to crashes, esp.
with negative numbers.

Spotted by Ravi Kiran K N <ravi.kiran@samsung.com>

https://bugzilla.gnome.org/show_bug.cgi?id=729617
2014-05-06 08:14:02 +01:00
Tim-Philipp Müller
bb74096870 examples: fix indentation of playback-test 2014-05-06 08:13:52 +01:00
Tim-Philipp Müller
a8396ce5db Revert "playback-test: Set buffer-size only for non-negative size"
This reverts commit 07a637e284.
2014-05-06 08:13:24 +01:00
Ravi Kiran K N
07a637e284 playback-test: Set buffer-size only for non-negative size
https://bugzilla.gnome.org/show_bug.cgi?id=729617
2014-05-06 09:09:13 +02:00
Руслан Ижбулатов
6fd68e0b12 tests: fix printf format compiler warning in playback test on win32
https://bugzilla.gnome.org/show_bug.cgi?id=729515
2014-05-04 18:21:22 +01:00
Tim-Philipp Müller
134f51894a Add new unit test binary to .gitignore 2014-05-04 18:14:54 +01:00
Sebastian Dröge
9e3672d99d textoverlay: Link unit test with the local version of the library, not an installed one 2014-05-03 18:57:38 +02:00
Olivier Crête
bdf8ce286d rtpbasepayload: Implement reconfigure event & renegotiation without subclass
Implement the reconfigure event, also do correct downstream caps negotiation
if the subclass doesn't implementy set_caps.

https://bugzilla.gnome.org/show_bug.cgi?id=725361
2014-05-03 10:21:04 +02:00
Olivier Crête
42e3e22969 tests/check/libs/rtpbasepayload.c: Run gst-indent
https://bugzilla.gnome.org/show_bug.cgi?id=725361
2014-05-03 10:21:04 +02:00
Ognyan Tonchev
6750531504 rtspconnection: Add more tests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728907
2014-04-30 16:27:25 +02: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
Sebastian Dröge
85c502d626 videoencoder/decoder: Fix memory leaks in the tests 2014-04-15 11:55:22 +02:00
Sebastian Dröge
16275f479f audiodecoder: Actually allocate enough memory for 64 bits, not just 32 bits
Also fix a memory leak.
2014-04-15 11:54:06 +02:00
Sebastian Dröge
2378848240 audioencoder: Fix memory leaks in unit test 2014-04-15 11:43:41 +02:00
Sebastian Dröge
29758da255 rtp: Fix GBytes memory leak in test 2014-04-15 10:29:12 +02:00
Wim Taymans
675d0400e1 mikey: Fix the KEMAC payload
The KEMAC payload actually needs to have subpayloads and the key should
go into the KEY_DATA subpayload. Add support for subpayloads and
implement the KEY_DATA payload.
Add some pointers to the conversion functions that allow us to add
encryption and decryption later.
2014-04-04 17:40:58 +02:00
Wim Taymans
83888d6b13 mikey: add MIKEY parsing helpers
MIKEY is defined in RFC 3830 and is used to exchange SRTP encryption
parameters between a sender and a receiver in a secure way.
This library implements a subset of the features, enough to implement
RFC 4567, using MIKEY in SDP and RTSP.
2014-03-24 17:12:52 +01: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
Arun Raghavan
f4cab18ec1 playback: Add video-/audio-filter properties
This provides an audio-filter and video-filter property to allow
applications to set filter elements/bins. The idea is that these will
e
applied if possible -- for non-raw sinks, the filters will be skipped.

If the application wishes to force the application of the filters, this
can be done by setting the new flag introduced on playsink -
GST_PLAY_FLAG_FORCE_FILTERS.

https://bugzilla.gnome.org/show_bug.cgi?id=679031
2014-03-16 18:38:29 +01: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
Ognyan Tonchev
4220442441 rtspconnection: Call closed() when GET is closed in tunneled mode
This patch adds read source on the write socket in tunneled
mode and we get a callback when client disconnects the GET
channel.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725313
2014-03-03 10:34:56 +01:00
Sebastian Rasmussen
ba9e8f0797 tests: Refactor RTP basepayloading test into pay/depay parts
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723328
2014-02-24 12:12:18 +01:00
Tim-Philipp Müller
3afd5fb3ab tests: add new unit tests to .gitignore 2014-02-21 19:07:59 +00:00
Ognyan Tonchev
6bf215fa09 rtspconnection: New unit test
See https://bugzilla.gnome.org/show_bug.cgi?id=724720
2014-02-21 16:21:45 +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 Rasmussen
09644d0e4a tests: Don't build disabled plugins' check tests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723492
2014-02-11 21:00:30 +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
Sebastian Dröge
856d27338b playback-test: Fix types for comparisons
Storing a 64 bit integer in a 32 bit integer and then checking
for the error cases might not be ideal.

error: comparison of constant -9223372036854775808 with
expression of type 'guint' (aka 'unsigned int') is always true
2014-02-08 17:07:15 +01:00
Wim Taymans
428f10cf57 playback-test: allow seeking outside of the range
For download buffer, allow seeking outside of the already downloaded
area.
2014-02-07 15:35:38 +01:00
Wim Taymans
c6915ea785 check: add some more checks
Add header and payload length check in case of CSRCs.

See https://bugzilla.gnome.org/show_bug.cgi?id=723196
2014-02-04 14:32:48 +01:00
Sebastian Rasmussen
0f8f852776 jsseek: Add missing HAVE_X check
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723507
2014-02-04 13:58:47 +01:00
Thiago Santos
1ae733fd4e tests: audioencoder: add tests analogous to the videoencoder ones 2014-01-29 12:33:59 -03:00
Thiago Santos
4fefd48f05 tests: videoencoder: check that tags are pushed before eos
Check that if a new tag event is received right before eos it
is pushed before the eos
2014-01-29 12:33:59 -03:00