Commit graph

1713 commits

Author SHA1 Message Date
Alex Ashley
d2d912f34a tests: curlhttpsrc: add unit tests
Based upon the souphttpsrc tests, add unit tests for the curlhttpsrc
element. The souphttpsrc tests are able to use an HTTP server that
is provided as part of the soup library. This does not exist in the
curl library, therefore these tests provide a very simple HTTP server
using the GIO library.

These curlhttpsrc tests contain one new test that does not come from
the souphttpsrc tests. The test_multiple_http_requests test tries to
reproduce the way in which GstAdaptiveDemux makes use of URI source
elements. GstAdaptiveDemux creates a bin with the httpsrc element
and a queue element and sets the locked state of that bin to TRUE,
so that it does not follow the state transitions of its parent. It
then moves this bin to the PLAYING state to start each download and
back to READY when the download completes.
2019-02-19 17:55:12 +00:00
Bastien Nocera
2d5ed45913 vcdsrc: Remove unusable VCD source
The VCD source was ported in 2014 (commit 89eb1e9), but the necessary
"cdxaparse" plugin, which is used to "Parse a .dat file (VCD) into
raw mpeg1" was never ported.

This means that the probable main user for the feature, totem, hasn't
actually been able to play back VCDs, since 2012, when it switched to
using GStreamer 1.0.

Note that even if cdxaparse was finally ported, a lot of work would
still be necessary before it is considered usable. Notably, it is
missing disc image support [1] and some VCDs just cannot be opened for
reading [2].

[1]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/898
[2]: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/899
2019-02-18 15:39:43 +01:00
Nirbheek Chauhan
572a283b4a meson: orc-test is not required
This is especially never available on iOS.
2019-01-31 15:29:24 +05:30
Seungha Yang
a9c61e467a meson: Add support orc fallback
Allow fallback to orc subproject if any, and add missing orc version check.
Additionally 'dependencies' keyword is removed from find_library,
because it's invalid keyword for find_library.
2019-01-30 19:55:05 +09:00
Tim-Philipp Müller
7ea8ec8929 meson: enable tests for orc code 2019-01-16 01:03:40 +00:00
Seungha Yang
82b921e1a4 tests: Enable more tests on Windows 2018-12-30 22:34:43 +09:00
Seungha Yang
33f867236b tests: Remove compositor test
It's moved to -base and no more part of -bad
2018-12-30 22:34:43 +09:00
Seungha Yang
8cd89b2cdd tests: Remove pointless unistd include 2018-12-30 22:34:43 +09:00
Tim-Philipp Müller
e42efbccb1 Remove compositor plugin which was moved to -base
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/138
2018-12-27 15:31:58 +01:00
Sebastian Dröge
fcceb37bf2 ccconverter: Add unit test 2018-12-19 00:20:26 +02:00
Seungha Yang
fa3ae13250 tests: Re-enable isoff test on Windows
... and drop libxml2 dependency since it never be used by
both test and gstisoff.
2018-12-18 16:48:17 +00:00
Seungha Yang
b606ff16a9 tests: Fix build with MSVC 2018-12-18 16:48:17 +00:00
Seungha Yang
1b0b2c37cc meson: Prefer to use join_paths() over '/'
... to avoid mixing '/' and '\' in a path string on Windows.
2018-12-18 16:48:17 +00:00
Seungha Yang
f74ad82ddc tests: Enable unit test on Windows
Allow run some unit tests on Windows.
* Add dependency explicitly for some test cases, otherwise plugins couldn't be
  loaded on uninstalled environment of Windows.
* Add missing GST_PLUGIN_LOADING_WHITELIST on meson build.
2018-12-18 16:48:17 +00:00
Wonchul Lee
c082634d16 examples/wayland: Add wayland multi-thread client example
This is for testing race condition with multi-thread wayland client
environment. The race condition will be resolved with wayland proxy
wrapper API when handling event queue.
2018-12-13 17:20:04 +00:00
Tim-Philipp Müller
fa9697002a tests: mpegvideoparse: add unit test for CEA-708 closed captions extraction 2018-12-11 13:56:06 +00:00
Sebastian Dröge
fed05fcdf2 mpegtsmux: Change unit test to not generate zero-sized buffers ever 2018-12-10 14:20:14 +00:00
Sebastian Dröge
98b2c705c4 ccextractor: Copy over timecode meta from the input buffers to the outgoing caption buffers
Formats like SCC and MCC work based on timecodes so ideally we pass
through the timecodes when writing them.
2018-12-06 16:06:05 +00:00
Sebastian Dröge
f0571a94fb ccextractor: Include framerate in the closedcaption caps
It depends on the framerate how many cc_data byte pairs are allowed per
frame, and the framerate is also needed for converting into the CDP or
MCC format as the framerate is part of the header metadata.
2018-12-06 16:06:05 +00:00
Tim-Philipp Müller
2b8659a3ef meson: build opencv and ipcpipeline examples
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/576
2018-11-29 12:29:50 +00:00
Jordan Petridis
1f562870ee Run gst-indent through the files
This is required before we enabled an indent test in the CI.

https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
2018-11-28 14:18:26 +00:00
Matthew Waters
65c9c4b406 tests/webrtc: fix tests for no libnice
webrtcbin will fail the state change to READY when libnice elements are
not available.
2018-11-26 17:13:08 +11:00
Matthew Waters
57a006d8a5 tests/webrtc: use the existing functions in the plugin
Instead of redefining our own, use the function implementations in
webrtcsdp.c and utils.c
2018-11-26 17:13:08 +11:00
Tim-Philipp Müller
47b68176a1 examples: codecparser: fix compiler warnings for unstable API use
Breaks build bots and build with --werror
2018-11-25 17:33:04 +00:00
Tim-Philipp Müller
18e4e80b7d examples: force gtk to x11 backend
Until someone makes it work with the wayland backend.
The code currenty assumes and hard-codes X11.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/merge_requests/49
2018-11-25 16:28:25 +00:00
Tim-Philipp Müller
347d732889 meson: build more examples
See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/576
2018-11-25 14:59:16 +00:00
Olivier Crête
f401f4ca32 srtp: Add unit tests for MKI support
Both as a srtpenc ! srtpdec pipeline and as a test that uses
fake packets for multiple mixed MKIs.

https://bugzilla.gnome.org/show_bug.cgi?id=797305
2018-11-09 15:08:05 -05:00
Seungha Yang
4e5894fa3d tests: h265parser: Add test parsing nonzero vps_max_layer_id in VPS 2018-11-07 16:13:44 +09:00
Sebastian Dröge
c651741ef0 cccombiner: Add unit test 2018-11-06 16:21:42 +00:00
Nicolas Dufresne
95c99aa0a7 h265parser: Add same parsing test as for H264
This adds the same test as found in H264 test.
2018-11-06 07:26:03 +00:00
Nicolas Dufresne
1df4562077 h264parser: Add unit test parsing 5 valid bytes of a NAL
In the case 5 valid bytes of a slice NAL, the parser should return
NO_NAL_END.
2018-11-06 07:26:03 +00:00
Sebastian Dröge
fca02f3dac ccextractor: Add unit test
https://bugzilla.gnome.org/show_bug.cgi?id=797370
2018-11-02 12:22:15 +02:00
Sebastian Dröge
aae25e0032 compositor: Implement different operators via per-pad property
This removes the crossfade-ratio property and replaces it with an
operator property. Currently this implements the following operators:

- SOURCE: Copy over the source and don't look at the destination
- OVER: Default blending of the source over the destination
- ADD: Like OVER but simply adding the alpha instead

See the example for how to implement crossfading with this.

https://bugzilla.gnome.org/show_bug.cgi?id=797169
2018-10-28 17:13:26 +00:00
Edward Hervey
08d1e817d0 check: Disable mssdemux unit test for now
This is for the same reason as the dash tests. This should ideally
be converted to gst-validate tests. These tests randomly timeout also
due to the tests doing seeks from the streaming thread (sic).
2018-10-27 17:59:49 +02:00
Edward Hervey
2f7d87a7d1 tests: Disable most gstplayer tests for now
https://bugzilla.gnome.org/show_bug.cgi?id=787374
2018-10-27 13:37:38 +02:00
Mathieu Duponchelle
9f684a2f81 webrtcbin: implement support for group: BUNDLE 2018-10-15 14:17:35 +02:00
Josep Torra
3f83205399 tests: shm: add an end to end test for live reception
Add a unit test to exchange data between two pipelines with shmsrc
acting as a live source.

https://bugzilla.gnome.org/show_bug.cgi?id=797203
2018-10-10 13:42:05 -04:00
Matthew Waters
21bf3a35ac webrtc/datachannel: fix support for prenegotiated channels
With prenegotiated channels, the data-channel protocol is not used and
instead the channel's negotiation is intended to be performed out of band in
some application-specific manner.

Comes with test!
2018-10-09 02:38:14 +11:00
Matthew Waters
7bf18ad258 webrtc: start in the closed state
This means that we will reject all operations before we've transitioned
into READY.

This also fixes the tests using the default GMainContext in the NULL
state instead of the webrtcbin internal GMainContext and thread.  Also
removes a potential ordering race where on the element transitioning to
READY, an operations could have been queued on two different threads and
removing a guarentee on operation ordering.
2018-10-08 21:56:31 +11:00
Matthew Waters
faf212cd3a tests/webrtcbin: add a couple more dependant element checks
Without the sctp elements, all the data channel tests will fail
2018-10-04 16:44:55 +10:00
Matthew Waters
07e9374eff webrtcbin: add support for data channels based on SCTP
Mostly follows the W3C specification
https://www.w3.org/TR/webrtc/#peer-to-peer-data-api

With contributions from:
Mathieu Duponchelle <mathieu@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=794351
2018-09-21 19:45:12 +10:00
Vivia Nikolaidou
ff952374b5 avwait: Start video and audio together if audio starts late
Also add test to meson

https://bugzilla.gnome.org/show_bug.cgi?id=796977
2018-08-17 14:57:36 +03:00
Nirbheek Chauhan
5c462b9b12 meson: Add an option for tests
This is needed because we don't always have gstreamer-check available,
for instance inside Cerbero on iOS.
2018-08-17 01:49:37 +05:30
Víctor Manuel Jáquez Leal
b2d5c1ed3c check: update gitignore 2018-08-14 13:53:00 +02:00
George Kiagiadakis
8507730351 tests/check/Makefile.am: add GST_AUDIO_CFLAGS also on the planar audio adapter unit test 2018-08-03 15:24:03 +03:00
George Kiagiadakis
9cf58eb3e4 libs: audio: add new GstPlanarAudioAdapter class
This is a GstAdapter, but for planar audio buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:02 +03:00
Nirbheek Chauhan
b55dfb5313 Add feature options for almost all plugins
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Nirbheek Chauhan
7ef303fa28 meson: Add feature options for many plugins
The rest will be converted later, these are necessary for gst-build to
set options correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:43:52 +05:30
Vivia Nikolaidou
854baf4fdb avwait: Add recording property
It works like a valve in front of the actual avwait. When recording ==
TRUE, other rules are then examined. When recording == FALSE, nothing is
passing through.

https://bugzilla.gnome.org/show_bug.cgi?id=796836
2018-07-24 13:20:59 +03:00
Jan Schmidt
0af199e25e webrtc: Add some ssrc to caps in the unit test.
The unit test uses incomplete caps to test webrtcbin,
causing some weirdness generating RTX stream mappings.

https://bugzilla.gnome.org/show_bug.cgi?id=796810
2018-07-15 23:07:37 +10:00
Sebastian Dröge
be6afc6a90 tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks
SNAP flags alone make no sense and nowadays cause warnings.
2018-06-18 12:18:07 +03:00
Nicolas Dufresne
06f7d1f6c5 examples: Don't install non-prefixed examples 2018-06-06 14:32:56 -04:00
Nicolas Dufresne
2927a1d1ec examples: Build waylandsink example 2018-06-06 14:31:43 -04:00
Edward Hervey
58070fa12c gitignore: Add h265parser test 2018-06-01 08:20:21 +02:00
Tim-Philipp Müller
88fec19ba2 directfb: don't error out for warnings in system headers
On debian system headers trigger compiler warnings like these,
don't error out on them:
/usr/include/directfb/direct/os/linux/glibc/waitqueue.h:95:1: note: previous definition of ‘direct_waitqueue_signal’ was here
2018-05-28 10:43:37 +01:00
Mathieu Duponchelle
5c450c5992 webrtcbin: implement support for FEC and RTX
https://bugzilla.gnome.org/show_bug.cgi?id=795044
2018-05-09 14:46:14 +02:00
Nirbheek Chauhan
feac77ace3 meson: Update option names to omit disable_ and with- prefixes
Also yield common options to the outer project (gst-build in our case)
so that they don't have to be set manually.
2018-05-05 20:06:39 +05:30
Jan Schmidt
0b9517cc96 waylandsink: Only build if gtk-3.0 was built with wayland target
Check in configure if the gtk-3.0 has wayland support, and don't
build the waylandsink example if it doesn't.
2018-05-06 00:35:23 +10:00
Sebastian Dröge
10b7b13732 videoaggregator: Rename ignore-eos pad property to repeat-after-eos
What it does is to repeat the last frame forever after EOS, it does not
literally ignore EOS.
2018-05-04 16:46:00 +02:00
Tim-Philipp Müller
c2bcc2711a meson: fix build when msdk is not found 2018-03-09 23:59:16 +00:00
Wang,Fei
1192a598ee tests: add msdkh264enc element unit test
https://bugzilla.gnome.org/show_bug.cgi?id=793236
2018-03-09 10:48:11 -09:00
Tim-Philipp Müller
fd3bb44031 tests: player: disable broken test_play_media_info test
Until someone can be bothered to debug + fix it.

https://bugzilla.gnome.org/show_bug.cgi?id=787372
https://bugzilla.gnome.org/show_bug.cgi?id=787374
2018-03-05 19:37:52 +00:00
Guillaume Desmottes
6dd997541c h265parser: allow partial matching on range extension profile
Best to return a valid profiles rather than no profile if bitstream uses
a not standard profile.

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:22:12 -05:00
Guillaume Desmottes
9f25fcdfc9 h265parse: add support for 'Format range extensions profiles'
Those profiles have been introduced in version 2 of the HEVC spec
(A.3.5).

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:22:12 -05:00
Guillaume Desmottes
d252f503fc h265parser: decouple GstH265Profile and GstH265ProfileIDC
We used to have the same enum to represent H265 profiles and idc values.
Those are no longer the same with extension profiles defined from
version 2 of the spec.
Split those enums so the semantic of each is clearer and we'll be able
to add extension profiles to GstH265Profile.

Also add gst_h265_profile_tier_level_get_profile() to retrieve the
GstH265Profile from the GstH265ProfileTierLevel. It will be used to
implement the detection of extension profiles.

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:19:42 -05:00
Tim-Philipp Müller
a0cc9d1af0 Remove schroedinger plugin
No upstream (website disappeared), no maintainer, and
pretty much a fringe format anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=776215
2018-03-01 15:24:39 +00:00
Tim-Philipp Müller
e95fb277cb Dist compositor crossfade example and pythons script for meson build
And add to autotools build so it gets disted.
2018-02-15 18:51:44 +00:00
Tim-Philipp Müller
c180f8ffed audiomixer: remove, moved to -base
https://bugzilla.gnome.org/show_bug.cgi?id=791218
2018-02-13 00:37:35 +00:00
Tim-Philipp Müller
e9bfb4edc2 qt: remove plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:48:32 +00:00
Tim-Philipp Müller
90a836bb89 gtk: remove, plugin has moved to -good 2018-02-12 15:16:37 +00:00
Matthew Waters
4ef2a20a83 dtls: add meson definition for recently added test 2018-02-08 15:29:56 +11:00
Matthew Waters
18156a76fb tests: add a test for the dtls{enc,dec} elements 2018-02-05 17:44:33 +11:00
Matthew Waters
1894293d63 webrtcbin: an element that handles the transport aspects of webrtc connections
SDP's are generated and consumed according to the W3C PeerConnection API
available from https://www.w3.org/TR/webrtc/

The SDP is either created initially from the connected
sink pads/attached transceivers as in the case of generating an offer or
intersected with the connected sink pads/attached transceivers as in
the case for creating an answer.  In both cases, the rtp payloaded streams
sent by the peer are exposed as separate src pads.

The implementation supports trickle ICE, RTCP muxing, reduced size RTCP.

With contributions from:
Nirbheek Chauhan <nirbheek@centricular.com>
Mathieu Duponchelle <mathieu@centricular.com>
Edward Hervey <edward@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792523
2018-02-02 15:02:21 +11:00
Tim-Philipp Müller
92400a3b69 tests: camerabin: skip checks if we don't have encoders for the default format
https://bugzilla.gnome.org/show_bug.cgi?id=767863
2018-01-20 15:49:35 +00:00
Tim-Philipp Müller
e62eb34bfc tests: ipcpipeline: fix struct initialisation warnings with clang
Use init macros to avoid gst-indent making a mess of it.

https://bugzilla.gnome.org/show_bug.cgi?id=787980
2018-01-17 12:06:29 +00:00
Tim-Philipp Müller
0409d7d0fa tests: remove test that's never been ported to 1.x 2018-01-16 11:36:05 +00:00
Edward Hervey
5d8d1d359c check: Update gitignore 2018-01-11 11:49:06 +01:00
Mathieu Duponchelle
536cb12577 audioaggregator: implement input conversion
https://bugzilla.gnome.org/show_bug.cgi?id=786344
2017-12-19 23:39:37 +01:00
Olivier Crête
599dd8c72c gtk example: Fix cflags in Makefile.am 2017-12-19 16:22:52 -05:00
Tim-Philipp Müller
06e4403fdb gl: update plugins to use GstGL from -base 2017-12-19 12:02:31 +00:00
Tim-Philipp Müller
769a21d0bb gl: remove GStreamer OpenGL integration library and move to -base
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2017-12-19 12:02:31 +00:00
Jun Xie
cbcc01173b dashdemux: parse xs:dateTime's timezone indicator
The lexical form of xs:dateTime is YYYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]
timezone indicator (+|-)hh:mm] needs to be parsed.

https://bugzilla.gnome.org/show_bug.cgi?id=791602
2017-12-18 14:07:36 +01:00
Mathieu Duponchelle
58c374c8e2 meson test: Enable libs tests
https://bugzilla.gnome.org/show_bug.cgi?id=789064
2017-12-08 18:42:22 +01:00
Wonchul Lee
9667ba688e examples: audiomixmatrix: Remove unused part
matrix-value-array property is removed since
18917de956 commit applied

https://bugzilla.gnome.org/show_bug.cgi?id=790836
2017-12-06 14:18:59 -05:00
Tim-Philipp Müller
d01297e115 Remove GstAggregator from -bad, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=739010
2017-12-02 16:14:36 +00:00
Tim-Philipp Müller
38994d4359 tests: ignore waylandsink in state change test
"Unexpected critical/warning: Wayland compositor is missing
the ability to scale, video display may not work properly."
2017-11-25 11:16:53 +00:00
Nicolas Dufresne
ee0212b83d sdlshare: Destroy GL backend buffer before the GL Context
This was otherwise leading to a deadlock in the GL library.
2017-11-24 17:06:22 -05:00
Nicolas Dufresne
4f36f75eb1 sdlshare2: Fix race conditions
The client-draw callback is running on the GL Thread, which will
be required to map the buffer. Map early, and pass the mapped
frame instead. On top of that, make sure to signal any pending
draw before trying to push EOS, as some pad locks might be taken.
This is the cost of using the same thread to control GStreamer and
to render GL.
2017-11-24 16:58:21 -05:00
Nicolas Dufresne
c9e755d79e meson: Build gl/sdl examples 2017-11-24 16:58:01 -05:00
Nicolas Dufresne
d8ee5a0c31 meson: Playout example has not GL deps 2017-11-24 15:48:19 -05:00
Nicolas Dufresne
b41f190130 meson: Add missing examples directory
This will make it more visible what is missing in meson.
2017-11-24 15:25:47 -05:00
Nicolas Dufresne
78a7fe013c meson: Build playout example 2017-11-24 15:25:47 -05:00
Jan Schmidt
9a10dbe350 3dvideo example: Correct video overlay for HiDPI
Use the GTK scaling factor to scale the video allocation
so video displays correctly on hi-dpi screens
2017-11-24 01:37:48 +11:00
Guillaume Desmottes
d5067b42de h264parse: put downstream caps first if possible on sink caps
Try prioritizing downstream's caps over upstream's if possible so the
parser can configured in "passthrough" if possible and save it from
doing useless conversions.

https://bugzilla.gnome.org/show_bug.cgi?id=790628
2017-11-22 17:38:04 +02:00
Edward Hervey
d4bf5aeae9 tests/srtp: Bump up timeout to 3mins for testcase
This involves generating and processing 65536 packets, let's give it
time to actually complete that.

And a bit of debug to track what's going on.
2017-11-21 15:48:06 +01:00
Matthew Waters
1cef7a261f gl/tests: add some simple shader testing
Making sure that the default shaders compile and are usable
2017-11-07 15:21:43 +11:00
Matthew Waters
f8d751f7b5 gl/query: split tests and fix some corresponding issues in usage 2017-10-28 18:34:57 +11:00
Stefan Sauer
97c81b0a36 tests: comment and logging cleanups for audiomixer and aggregator
Remove some references to 'collectpads'. Logs pads through the object variants.
Add some more comments. Remove a left over comment.
2017-10-23 11:54:53 +02:00
Stefan Sauer
9cff4f69cb ipcpipeline: work around gcc bug in struct initializers
Unfortunately we need to use an extra set of parenthesis for each data level.

For details see:
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53119
Affected versions are e.g.
gcc (Ubuntu 4.8.4-2ubuntu1~14.04.3) 4.8.4
which is the default on ubuntu-trusty. I looks like the fix was never
backported.
2017-10-20 10:36:36 +02:00
Jérôme Laheurte
b569ae4832 Use value instead of version macro when testing for mac OS version
https://bugzilla.gnome.org/show_bug.cgi?id=788404
2017-10-20 01:49:22 +11:00