Commit graph

1142 commits

Author SHA1 Message Date
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
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
c180f8ffed audiomixer: remove, moved to -base
https://bugzilla.gnome.org/show_bug.cgi?id=791218
2018-02-13 00:37:35 +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
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
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
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
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
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
Reynaldo H. Verdejo Pinochet
0f71d2e408 Use proper GtkDoc notation for NULL/FALSE/TRUE 2017-10-03 14:35:48 -07: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
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
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