Commit graph

1578 commits

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