Commit graph

1757 commits

Author SHA1 Message Date
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
Stefan Sauer
17dfaf83dc aggregator: add two more tests for a sequence of data
This verifies that we handle events and queries at the head of the queue and
then buffers.
2017-10-14 18:20:30 +02:00
Stefan Sauer
9c1b85115c aggregator: refactor the test helper
Make the test helpers use a queue. This lets us also test sequences of events,
queries and data.
2017-10-14 18:20:30 +02:00
Stefan Sauer
8e43094a17 aggregator: test cleanup
Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
arbitrary extra blank lines. Make push_event() more like push_buffer() - set
the event to NULL and add cleanup to _chain_data_clear().
2017-10-14 18:20:30 +02:00
Nicolas Dufresne
1cf1aac9a7 meson: Define GST_USE_UNSTABLE_API in the build system
This way meson and autotools both do the same thing and we don't need to
modify the code after all.
2017-10-04 10:00:48 -04:00
Reynaldo H. Verdejo Pinochet
5edd068e30 Fix autotools build broken by 25dee2f2cb
Build fails on GST_USE_UNSTABLE_API being redefined
2017-10-03 15:27:37 -07:00
Reynaldo H. Verdejo Pinochet
0f71d2e408 Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 14:35:48 -07:00
Nicolas Dufresne
f793e04db0 meson: Build tsparser example 2017-10-03 17:17:59 -04:00
Nicolas Dufresne
25dee2f2cb tsparses: Define GST_USE_UNSTABLE_API
This example is entirely based on unstable API, this avoids the expected
compilation warning.
2017-10-03 17:17:50 -04:00
George Kiagiadakis
275592927b tests/check: disable all ipcpipeline tests until I find a way to make them run reliably 2017-09-21 11:46:22 +03:00
Stefan Sauer
820cf44f7d tests: simplify audiomixer test
Use _link_many() and reuse a helper to reduce the test code.
2017-09-17 10:20:09 -07:00
Edward Hervey
58a2df001c check: Fix usage of dual probes
Using two (or more) probes on the same pad where one of the probe
returns HANDLED or DROP is tricky since the other probes might
not be called.

Instead use regular probes and a proper pad (the sinkpad already existed,
it only required to be activated and have a dummy chain function for
the events/buffers to be received/handled properly)
2017-09-05 14:28:54 +02:00
George Kiagiadakis
e450bba609 examples: Makefile.am: add ipcpipeline in SUBDIRS if enabled 2017-09-04 16:13:41 +03:00
George Kiagiadakis
91edec25dd examples: ipcpipeline: get rid of yet another use of SOCK_NONBLOCK
https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-09-04 10:40:40 +03:00
George Kiagiadakis
4e239a6632 examples: ipcpipeline: do not use the linux-specific SOCK_NONBLOCK flag
Use fcntl() instead to set O_NONBLOCK, which is portable.

https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-08-31 15:09:24 +03:00
George Kiagiadakis
282b682cab tests: ipcpipeline: provide pipe2() on systems that don't have it
https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-08-31 15:09:24 +03:00
George Kiagiadakis
cf1bb83d8d tests: ipcpipeline: make the state_changes test more deterministic
Watching the STATE_CHANGED messages is way more deterministic than
polling the state.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
George Kiagiadakis
acc2719720 tests: ipcpipeline: fix broken exclusivity checks
In most cases we want to stop the pipeline just once, but we have
to do this from code that runs in the streaming threads and in case
we have multiple streams, we need to make sure that we do this only
once. The previous checks were broken, this should fix it.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
George Kiagiadakis
f6cc14c85a tests: ipcpipeline: attempt to make tags test more deterministic
Instead of using a timeout and pushing the tags from an outside
thread, use a pad probe and push them from the streaming thread.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
Philippe Normand
26760588e8 examples/gl/gtk: build fix for the 3dvideo example on macOS 2017-08-30 15:18:58 +01:00
Philippe Normand
bdcac6f435 examples/gl/gtk: fix overlay handling for macOS
The GTK+ window requires a NSView sub-view, not an NSWindow.
2017-08-30 15:16:39 +01:00
Tim-Philipp Müller
54d7e2811f meson: fix build for isoff lib addition 2017-08-26 12:03:06 +01:00
Seungha Yang
98576325e3 isoff: Add parsing mss specific tfrf and tfxd boxes
This code is imported from mssdemux's tfxd/tfrf parsing function

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:32 -07:00
Seungha Yang
3db9152ec6 isoff: Add parsing moov and tfdt
To extract isobmff level timestamp, moov and tfdt parsing is required.

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:11 -07:00
Seungha Yang
7d06ecb3a4 isoff: Move isoff to gst-libs
Also rename unit test dash_isoff to isoff

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:04 -07:00
Tim-Philipp Müller
9da2de1968 tests: ipcpipeline: skip broken tests
These fail on the build bots. Blacklist until someone
investigates.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-25 19:33:41 +01:00
Philippe Normand
8b7aa50bc9 tests/player: check for media-info-updated before duration-changed
The media-info-updated signal is now emitted before duration-changed since
commit 8a29da8023.

https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-25 19:09:00 +01:00
Matthew Waters
63dd27a785 gl/checks: fix build 2017-08-24 01:18:40 +10:00
Matthew Waters
d8bc42fb30 glutils: fix matrix operations everywhere
- correct the matrix multiplication
- Use column-major matrices
  - reverse order of matrix multiplications

https://bugzilla.gnome.org/show_bug.cgi?id=785980
2017-08-23 15:32:10 +10:00
Julien Isorce
2fd84a6c86 gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Tim-Philipp Müller
dea349d9ba tests: export symbols of parser tests helper lib and make it static
And only make the tests that use it link against the helper lib.
2017-08-10 09:08:03 +01:00
Tim-Philipp Müller
357fc8064a examples: fix compiler warning in compositor crossfade example
warning: control reaches end of non-void function
2017-08-03 20:21:17 +01:00
Thibault Saunier
9c575243e1 tests: examples: Add a simple crossfade example
https://bugzilla.gnome.org/show_bug.cgi?id=784827
2017-08-03 13:01:50 -04:00
George Kiagiadakis
30f5abc32c ipcpipeline: move to sys/ and make it dependent on platform support for unix sockets 2017-08-02 10:40:24 +03:00
George Kiagiadakis
e97877dc7e tests/examples: add manual tests/examples for the ipcpipeline elements
ipcpipeline1 is a very simple test that shows a short videotestsrc fragment.

ipc-play is a clone of gst-play that splits the pipeline in two
processes, running the source & demuxer on the master process
and the decoders & sinks on the slave.
2017-08-01 14:43:06 +03:00
George Kiagiadakis
35a01f41ce tests/check: add automatic unit test suite for the ipcpipeline elements
All tests run within a common framework for splitting processes
and making them interract properly with the gst check system.
2017-08-01 14:43:06 +03:00
Stefan Sauer
b5a5f75b44 tests: audiomixer: set all properties at once 2017-07-15 21:28:38 +02:00
Stefan Sauer
c06c67746b tests: audiomixer: use the buffer helper for other tests too 2017-07-15 19:34:15 +02:00
Stefan Sauer
5b4d907709 audiomixer: add a helper for buffer creation
This makes the test setup easier to read.
2017-07-14 08:09:25 +02:00
Stefan Sauer
f3bcf65f92 audiomixer: use test helper once more 2017-07-13 22:02:17 +02:00
Stefan Sauer
636cce13b9 audiomixer: more test cleanups
Port over the test helpers from the adder tests.
2017-07-10 21:08:09 +02:00
Stefan Sauer
4ce4a71d5b audiomixer: refactor test
Apply cleanups from the adder tests. Use a fixture for common code.
2017-07-10 20:16:56 +02:00
Thibault Saunier
7f62c6164a meson: Do not use path separator in test names
Avoiding warnings like:

    WARNING: Target "elements/audioamplify" has a path separator in its name.
2017-06-28 11:39:50 -04:00
Nicolas Dufresne
5a8ffe2aa3 meson: Enable netsim unit test 2017-06-22 16:40:07 -04:00
Nicolas Dufresne
eab6cd8d6d meson: Enable shm unit test 2017-06-21 15:15:37 -04:00
Jan Schmidt
7ea366501b qmlsink example: Add CMakeLists.txt
Make it possible to build using cmake instead of qmake
2017-06-22 01:01:40 +10:00
Scott D Phillips
25d2b8a608 tests: dash & adaptivedemux: move iterator variable declaration out of for
This is a c99-ism that gcc 4.8.5 errors on unless -std=c99 is
specified.

https://bugzilla.gnome.org/show_bug.cgi?id=783868
2017-06-17 10:59:42 +03:00
Thibault Saunier
761f0d1ca9 meson: Fix building/running tests outside gst-build 2017-06-07 16:59:10 -04:00
Mathieu Duponchelle
794ada056a tests: start porting to meson
Incomplete port, to get the ball rolling

https://bugzilla.gnome.org/show_bug.cgi?id=782962
2017-06-07 20:21:17 +02:00
Olivier Crête
ec27bb09dc tests: Make audiomixer test_clip verify the resulting timestamps too 2017-05-23 12:35:58 +02:00
Olivier Crête
4b374ca3fb tests: audiointerleave: Remove drain with manual clock
Now that the queries go onto the queue, you may need to pull the crank
in order for them to be processed, making this test difficult.
2017-05-23 12:35:58 +02:00
Tim-Philipp Müller
624fe65f54 examples: gl: remove ancient bitrotten .vcproj files 2017-05-21 10:57:53 +01:00
Matthew Waters
7c53043386 aggregator: add simple support for caps handling
Modelled off the videoaggregator caps handling as that seems the most
mature aggregtor-using implementation that has caps handling there is.

https://bugzilla.gnome.org/show_bug.cgi?id=776931
2017-05-20 16:21:17 +02:00
Olivier Crête
c0849df4ac tests: Test caps using query
Sending an event can accepted event if the caps were rejected
because the event could be queued and processed later.

Also send a drain query in the caps test to make sure that the
event has been processed.

https://bugzilla.gnome.org/show_bug.cgi?id=781673
2017-05-20 16:21:16 +02:00
Josep Torra
2c9b513695 examples: fix macOS 9.12 deprecation warnings
Add #defines to allow older versions of macOS to use the new constant names.
2017-05-20 12:41:51 +02:00
Tim-Philipp Müller
142469ab91 tests: fix link problem on centos7
And put LIBS before -lgstfoo in adaptivedemux Makefile.am
2017-04-27 21:33:25 +01:00
Thiago Santos
22c037df6c tests: dash_mpd: add some inheritance tests
Tests regarding inheritance of segment template attributes
2017-04-15 18:44:04 -07:00
Vincent Penquerc'h
b817f16e19 tests: fix leak in videoframe-audiolevel test
also add braces for the else case

https://bugzilla.gnome.org/show_bug.cgi?id=781022
2017-04-09 11:17:04 +03:00
Seungha Yang
a3a12d0978 mpdparser: Report error if Representation is invalid
Spec "5.3.5 Representation" is saying that
id and bandwidth attributes are mandatory fields.

https://bugzilla.gnome.org/show_bug.cgi?id=780569
2017-04-09 10:58:27 +03:00
Tim-Philipp Müller
36edda5797 tests: dash: don't use deprecated g_object_newv() 2017-04-08 10:08:04 +01:00
Olivier Crête
ae7ba6ed46 srtp test: Remove deprecation disabling
No deprecated APIs are used.
2017-03-14 16:46:43 -04:00
Matthew Waters
fd8d35298f Revert "adaptivedemux: answer duration queries for live streams"
Completely disabling duration reporting with live streams is not cool.

This reverts commit e1b68d9a65.

https://bugzilla.gnome.org/show_bug.cgi?id=753879
2017-03-14 16:50:30 +11:00
Matthew Waters
efc015f27d gl: GL_ARRAY_BUFFER is not a part of VAO state
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-03-14 14:15:00 +11:00
Matthew Waters
956c4d0bde gl/format: use our own GL format enum's instead of gstvideo's
They can describe in more detail (such as component sizes) the requested format.
2017-03-13 21:10:58 +11:00
Hyunjun Ko
08219f3665 tests: h264parse: fix failures due to insertion of au delimiter
Since insertion of aud landed, we need to change some testcases
accroding to the change.

Note that counting frames are changed in parser.c,
due to generated frames, AUD.

https://bugzilla.gnome.org/show_bug.cgi?id=736213
2017-03-08 14:19:43 +02:00
Nick Kallen
46bbc60d24 applemedia/gl: Update code to use ARC
All code interacting with Objective-C objects should now use Automated
Reference Counting rather than manual memory management or Garbage
Collection. Because ARC prohibits C-structs from containing
references to Objective-C objects, all such fields are now typed
'gpointer'. Setting and gettings Objective-C fields on such a
struct now uses explicit __bridge_* calls to tell ARC about
object lifetimes.

https://bugzilla.gnome.org/show_bug.cgi?id=777847
2017-03-07 13:37:07 +02:00
Seungha Yang
e28ddbdf77 tests: hls: Fix leak on test code
https://bugzilla.gnome.org/show_bug.cgi?id=778073
2017-03-02 20:24:00 +02:00
Alex Ashley
e1b68d9a65 adaptivedemux: answer duration queries for live streams
For duration queries on live streams, adaptivedemux ignores the query.
The problem then is that the query is answered by the downstream
qtdemux element, with the duration of the currently passing fragment.

This commit changes the behaviour of adaptivedemux to answer the duration
queries for live streams, returning GST_CLOCK_TIME_NONE.

    https://bugzilla.gnome.org/show_bug.cgi?id=753879
2017-03-02 19:54:04 +02:00
Edgard Lima
38ad22a7f1 Update Edgard Lima's email
https://bugzilla.gnome.org/show_bug.cgi?id=779230
2017-02-27 00:50:46 +00:00
Sebastian Dröge
4af642a6f8 rawparse: Move to gst-plugins-base and keep legacy audioparse/videoparse here
https://bugzilla.gnome.org/show_bug.cgi?id=774544
2017-02-25 14:52:38 +02:00
Vivia Nikolaidou
fa47edf846 audiomixmatrix: New element that mixes audio channels
This element transforms a given number of input channels into a given number of
output channels according to a given transformation matrix. The matrix
coefficients must be between -1 and 1. In the auto mode, input/output channels
are automatically negotiated and the transformation matrix is a truncated or
zero-padded identity matrix.

https://bugzilla.gnome.org/show_bug.cgi?id=777376
2017-02-23 21:02:44 +02:00
Sebastian Dröge
63e280df22 rawbaseparse: Drop incomplete frames at EOS
See https://bugzilla.gnome.org/show_bug.cgi?id=773666

This would ideally be solved in baseparse but that requires further
thought at this point, and in the meantime it would be good to have
rawbaseparse not assert on this but handle it gracefully instead.
2017-02-18 20:18:50 +02:00
Jan Schmidt
4a0bb14d9c adaptivedemux: Allow that 2017-02-09 00:16:33 +11:00
Jan Schmidt
309368bac3 adaptivedemux: Fix tests for delayed pad exposure.
Make the unit tests handle the fact that pads don't appear
immediately. Before, the test assumed pads are exposed before the
internal source element is created, which is no longer true.
2017-02-08 22:59:49 +11:00
Seungha Yang
d59571e80e tests: hlsdemux: Fix live startup sequence and seek range
To satisfy follwing restriction of HLS spec 6.3.3,
select startup fragment sequence to 4th from end of playlist.
Also, seek range should exclude last three fragment in playlist.

"the client SHOULD NOT choose a segment which starts less than
three target durations from the end of the Playlist file."

https://bugzilla.gnome.org/show_bug.cgi?id=777682
2017-01-31 13:23:34 +02:00
Juan Pablo Ugarte
98997e9f79 gl/examples/gtk: fixed compilation on systems without GL_GEOMETRY_SHADER
https://bugzilla.gnome.org/show_bug.cgi?id=777143
2017-01-13 11:20:51 +11:00
Edward Hervey
d98e82d667 check: Use gst_check_run_suite
Ensures that xunit reports get generated when requested
2017-01-02 15:05:19 +01:00
Sebastian Dröge
bdc1236003 dash: Define debug category used in the isoff code for the test too now 2016-12-24 08:42:51 +02:00
Edward Hervey
cf9a341e9d check: Use non-deprecated API 2016-12-21 12:06:00 +01:00
Sebastian Dröge
9b5de05399 Remove various unported plugins
If they were not ported after 4+ years it seems unlikely that anybody is
ever going to need them again. They're still in the GIT history if
needed.

https://bugzilla.gnome.org/show_bug.cgi?id=774530
2016-12-21 11:17:11 +02:00
Sebastian Dröge
5c99f9cf37 gst: Don't declare variables inside the for loop header
This is a C99 feature.
2016-12-13 22:39:01 +02:00
Matthew Waters
de41d74e6f tests/examples/qmlsink: scope QApplication/Engine
So they are destroyed before gst_deinit() is run and the leaks tracer
doesn't show false-positives.

https://bugzilla.gnome.org/show_bug.cgi?id=775746
2016-12-07 23:02:02 +11:00
Garima Gaur
aa08be43c7 gst: Fix caps leak
https://bugzilla.gnome.org/show_bug.cgi?id=775072
2016-11-30 09:59:08 +02:00
Tim-Philipp Müller
de4bb6e1d4 dataurisrc: remove plugin, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=774527
2016-11-28 11:26:50 +00:00
Tim-Philipp Müller
ad661999ad mimic: remove ancient codec
This was used by MSN messenger in prehistoric times, it's safe
to say no one needs or wants this any more these days. For
decoding old recordings there's still a decoder in ffmpeg.

https://bugzilla.gnome.org/show_bug.cgi?id=597616
2016-11-23 10:33:37 +00:00
Seungha Yang
e454694f0a mpdparser: Handle invalid external xml link for Period element
Section 5.3.3 in ISO/IEC 23009-1:2014 defines that invalid references
(e.g., invalide URI or cannot be resolved) specified by "@xlink:href" attribute
shall be removed. That means, we should play it without error,
and just ignore the corresponding element.
It's similar to "urn:mpeg:dash:resolve-to-zero:2013".

https://bugzilla.gnome.org/show_bug.cgi?id=774463
2016-11-21 09:43:30 +02:00
Tim-Philipp Müller
39b47e54eb tests: fix lib and cflags order in Makefile.am
pnm: add misssing continuation slash at end of line
vp8parser: no need to link codecparsers twice
dash_demux, mssdemux, hlsdemux: fix lib/flags ordering - local
libs and flags must come first, then base before core before rest
2016-11-20 13:22:56 +00:00
Matthew Waters
a7b0669ce8 gl/tests: fix glimagesink element test on OSX
It was suffering a race starting up the thread that could cause the main
loop to quit before the main loop had started.
2016-11-17 17:30:54 +11:00
Matthew Waters
1ddbd773f8 gl/tests: don't use the default framebuffer
Create our own instead as the default framebuffer may require special
fiddling (like having a visible window) to correctly display/be renderable.

Fixes the remaining GL library tests on OS X
2016-11-16 18:06:45 +11:00
Sebastian Dröge
72927c9b77 dash: Fix breakage in unit test caused by gst-indent 2016-11-14 17:00:21 +02:00
Seungha Yang
68e4f919a0 mpdparser: Support multiple Period elements in external xml
External xml could have empty, one or multiple top-level "Period" elements.
Because xml parser cannot parse the multiple top-level elements
(i.e., no root element), we need to wrap a xml in order to make root element.
See also ISO/IEC 23009-1:2014 5.3.2.2

https://bugzilla.gnome.org/show_bug.cgi?id=774357
2016-11-14 16:56:43 +02:00
Philippe Normand
0fbd2edaff mpdparser: wrap unmodified data in protection event
PlayReady being the one of the few DRM formats encoding its data with
base64 it was not consistent to have a special case for this. So the
base64 decoding operation now needs to be done by the protection event
consumer, if needed.

https://bugzilla.gnome.org/show_bug.cgi?id=774112
2016-11-14 11:50:13 +01:00
Matthew Waters
5d22e0c8d0 examples/gl/qt: fix the examples for the use of newer API
gstgl doesn't undo/overwrite what GL state the examples are changing
anymore.  As such, the examples need to reset the GL state themselves
to be able to play nice with libgstgl
2016-11-08 15:14:27 +11:00
Philippe Normand
dd0c56b4a2 mpdparser: MS PlayReady ContentProtection parsing
The "pro" (PlayReady Object) element contents are now base64-decoded
and properly stored in Protection events.

https://bugzilla.gnome.org/show_bug.cgi?id=773936
2016-11-04 17:04:59 +02:00
Sebastian Dröge
4899bf0926 gst: Fix more mentions of interlaced-mode to say interlace-mode 2016-11-04 16:26:50 +02:00
Edward Hervey
99721ddffa check: Add new test to .gitignore 2016-11-03 08:32:04 +01:00
Matthew Waters
41a6448918 gl: GST_GL_TYPE -> GST_TYPE_GL
Some deprecated symbols are kept for backwards compatibility
2016-11-03 16:16:12 +11:00
Matthew Waters
4b43862cdb glsl: fix #version 150 not working with profiles
The spec allows the core/compatibility profiles to be used
with #version 150.

Also tighten up the tests to check for default profiles being chosen
correctly.
2016-11-03 12:08:44 +11:00
Sebastian Dröge
898a62c1ac Revert "tests: rawvideoparse: add test for flow error handling"
This reverts commit 280b4ac2ff.

https://bugzilla.gnome.org/show_bug.cgi?id=773666
2016-11-02 09:36:04 +02:00
Tim-Philipp Müller
280b4ac2ff tests: rawvideoparse: add test for flow error handling
Also needs fixes in baseparse:
https://bugzilla.gnome.org/show_bug.cgi?id=773666
2016-11-01 20:34:37 +02:00
Vincent Penquerc'h
9a2df5dc3b tests: add a test for srtp elements
https://bugzilla.gnome.org/show_bug.cgi?id=772357
2016-11-01 19:37:50 +02:00
Matthew Waters
d37a2f13ee tests/gl: make sure all GL commands are executed on the GL thread
e.g. the final glGetError() must also be completed on the GL thread
2016-10-05 12:20:52 +11:00
Martin Kelly
dd062b6606 build: add missing $(GST_PLUGINS_BASE_LIBS)
The linker flags for several plugins (dashdemux, mssdemux, hlsdemux) are missing
$(GST_PLUGINS_BASE_LIBS), so add them so they can find -lgsttag and -lgstapp.

https://bugzilla.gnome.org/show_bug.cgi?id=771780
2016-09-21 14:38:25 -04:00
Joakim Johansson
25cb3afb58 rtponviftimestamp: Update unit tests after changing default value of D-bit
The D bit shall always be set to true for the first buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=770221
2016-09-21 09:41:38 -04:00
Sebastian Dröge
68cbf7802d player: Fix unit test for minor API change 2016-09-15 14:58:35 +02:00
Alistair Buxton
16d48770d1 gl/examples: Really remove references to $(GST_PLUGINS_GL_*).
These seem to have been missed in the previous commit to this file.

https://bugzilla.gnome.org/show_bug.cgi?id=771023
2016-09-08 09:45:56 +10:00
Matthew Waters
d2ff585de1 tests/glupload: support opengl3 properly instead of spewing GL errors 2016-08-29 16:58:24 +10:00
Alessandro Decina
a7dccec0ff glupload: fix tests and check for the new RECONFIGURE behaviour
The tests were broken since 91fea30, which changed glupload to return
GST_GL_UPLOAD_RECONFIGURE if the texture target in the input buffers doesn't
match the texture-target configured in the output caps.

This commit fixes that and adds more checks for the new behaviour.
2016-08-29 16:06:06 +10:00
Sebastian Dröge
268c18054d dash: Fix build of unit test 2016-08-26 20:12:21 +03:00
Josep Torra
2702d98d6b gitignore: add missing dash_isoff file 2016-08-25 16:33:17 +02:00
Josep Torra
ee3b23efc0 build: fix gst-uninstalled build in osx
Fixes clang: error: argument unused during compilation: '-pthread'
when building the test programs.
2016-08-25 16:28:11 +02:00
Josep Torra
0208168952 build: unconditionally check for video, audio and pbutils modules
Check for modules in configure and use GST_*_LIBS vars to link with
the libraries instead of hardcoding them.
2016-08-25 16:27:41 +02:00
Matthew Waters
e6b93e18d3 gl/examples/fxtest: fix up for wayland support
- Pass the wayland display to gst
- Redrawing on resize is no longer needed.
2016-08-19 16:05:33 +10:00
Carlos Rafael Giani
638c442467 rawparse: Fix and extend unit tests
* Add caps change test to unit tests
* Cleanup leftover buffers after each unit test
* Add missing rawvideoparse entry in .gitignore

https://bugzilla.gnome.org/show_bug.cgi?id=769637
2016-08-18 10:53:58 +03:00
Carlos Rafael Giani
91cf5ac69f rawvideoparse: Compute plane offsets & strides if no custom ones are set
This is useful to ensure that the offsets and strides are computed if
only width, height, format etc. in the property config are set.

https://bugzilla.gnome.org/show_bug.cgi?id=769797
2016-08-18 09:21:16 +03:00
Sebastian Dröge
f126403bd6 dashdemux: Disable unit test for the time being
It uses random data streams but dashdemux nowadays actually looks into the
streams and doesn't like randomness very much. The tests should probably just
become validate tests on real streams.

https://bugzilla.gnome.org/show_bug.cgi?id=769553
2016-08-11 12:19:59 +02:00
Sebastian Dröge
6dbfb1133c dash: Add test for parsing a moof box
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Sebastian Dröge
e3805e4a96 dash: Add unit test for ISOBFF box header parsing
https://bugzilla.gnome.org/show_bug.cgi?id=741104
2016-08-11 11:56:55 +02:00
Tim-Philipp Müller
4df6f1ee93 hlsdemux: move variant list handling over to new master playlist code
Adapt hlsdemux for the m3u8 playlist changes.
2016-08-03 23:49:54 +10:00
Haihua Hu
65a3c35670 qmlglsrc: Add qmlglsrc unit test example
https://bugzilla.gnome.org/show_bug.cgi?id=768160
2016-08-03 22:11:11 +10:00
Sebastian Dröge
aa27e34331 aiffparse: In PUSH mode we will never get the ID3 tags as they are at the end of the file
This previously did not fail as before we didn't get any tags at all in PUSH
mode, now we get the bitrates.
2016-08-02 17:07:37 +03:00
Alex Ashley
dc6e4ccbf9 tests: dashdemux: add test for gst_mpd_client_get_maximum_segment_duration
Add a test of the gst_mpd_client_get_maximum_segment_duration() function
to check that it first checks the MPD@maxSegmentDuration and then falls
back to checking all of the segment durations.

https://bugzilla.gnome.org/show_bug.cgi?id=753751
2016-08-02 12:52:34 +01:00
Vincent Penquerc'h
c94c0ad834 tests: fix simple-launch-lines when jpeg lib isn't present
JPEG detection in configure.ac defines HAVE_JPEG to 0 if the
jpeg lib isn't found, rather then not defining it.

https://bugzilla.gnome.org/show_bug.cgi?id=769197
2016-07-26 18:09:39 +01:00
Carlos Rafael Giani
d555f34562 rawparse: Add new raw audio and video parser elements
The new rawaudioparse and rawvideoparse elements are based on GstBaseParse
and completely replace audioparse and videoparse

https://bugzilla.gnome.org/show_bug.cgi?id=767011
2016-07-26 13:44:39 +03:00
Matthew Waters
06b4b52a20 glcontext: remove not thread-safe get/set_error()
Use GError's instead if necessary.
2016-07-26 14:07:24 +10:00
Matthew Waters
518e8a3fd2 glframebuffer: rewrite for a more consistent API
Facilities are given to create fbo's and attach GL memory (renderbuffers
or textures).  It also keeps track of the renderable size for use with
effective use with glViewport().
2016-07-26 14:07:24 +10:00
Guillaume Desmottes
0f692e202e player: move 'position-update-interval' setting to the config struct
https://bugzilla.gnome.org/show_bug.cgi?id=769144
2016-07-25 13:03:20 +03:00
Guillaume Desmottes
6e39cef802 player: add API to change http user agent
Introducing a new 'config' API similar to GstBufferPoolConfig.

https://bugzilla.gnome.org/show_bug.cgi?id=765314
2016-07-25 13:02:35 +03:00
Sebastian Dröge
d6c173d038 qml: Don't forget to unref the actual sink element after setting it on glsinkbin 2016-07-22 17:00:14 +03:00
Sebastian Dröge
b10ab99e02 qml: Use glsinkbin instead of glupload directly 2016-07-22 16:57:45 +03:00
Guillaume Desmottes
b3b764999a tests: fix bus leak
gst_bus_remove_signal_watch() has to be called to release the ref
taken by gst_bus_add_signal_watch().

https://bugzilla.gnome.org/show_bug.cgi?id=768843
2016-07-18 12:41:12 +01:00
Matthew Waters
989200820d glmemory: add the texture type to allocate to parameters
Rather than assuming something.  e.g. zerocopy on iOS with GLES3 requires
the use of Luminance/Luminance Alpha formats and does not work with
Red/RG textures.
2016-06-29 18:04:28 +10:00
Olivier Crête
dbda62f429 tests: Ignore kmssink for state change test
It can only be put to READY if the DRM stuff is available.
2016-06-27 21:36:50 -04:00
Guillaume Desmottes
9106bf573a templatematch: fix buffer leak in test
Need to call gst_check_drop_buffers() to unref the buffers exchanged
during the test.

https://bugzilla.gnome.org/show_bug.cgi?id=767159
2016-06-21 10:57:18 +03:00
Guillaume Desmottes
0d6359d4a2 glimagesink: fix query leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
e071510b12 glimagesink: properly setup/teardown tests
tcase_add_checked_fixture() is suppose to call the setup and teardown
functions so the tests don't have to do it manually.

https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
6a02c8a109 glupload: fix shader leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
bebe4ca7ab uvch264demux: fix buffer leaks in test
The mock chain functions aren't unreffing the buffers so the caller
should do it.

https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
9694e7e820 camerabin: fix element leak in test
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
a68534d094 fix buffer leaks in tests
gst_check_drop_buffers() release the buffers exchanged during the test.

https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
fc5cb1ec13 fix event leaks in tests
The events are supposed to be unreffed when finishing the test, not
reffed.

https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
2ec2e15a2a audiointerleave: fix message leaks by flushing the bus
https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Guillaume Desmottes
e925a8acf0 autoconvert: fix factories leak in test
The factories returned by gst_registry_find_feature() have to be
unreffed.

https://bugzilla.gnome.org/show_bug.cgi?id=766663
2016-06-21 10:52:47 +03:00
Matthew Waters
05b24c128a tests/glcontext: link against gstvideo for gst_video_info_*
fixes make distcheck complaining about it.
2016-06-16 01:54:16 +10:00
Matthew Waters
8c9b231db1 tests/glcontext: update test for gen,del_texture removal 2016-06-16 00:47:42 +10:00
Guillaume Desmottes
0467923415 player: inhibit signals after gst_player_stop() has been called
Also wait for the state change to STOP to have been announced before
destroying the player so it won't appear as leaked by leak detector
tools.

https://bugzilla.gnome.org/show_bug.cgi?id=766607
2016-05-30 12:43:22 +03:00
Guillaume Desmottes
b00f0d0180 player: handle uri-loaded in test
Had to adapt the existing tests because of this new callback.

https://bugzilla.gnome.org/show_bug.cgi?id=766607
2016-05-30 12:43:22 +03:00
Jan Schmidt
1079e1c48c pnm: Add a basic unit test
Test that we can run an encode / decode cycle in various
formats without errors
2016-05-24 07:21:44 +10:00
Guillaume Desmottes
0f19a48c98 player: use gst_check_init() in test
Calling GST_DEBUG() in test rely on the default category to be defined,
which is done in gst_check_init().

https://bugzilla.gnome.org/show_bug.cgi?id=766607
2016-05-21 09:57:54 +03:00
Martin Kelly
01d8b446a6 examples: opencv: typo fix
https://bugzilla.gnome.org/show_bug.cgi?id=766639
2016-05-19 09:18:43 +01:00
Thiago Santos
04e4392afe tests: adaptivedemux: only check for data length after seek
When the test involves doing a seek, only check for data size after
the seek. The final segment range after seek might be different/smaller
than the threshold for doing the seek and doing the check before
seeking would fail.
2016-04-22 17:33:15 -03:00
Florin Apostol
00a74e98b3 adaptivedemux: tests: use macro to define names of request and response structs
Following the Don't Repeat Yourself principle, define macros
for the structures that contain the request and response headers,
so that the name is not repeated in multiple places in multiple files.

https://bugzilla.gnome.org/show_bug.cgi?id=762144
2016-04-22 17:33:15 -03:00
Florin Apostol
3224cfd0b5 adaptivedemux: tests: improved checks for expected data
Check the size of received data for each buffer received by AppSink

https://bugzilla.gnome.org/show_bug.cgi?id=762144
2016-04-22 17:33:15 -03:00
Florin Apostol
808a51dc0e dashdemux: tests: added content protection test
Test content protection
Configure 3 content protection sources:
- a uuid scheme/value pair
- a non uuid scheme/value pair (dash recognises only uuid schemes)
- a complex uuid scheme, with trailing spaces and capital letters in scheme uri
Only the uuid scheme should be recognised. We expect to receive 2 content protection events

https://bugzilla.gnome.org/show_bug.cgi?id=758064
2016-04-22 17:33:15 -03:00
Florin Apostol
5b6b24859f dashdemux: tests: added test for media download error for in stream fragment
Tested download error for a fragment that is not the last media fragment
in the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=762144
2016-04-22 17:33:15 -03:00
Florin Apostol
01397f56f2 dashdemux: tests: added test for download errors during header download
Test header download error.
Let the adaptive demux download a few bytes, then instruct the
GstTestHTTPSrc element to generate an error while the fragment header
is still being downloaded.

https://bugzilla.gnome.org/show_bug.cgi?id=762144
2016-04-22 17:33:15 -03:00
Florin Apostol
b8ba8a3b7e dashdemux: tests: refactor testFragmentDownloadError
Renamed testFragmentDownloadError to testMediaDownloadErrorLastFragment.
Added gst_adaptive_demux_test_unexpected_eos function.
Remove unneeded testFragmentDownloadErrorCheckSizeOfDataReceived.

https://bugzilla.gnome.org/show_bug.cgi?id=762144
2016-04-22 17:33:15 -03:00