platform/upstream/gstreamer.git
5 years agoAdd Gitlab CI configuration
Jordan Petridis [Mon, 12 Nov 2018 11:23:45 +0000 (13:23 +0200)]
Add Gitlab CI configuration

This commit adds a .gitlab-ci.yml file, which uses a feature
to fetch the config from a centralized repository. The intent is
to have all the gstreamer modules use the same configuration.

The configuration is currently hosted at the gst-ci repository
under the gitlab/ci_template.yml path.

Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29

5 years agobuild: link against the gnustl dependency on android for c++ plugins
Matthew Waters [Mon, 12 Nov 2018 10:23:37 +0000 (21:23 +1100)]
build: link against the gnustl dependency on android for c++ plugins

5 years agoavdtputil: Remove dead code
Jochen Henneberg [Fri, 9 Nov 2018 15:20:09 +0000 (15:20 +0000)]
avdtputil: Remove dead code

These function are not used at all, using them together with the
transport-volume property from avdtpsrc may end up in a binding loop so
we better remove the functions.

5 years agoavdtpsrc: Fix transport-volume write
Jochen Henneberg [Fri, 9 Nov 2018 15:16:46 +0000 (15:16 +0000)]
avdtpsrc: Fix transport-volume write

If properties are proxied through GBinding this can work only if the
proxied property keeps it's own value. The previous implementation will
read the original value if the proxied property signals a change and
thus nothing will happen.

5 years agosrtp: Add unit tests for MKI support
Olivier Crête [Thu, 18 Oct 2018 18:49:50 +0000 (14:49 -0400)]
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

5 years agosrtpenc: Add support for adding a MKI
Olivier Crête [Wed, 17 Oct 2018 22:30:10 +0000 (18:30 -0400)]
srtpenc: Add support for adding a MKI

https://bugzilla.gnome.org/show_bug.cgi?id=797305

5 years agosrtpdec: Add support for MKI
Olivier Crête [Mon, 15 Oct 2018 22:23:35 +0000 (18:23 -0400)]
srtpdec: Add support for MKI

Add support for MKIs which allow multiple keys to be used with a single SRTP stream.

https://bugzilla.gnome.org/show_bug.cgi?id=797305

5 years agodshowsrcwrapper: add implementation of GstDeviceMonitor
Joshua M. Doe [Tue, 16 Oct 2018 15:53:20 +0000 (11:53 -0400)]
dshowsrcwrapper: add implementation of GstDeviceMonitor

Right now this only works for video. An attempt was made at adding
monitoring following the example winks, but it seems the only devices that
can be easily detected are KS sources, which winks already handles.

5 years agodshowsrcwrapper: refactor device selection, filter creation, and caps retrieval
Joshua M. Doe [Tue, 16 Oct 2018 15:45:15 +0000 (11:45 -0400)]
dshowsrcwrapper: refactor device selection, filter creation, and caps retrieval

This allows a future GstDeviceProvider to more easily query devices and caps.

5 years agodshowsrcwrapper: add get_property implementation to sources
Joshua M. Doe [Fri, 12 Oct 2018 14:12:14 +0000 (10:12 -0400)]
dshowsrcwrapper: add get_property implementation to sources

5 years agodshowvideosrc: handle empty strings for device and device-name
Joshua M. Doe [Fri, 12 Oct 2018 13:59:54 +0000 (09:59 -0400)]
dshowvideosrc: handle empty strings for device and device-name

The device and device-name properties should treat NULL and empty strings the same

5 years agodshowvideosrc: delay selecting device until source is started
Joshua M. Doe [Fri, 12 Oct 2018 12:57:07 +0000 (08:57 -0400)]
dshowvideosrc: delay selecting device until source is started

The previous behaviour had issues when setting one of the device properties
after _get_caps had been called. The device shouldn't be locked in until after
_start has been called.

5 years agodshowvideosrc: fix template caps to reflect actual supported caps
Joshua M. Doe [Fri, 12 Oct 2018 12:49:06 +0000 (08:49 -0400)]
dshowvideosrc: fix template caps to reflect actual supported caps

5 years agodshowsrcwrapper: add some helpful debug statements
Joshua M. Doe [Thu, 11 Oct 2018 16:58:35 +0000 (12:58 -0400)]
dshowsrcwrapper: add some helpful debug statements

5 years agoksvideosrc: initialize pointer to satisfy MSVC
Joshua M. Doe [Mon, 15 Oct 2018 16:49:55 +0000 (12:49 -0400)]
ksvideosrc: initialize pointer to satisfy MSVC

5 years agoksvideosrc: support 'Y16 ' FOURCC as GRAY16_LE
Joshua M. Doe [Mon, 15 Oct 2018 16:48:10 +0000 (12:48 -0400)]
ksvideosrc: support 'Y16 ' FOURCC as GRAY16_LE

The FLIR Boson USB provides 16-bit grayscale video using this FOURCC.

5 years agoksvideosrc: gracefully handle device prop when empty string
Joshua M. Doe [Mon, 15 Oct 2018 16:46:32 +0000 (12:46 -0400)]
ksvideosrc: gracefully handle device prop when empty string

5 years agompegts: Register a number of new boxed types to support auto generation of bindings.
Russel Winder [Thu, 8 Nov 2018 08:15:41 +0000 (08:15 +0000)]
mpegts: Register a number of new boxed types to support auto generation of bindings.

5 years agodecklinkvideosrc: Search from line 1 again if we didn't find closed captions at the...
Sebastian Dröge [Wed, 7 Nov 2018 15:24:35 +0000 (17:24 +0200)]
decklinkvideosrc: Search from line 1 again if we didn't find closed captions at the same line as before

5 years agotsdemux: implement preliminary support for the bitrate query
Matthew Waters [Mon, 28 May 2018 15:06:09 +0000 (01:06 +1000)]
tsdemux: implement preliminary support for the bitrate query

Return the size / total duration as a ballpark estimate.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/60

5 years agoh265parser: Various update of vps parsing
Seungha Yang [Sun, 14 Oct 2018 07:36:33 +0000 (16:36 +0900)]
h265parser: Various update of vps parsing

* Add FIXME for future correction of HRDParames parsing.
Spec. defines that the number of HRDParames could be up to
"vps_num_layer_sets_minus1 + 1" (i.e., 1024).

* Add parsing vps_base_layer_{internal,available}_flag.

* Fix possible invalid vps_extension parsing.

Fixes #798

5 years agotests: h265parser: Add test parsing nonzero vps_max_layer_id in VPS
Seungha Yang [Sun, 14 Oct 2018 07:02:01 +0000 (16:02 +0900)]
tests: h265parser: Add test parsing nonzero vps_max_layer_id in VPS

5 years agoh265parser: Fix wrong maximum range check in gst_h265_parse_vps()
Seungha Yang [Fri, 12 Oct 2018 10:26:01 +0000 (19:26 +0900)]
h265parser: Fix wrong maximum range check in gst_h265_parse_vps()

Fix validation of some syntax.

Fixes #798

5 years agomeson: avoid unkown variables in the msdk tests
Jordan Petridis [Mon, 29 Oct 2018 19:51:14 +0000 (21:51 +0200)]
meson: avoid unkown variables in the msdk tests

5 years agodtls: Link against winsock2 on Windows
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 17:47:43 +0000 (18:47 +0100)]
dtls: Link against winsock2 on Windows

Should fix the Windows build after
b1509b1047bb76c9b2d8b14e9cecd0da72fd8e65.

5 years agodecklinkvideosink: fix segfault when audiosink is closed before videosink
admin [Tue, 6 Nov 2018 17:06:01 +0000 (11:06 -0600)]
decklinkvideosink: fix segfault when audiosink is closed before videosink

5 years agodtlsconnection: Print out errno info for syscall errors
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 15:50:29 +0000 (16:50 +0100)]
dtlsconnection: Print out errno info for syscall errors

As suggested in [the SSL_get_error manpage][1]. Upgrade the message to a
warning if the errno isn't 0 (success). The latter apparently means the
transport encountered an EOF (shutdown) without the shut down handshake
on the (D)TLS level. This happens quite often for otherwise normal DTLS
connections.

[1]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html

5 years agodtls: Properly display all errors/warnings from ERR queue
Andreas Frisch [Thu, 29 Mar 2018 11:33:10 +0000 (13:33 +0200)]
dtls: Properly display all errors/warnings from ERR queue

Print out all errors from the OpenSSL error queue instead of just
looking at the topmost error. Using the callback interface also removes
the need for formatting using a buffer on the stack.

5 years agodtlsconnection: Replace if-else chain with switch
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:37:21 +0000 (12:37 +0100)]
dtlsconnection: Replace if-else chain with switch

A more idiomatic construct for testing a bunch of integers.

5 years agodtlsconnection: Clear error queue before SSL_do_handshake
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:31:38 +0000 (12:31 +0100)]
dtlsconnection: Clear error queue before SSL_do_handshake

As documented on [the SSL_get_error manpage][1] we need to empty the
error queue before making any call that we check with SSL_get_error.

[1]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html

5 years agodtlsconnection: Lower BIO error log level to DEBUG
Jan Alexander Steffens (heftig) [Mon, 5 Nov 2018 11:26:26 +0000 (12:26 +0100)]
dtlsconnection: Lower BIO error log level to DEBUG

Periodic SSL_ERROR_SYSCALL errors with errno == 0 seem to be normal
behavior for DTLS connections.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/677

5 years agodtlsconnection: Run gst-indent
Jan Alexander Steffens (heftig) [Tue, 6 Nov 2018 16:08:35 +0000 (17:08 +0100)]
dtlsconnection: Run gst-indent

5 years agocccombiner: Add unit test
Sebastian Dröge [Mon, 5 Nov 2018 15:00:20 +0000 (17:00 +0200)]
cccombiner: Add unit test

5 years agocccombiner: Add new closed caption combiner element
Sebastian Dröge [Mon, 5 Nov 2018 14:24:58 +0000 (16:24 +0200)]
cccombiner: Add new closed caption combiner element

This is the inverse of ccextractor: it takes a video and closed caption
stream and places the closed caption metas on the video output buffers.

5 years agoccextractor: Handle multiple caption metas per buffer
Sebastian Dröge [Mon, 5 Nov 2018 15:07:32 +0000 (17:07 +0200)]
ccextractor: Handle multiple caption metas per buffer

5 years agomsdk: fix intel sdk libdir path
Florent Thiéry [Tue, 6 Nov 2018 11:40:12 +0000 (12:40 +0100)]
msdk: fix intel sdk libdir path

the 2018.3.1 intel sdk release places libraries into /lib64 instead of
/lib/lin_x64 or /lib/x64, this commit adds /lib64 to the libdir
locations list

Fixes #815

5 years agod3dvideosink: Fix calculating buffer size of packed format
Seungha Yang [Tue, 6 Nov 2018 11:14:32 +0000 (20:14 +0900)]
d3dvideosink: Fix calculating buffer size of packed format

The Pitch (i.e., stride) of D3DLOCKED_RECT structure is already
respecting required stride value.

5 years agod3dvideosink: Set actual buffer size to buffer pool
Seungha Yang [Sun, 4 Nov 2018 13:41:50 +0000 (22:41 +0900)]
d3dvideosink: Set actual buffer size to buffer pool

If configured size of buffer pool and actual buffer size are mismatched,
pool will do unwanted buffer resize.

Fixes #801

5 years agod3dvideosink: Use lock/cond to wait internal window construction
Seungha Yang [Sat, 3 Nov 2018 11:52:20 +0000 (20:52 +0900)]
d3dvideosink: Use lock/cond to wait internal window construction

We can save one (or possibly more) sleep time by using lock/cond

5 years agod3dvideosink: Don't leak GThread object
Seungha Yang [Sat, 3 Nov 2018 11:20:50 +0000 (20:20 +0900)]
d3dvideosink: Don't leak GThread object

Need to call g_thread_join() to avoid leak

5 years agod3dvideosink: Print lock/unlock log with trace debug level
Seungha Yang [Tue, 30 Oct 2018 13:49:01 +0000 (22:49 +0900)]
d3dvideosink: Print lock/unlock log with trace debug level

5 years agod3dvideosink: Remove white space
Seungha Yang [Tue, 6 Nov 2018 10:36:12 +0000 (19:36 +0900)]
d3dvideosink: Remove white space

5 years agoh265parser: Stop considering 6 bytes NAL complete
Nicolas Dufresne [Fri, 2 Nov 2018 19:53:56 +0000 (15:53 -0400)]
h265parser: Stop considering 6 bytes NAL complete

This is only TRUE for EOS / EOB NALs. Before this patch, passing
any valid 6 bytes of a NAL would make the parser pretend this NAL is
complete.

5 years agoh265parser: Add same parsing test as for H264
Nicolas Dufresne [Fri, 2 Nov 2018 19:50:15 +0000 (15:50 -0400)]
h265parser: Add same parsing test as for H264

This adds the same test as found in H264 test.

5 years agoh264parser: Add unit test parsing 5 valid bytes of a NAL
Nicolas Dufresne [Fri, 2 Nov 2018 17:59:58 +0000 (13:59 -0400)]
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.

5 years agoh264parser: Stop considering 5 bytes NAL complete
Nicolas Dufresne [Fri, 2 Nov 2018 18:18:54 +0000 (14:18 -0400)]
h264parser: Stop considering 5 bytes NAL complete

This is only TRUE for SEQ_END / STREAM_END. Before this patch, passing
any valid 5 bytes of a NAL would make the parser pretend this NAL is
complete.

5 years agoapplemedia: install plugin pkg-config file
Matthew Waters [Tue, 6 Nov 2018 03:35:20 +0000 (14:35 +1100)]
applemedia: install plugin pkg-config file

5 years agompegts: remove insignificant trailing whitespace from lines of files in the MPEG...
Russel Winder [Mon, 5 Nov 2018 15:21:35 +0000 (15:21 +0000)]
mpegts: remove insignificant trailing whitespace from lines of files in the MPEG-TS library.

5 years agodecklinkvideosrc: respect pixel format property even if mode is set to auto
Joshua M. Doe [Thu, 16 Aug 2018 15:30:08 +0000 (11:30 -0400)]
decklinkvideosrc: respect pixel format property even if mode is set to auto

Before this patch, if mode=auto and video-format!=auto, video-format would
always be ignored, and get set to 8bit-yuv, or if detected to be RGB444, then
it would be set to 8bit-argb. This change respects video-format if it is set
to 10bit-yuv (v210) or 8bit-bgra, even when mode=auto.

Closes #772

5 years agoUpdate common submodule location
Matthew Waters [Mon, 5 Nov 2018 05:39:12 +0000 (05:39 +0000)]
Update common submodule location

Remove the git directory

5 years agoClone the code from gitlab
Haihao Xiang [Mon, 5 Nov 2018 04:46:29 +0000 (12:46 +0800)]
Clone the code from gitlab

This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/814

5 years agocompositor: update disted orc backup files
Tim-Philipp Müller [Fri, 2 Nov 2018 20:31:54 +0000 (20:31 +0000)]
compositor: update disted orc backup files

5 years agodocs: update for git master
Tim-Philipp Müller [Fri, 2 Nov 2018 20:31:11 +0000 (20:31 +0000)]
docs: update for git master

5 years agowebrtc: update default libnice options
Tim-Philipp Müller [Fri, 2 Nov 2018 20:16:56 +0000 (20:16 +0000)]
webrtc: update default libnice options

Uses feature options now.

5 years agoccextractor: Add unit test
Sebastian Dröge [Fri, 2 Nov 2018 10:21:45 +0000 (12:21 +0200)]
ccextractor: Add unit test

https://bugzilla.gnome.org/show_bug.cgi?id=797370

5 years agoccextractor: Support changes of the caption type
Sebastian Dröge [Fri, 2 Nov 2018 10:21:24 +0000 (12:21 +0200)]
ccextractor: Support changes of the caption type

https://bugzilla.gnome.org/show_bug.cgi?id=797370

5 years agodecklinkvideosrc: Add support for extracing CEA608 according to S334-1 Annex A
Sebastian Dröge [Thu, 1 Nov 2018 15:59:17 +0000 (17:59 +0200)]
decklinkvideosrc: Add support for extracing CEA608 according to S334-1 Annex A

https://bugzilla.gnome.org/show_bug.cgi?id=797363

5 years agompegts: Register a boxed type for GstMpegtsContent
Russel Winder [Wed, 31 Oct 2018 18:44:34 +0000 (18:44 +0000)]
mpegts: Register a boxed type for GstMpegtsContent

5 years agoplayer: don't change uri when setting subtitle uri
Víctor Manuel Jáquez Leal [Mon, 25 Jun 2018 17:37:56 +0000 (19:37 +0200)]
player: don't change uri when setting subtitle uri

https://bugzilla.gnome.org/show_bug.cgi?id=797362

5 years agodocs: Follow-up fix for GstPlayer new subtitle-video-offset API
Philippe Normand [Thu, 1 Nov 2018 10:44:44 +0000 (10:44 +0000)]
docs: Follow-up fix for GstPlayer new subtitle-video-offset API

These symbols were not renamed after the initial review in Bugzilla.

https://bugzilla.gnome.org/show_bug.cgi?id=797134

5 years agoplayer: API additions for subtitle-video-offset property
Philippe Normand [Sun, 28 Oct 2018 14:48:35 +0000 (14:48 +0000)]
player: API additions for subtitle-video-offset property

This new property contols the synchronisation offset between subtitles and video
in nanoseconds.

https://bugzilla.gnome.org/show_bug.cgi?id=797134

5 years agocompositor: Fix enum type mismatch
Víctor Manuel Jáquez Leal [Wed, 31 Oct 2018 18:20:20 +0000 (19:20 +0100)]
compositor: Fix enum type mismatch

The variable blend_mode is GstCompositorBlendMode but it is
assigned to a GstCompositorOperator enum value.

5 years agocompositor: fix undeclared functions
Johan Bjäreholt [Tue, 30 Oct 2018 09:05:03 +0000 (10:05 +0100)]
compositor: fix undeclared functions

5 years agocompositor: Implement different operators via per-pad property
Sebastian Dröge [Sat, 27 Oct 2018 15:44:27 +0000 (16:44 +0100)]
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

5 years agomeson: Add a feature option for the MSDK plugin
Nirbheek Chauhan [Sun, 28 Oct 2018 14:54:52 +0000 (14:54 +0000)]
meson: Add a feature option for the MSDK plugin

5 years agomeson: add 'curl-ssh2' option for curl libssh2 support
Tim-Philipp Müller [Sun, 28 Oct 2018 11:53:42 +0000 (11:53 +0000)]
meson: add 'curl-ssh2' option for curl libssh2 support

https://bugzilla.gnome.org/show_bug.cgi?id=797346

5 years agomeson: Use the 'curl' feature option
Xavier Claessens [Sun, 28 Oct 2018 10:47:38 +0000 (06:47 -0400)]
meson: Use the 'curl' feature option

https://bugzilla.gnome.org/show_bug.cgi?id=797346

5 years agompegts: Use gst and gst_mpegts as symbol prefix in the meson build
Sebastian Dröge [Sun, 28 Oct 2018 11:07:47 +0000 (11:07 +0000)]
mpegts: Use gst and gst_mpegts as symbol prefix in the meson build

Just like we do in the autotools build.

5 years agodshowsrcwrapper: add device-index property to sources
Joshua M. Doe [Thu, 11 Oct 2018 16:45:21 +0000 (12:45 -0400)]
dshowsrcwrapper: add device-index property to sources

This allows users to more easily select different devices without having
to first get the device or device-name.

https://bugzilla.gnome.org/show_bug.cgi?id=797338

5 years agodshowsrcwrapper: update CMake build instructions
Joshua M. Doe [Wed, 24 Oct 2018 18:16:38 +0000 (14:16 -0400)]
dshowsrcwrapper: update CMake build instructions

GStreamer 1.8 is minimum version, and remove paragraph about 32 vs 64-bit build

https://bugzilla.gnome.org/show_bug.cgi?id=797338

5 years agodshowsrcwrapper: support building 32- and 64-bit with CMake
Joshua M. Doe [Wed, 24 Oct 2018 18:15:08 +0000 (14:15 -0400)]
dshowsrcwrapper: support building 32- and 64-bit with CMake

https://bugzilla.gnome.org/show_bug.cgi?id=797338

5 years agodshowsrcwrapper: add debug category for general dshowsrcwrapper
Joshua M. Doe [Thu, 11 Oct 2018 15:17:11 +0000 (11:17 -0400)]
dshowsrcwrapper: add debug category for general dshowsrcwrapper

https://bugzilla.gnome.org/show_bug.cgi?id=797338

5 years agocheck: Disable mssdemux unit test for now
Edward Hervey [Sat, 27 Oct 2018 15:55:54 +0000 (17:55 +0200)]
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).

5 years agompegts: Add boxed type for DVB CableDeliverySystem descriptor
Sebastian Dröge [Sat, 27 Oct 2018 12:57:45 +0000 (13:57 +0100)]
mpegts: Add boxed type for DVB CableDeliverySystem descriptor

5 years agocompositor: Remove extra header for the pad declaration
Sebastian Dröge [Sat, 27 Oct 2018 11:37:07 +0000 (12:37 +0100)]
compositor: Remove extra header for the pad declaration

There's no reason for having this separate apart from making things less
discoverable.

5 years agotests: Disable most gstplayer tests for now
Edward Hervey [Sat, 27 Oct 2018 11:37:38 +0000 (13:37 +0200)]
tests: Disable most gstplayer tests for now

https://bugzilla.gnome.org/show_bug.cgi?id=787374

5 years agowebrtcbin: options is a placeholder argument
Luis de Bethencourt [Fri, 26 Oct 2018 14:15:41 +0000 (15:15 +0100)]
webrtcbin: options is a placeholder argument

Make it clear this unused argument is there for planned future use.

5 years agowebrtcbin: ws-semantic is not supported
Luis de Bethencourt [Fri, 26 Oct 2018 13:36:37 +0000 (14:36 +0100)]
webrtcbin: ws-semantic is not supported

Don't offer something that isn't supported.

5 years agoplayer: Don't set state to READY if we're already stopped
Sebastian Dröge [Wed, 24 Oct 2018 13:34:13 +0000 (14:34 +0100)]
player: Don't set state to READY if we're already stopped

Otherwise setting an URI after creation will already set the state
to READY/buffering and disallow setting the configuration.

See https://github.com/servo/servo/issues/22010

5 years agohls: Remove stray '\n' from debug statement
Edward Hervey [Mon, 22 Oct 2018 07:59:24 +0000 (09:59 +0200)]
hls: Remove stray '\n' from debug statement

5 years agoRevert "srtpdec: also check for "roc" in caps"
Olivier Crête [Wed, 17 Oct 2018 22:33:12 +0000 (18:33 -0400)]
Revert "srtpdec: also check for "roc" in caps"

This reverts commit 73ebdb888e047b14ceea19ce1a0bbbeff0cd7b2a.

This isn't needed and it breaks srtpenc ! srtpdec, specifying the
roll-over counter manually is an advanced feature.

Also revert "srtp: Add "roc" caps field to the gst-launch example"
This reverts commit 67ae35813bff9362065bbfec770f3fdbb89165a3.

https://bugzilla.gnome.org/show_bug.cgi?id=765079

5 years agomeson: Replace empty configuration_data() with copy keyword
Seungha Yang [Wed, 17 Oct 2018 12:09:22 +0000 (21:09 +0900)]
meson: Replace empty configuration_data() with copy keyword

Use 'copy' keyword to avoid meson warning message.
Note that 'copy' keyword in configure_file() is available
since meson 0.47.0

https://bugzilla.gnome.org/show_bug.cgi?id=797298

5 years agosctp: link against ws2_32 on windows
Matthew Waters [Wed, 17 Oct 2018 10:04:51 +0000 (21:04 +1100)]
sctp: link against ws2_32 on windows

ext/sctp/ext@sctp@@gstsctp@sha/sctpassociation.c.obj: In function `receive_cb':
/var/lib/jenkins/workspace/cerbero-cross-mingw32/workdir/sources/windows_x86/gst-plugins-bad-1.0-1.15.0.1/_builddir/../ext/sctp/sctpassociation.c:692: undefined reference to `_imp__ntohl@4'

5 years agowebrtcbin: implement support for group: BUNDLE
Mathieu Duponchelle [Thu, 13 Sep 2018 22:08:34 +0000 (00:08 +0200)]
webrtcbin: implement support for group: BUNDLE

5 years agoav1enc: Add to configure image formats
Wonchul Lee [Sun, 7 Oct 2018 07:19:03 +0000 (16:19 +0900)]
av1enc: Add to configure image formats

Expanded to support image format to YV12/I422/I444. It's related to the
color bit-depth and profile of the codec. It can make configuring
appropriate profile according to bit-depth and format.

https://bugzilla.gnome.org/show_bug.cgi?id=791674

5 years agoav1enc: fix compliation with removed defines
Wonchul Lee [Wed, 3 Oct 2018 08:13:32 +0000 (17:13 +0900)]
av1enc: fix compliation with removed defines

AOM_FRAME_IS_INVISIBLE is unused and remove in aom_encoder.h

https://aomedia-review.googlesource.com/c/aom/+/70421

https://bugzilla.gnome.org/show_bug.cgi?id=791674

5 years agoav1enc: Add configurations
Wonchul Lee [Mon, 30 Jul 2018 14:31:00 +0000 (23:31 +0900)]
av1enc: Add configurations

Added rate control and profile related configuration. The profile
configuration has been copied from vpx.

https://bugzilla.gnome.org/show_bug.cgi?id=791674

5 years agoshmsrc: delay fd removal until there's no uses
Josep Torra [Tue, 9 Oct 2018 14:59:54 +0000 (16:59 +0200)]
shmsrc: delay fd removal until there's no uses

This fixes the remaining race condition with the fd by delaying
the removal until last pipe ref.

Unexpected critical/warning: gst_poll_fd_has_error: assertion 'fd->fd
>= 0' failed

Stack trace:
gst_debug_get_stack_trace (gstinfo.c:2788)
gst_check_log_critical_func (gstcheck.c:281)
g_logv (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0a40)
g_log (/lib/x86_64-linux-gnu/libglib-2.0.so.0.4800.2:0x7fdd4efa0c6b)
gst_poll_fd_has_error (gstpoll.c:1217)
gst_shm_src_create (gstshmsrc.c:364)
gst_push_src_create (gstpushsrc.c:131)
gst_base_src_get_range (gstbasesrc.c:2521)
gst_base_src_loop (gstbasesrc.c:2845)
gst_task_func (gsttask.c:328)
default_func (gsttaskpool.c:69)

https://bugzilla.gnome.org/show_bug.cgi?id=797203

5 years agoshmsrc: fixes a crash when is-live is true due a race condition
Josep Torra [Fri, 28 Sep 2018 11:35:49 +0000 (13:35 +0200)]
shmsrc: fixes a crash when is-live is true due a race condition

There's a race condition when is-live is set to true and the shmsrc
element releases the pipe in the transition from PLAYING to PAUSED.
To avoid it this change ensures that _create method takes the pipe
and increases the use_count in one operation protected by object lock.
Also perform apropriate protections when releasing the pipe.

https://bugzilla.gnome.org/show_bug.cgi?id=797203

5 years agotests: shm: add an end to end test for live reception
Josep Torra [Fri, 28 Sep 2018 11:23:38 +0000 (13:23 +0200)]
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

5 years agoshmsrc: Remove commented out code
Olivier Crête [Wed, 10 Oct 2018 17:07:50 +0000 (13:07 -0400)]
shmsrc: Remove commented out code

5 years agoshmsink: do not keep locking if element is unlocked
Aleix Conchillo Flaqué [Mon, 8 Oct 2018 20:56:56 +0000 (13:56 -0700)]
shmsink: do not keep locking if element is unlocked

https://bugzilla.gnome.org/show_bug.cgi?id=797260

5 years agomeson: use new 'python' module instead of deprecated 'python3' one
Tim-Philipp Müller [Mon, 8 Oct 2018 19:53:17 +0000 (20:53 +0100)]
meson: use new 'python' module instead of deprecated 'python3' one

https://github.com/mesonbuild/meson/pull/4169

5 years agowebrtc/datachannel: fix support for prenegotiated channels
Matthew Waters [Mon, 8 Oct 2018 15:38:14 +0000 (02:38 +1100)]
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!

5 years agowebrtc: start in the closed state
Matthew Waters [Mon, 8 Oct 2018 10:56:31 +0000 (21:56 +1100)]
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.

5 years agowebrtcbin: start and stop thread when changing state
Aleix Conchillo Flaqué [Fri, 5 Oct 2018 19:10:06 +0000 (12:10 -0700)]
webrtcbin: start and stop thread when changing state

It might be possible that if we set webrtcbin to the NULL state some
tasks (idle sources) are still executed and they might even freeze. The freeze
is caused because the webrtcbin tasks don't hold a reference to webrtcbin and
if it's last unref inside the idle source itself this will not allow the main
loop to finish because the main loop is waiting on the idle source to finish.

We now start and stop webrtcbin thread when changing states. This will allow
the idle sources to finish properly.

https://bugzilla.gnome.org/show_bug.cgi?id=797251

5 years agoglvideomixer: fix the default blend modes for unpremultipled alpha
Matthew Waters [Thu, 4 Oct 2018 13:45:49 +0000 (23:45 +1000)]
glvideomixer: fix the default blend modes for unpremultipled alpha

Alpha in GStreamer is unpremultiplied

5 years agoavwait: Fix sending of dropping=true messages
Vivia Nikolaidou [Thu, 4 Oct 2018 09:07:31 +0000 (12:07 +0300)]
avwait: Fix sending of dropping=true messages

If the first audio buffer to be dropped started right between two video
buffers (after the end of the first but before the start of the second,
as is often the case with N/1001 video frame rates), we would miss
sending the dropping=true message.

https://bugzilla.gnome.org/show_bug.cgi?id=797248

5 years agotests/webrtcbin: add a couple more dependant element checks
Matthew Waters [Thu, 4 Oct 2018 06:29:25 +0000 (16:29 +1000)]
tests/webrtcbin: add a couple more dependant element checks

Without the sctp elements, all the data channel tests will fail

5 years agoglmixerbin: add gloverlaycompositor to each input stream
Matthew Waters [Thu, 27 Sep 2018 06:37:28 +0000 (16:37 +1000)]
glmixerbin: add gloverlaycompositor to each input stream

Flattens the overlay compositions into the stream before the mixer will
mix them.

https://bugzilla.gnome.org/show_bug.cgi?id=759867