platform/upstream/gstreamer.git
5 years agomeson: Add feature options for all plugins
Nirbheek Chauhan [Wed, 25 Jul 2018 02:05:05 +0000 (07:35 +0530)]
meson: Add feature options for all plugins

GL dependency detection is still automagic.

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

5 years agogl: Also don't leak floating references to elements set via properties
Sebastian Dröge [Wed, 25 Jul 2018 12:03:59 +0000 (15:03 +0300)]
gl: Also don't leak floating references to elements set via properties

Fixup for 58ac815eae6ed468d1db60a54a1bd34d6324c28c. Floating references
are such a mess.

5 years agogl: Don't steal callers reference when setting non-floating elements via properties
Sebastian Dröge [Wed, 25 Jul 2018 11:23:36 +0000 (14:23 +0300)]
gl: Don't steal callers reference when setting non-floating elements via properties

Introduced by fbef9220d3dc2f785081c4766901aab2ecfaed10. The code there
is only correct for elements we get from signals.

5 years agoaudio-buffer: fix typo in assignment that causes buggy behavior
George Kiagiadakis [Tue, 24 Jul 2018 12:09:25 +0000 (15:09 +0300)]
audio-buffer: fix typo in assignment that causes buggy behavior

5 years agogstaudiodecoder: take into account GstAudioMeta::samples on the output buffers
George Kiagiadakis [Wed, 14 Feb 2018 11:55:06 +0000 (13:55 +0200)]
gstaudiodecoder: take into account GstAudioMeta::samples on the output buffers

This is useful if the output buffers are planar and have extra padding
on each plane, in which case size/bpf does not represent the number of
valid samples.

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

5 years agogstaudiodecoder: do not aggregate output if buffers are planar
George Kiagiadakis [Wed, 14 Feb 2018 11:11:37 +0000 (13:11 +0200)]
gstaudiodecoder: do not aggregate output if buffers are planar

Aggregation will break the layout, as it concatenates buffers,
and fixing it here would be much more inefficient than configuring
the actual decoder implementation to output larger buffers.

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

6 years agomeson: gl/gtk tests: Add video_dep to the helper
Nicolas Dufresne [Sat, 21 Jul 2018 13:13:27 +0000 (09:13 -0400)]
meson: gl/gtk tests: Add video_dep to the helper

The gtk helper library includes videooverlay.h hence must have a
dependency on video_dep, this allow removing the dep from the dependant
executables.

6 years agomeson: examples: fix wrong keyword for gtk examples
Tim-Philipp Müller [Sat, 21 Jul 2018 10:12:09 +0000 (11:12 +0100)]
meson: examples: fix wrong keyword for gtk examples

6 years agomeson: Build gl/gtk examples
Nicolas Dufresne [Sat, 21 Jul 2018 02:07:04 +0000 (22:07 -0400)]
meson: Build gl/gtk examples

6 years agoaudiorate: accumulate offset by time diff
Justin Kim [Fri, 5 Jan 2018 07:07:54 +0000 (16:07 +0900)]
audiorate: accumulate offset by time diff

The fomula, 'offset = time / rate', is correct only if
the rate is never changed. When the rate is changed,
the offset should be re-calculated based on the previous
offset.

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

6 years agoxvimage: Fix symbol redefine build error
Seungha Yang [Wed, 18 Jul 2018 10:53:26 +0000 (19:53 +0900)]
xvimage: Fix symbol redefine build error

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

6 years agoglupload: Only offer DMABuf caps feature if using EGL
Nicolas Dufresne [Tue, 17 Jul 2018 15:43:40 +0000 (11:43 -0400)]
glupload: Only offer DMABuf caps feature if using EGL

This was miss-leading VAAPI which was not forcing linear back buffers,
would still export DMABuf. That caused bad rendering as the buffers are
tiled and most likely compressed.

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

6 years agourisourcebin: Rename urisourcebin variable and query functions
Wonchul Lee [Thu, 1 Sep 2016 06:14:37 +0000 (15:14 +0900)]
urisourcebin: Rename urisourcebin variable and query functions

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

6 years agourisourcebin: Set streams-aware flag
Seungha Yang [Fri, 11 May 2018 11:25:34 +0000 (20:25 +0900)]
urisourcebin: Set streams-aware flag

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

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

6 years agogl/build: fixed failed compilation due to missing EGLuint64KHR typedef
Iñigo Huguet [Mon, 16 Jul 2018 14:01:34 +0000 (16:01 +0200)]
gl/build: fixed failed compilation due to missing EGLuint64KHR typedef

[Matthew Waters]: add meson differences

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

6 years agoRevert "glupload: Only offer DMABuf caps feature if using EGL"
Nicolas Dufresne [Tue, 17 Jul 2018 15:51:49 +0000 (11:51 -0400)]
Revert "glupload: Only offer DMABuf caps feature if using EGL"

This reverts commit bc9afe724360cbbe5489ca1e1ea44f077810aca4.

6 years agoglupload: Only offer DMABuf caps feature if using EGL
Nicolas Dufresne [Tue, 17 Jul 2018 15:43:40 +0000 (11:43 -0400)]
glupload: Only offer DMABuf caps feature if using EGL

This was miss-leading VAAPI which was not forcing linear back buffers,
would still export DMABuf. That caused bad rendering as the buffers are
tiled and most likely compressed.

6 years agodocs: libs: Add new symbols to section file
Olivier Crête [Mon, 16 Jul 2018 21:09:02 +0000 (17:09 -0400)]
docs: libs: Add new symbols to section file

6 years agorawvideoparse: fix typo in 'plane-offsets' description
Guillaume Desmottes [Mon, 16 Jul 2018 11:12:50 +0000 (13:12 +0200)]
rawvideoparse: fix typo in 'plane-offsets' description

The property is 'plane-offsets', not 'plane-offset' so the example in
the description was wrong.

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

6 years agovideodecoder: Don't always drain on gaps/discont
Nicolas Dufresne [Mon, 9 Jul 2018 18:03:04 +0000 (14:03 -0400)]
videodecoder: Don't always drain on gaps/discont

V4L2 and OMX decoder don't support draining and keeping reference
frames. As a side effect, these decoder just stops working on
gaps/discont. When this drain was introduced, the commit stated that
this was for TRICKMODE_KEY_UNITS, so only drain if running in this mode.

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

6 years agotests: audio: test gst_audio_buffer_reorder_channels() also with non-interleaved...
George Kiagiadakis [Tue, 13 Feb 2018 13:04:04 +0000 (15:04 +0200)]
tests: audio: test gst_audio_buffer_reorder_channels() also with non-interleaved buffers

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

6 years agolibs: audio: implement planar buffer support in gst_audio_buffer_reorder_channels()
George Kiagiadakis [Tue, 13 Feb 2018 11:24:32 +0000 (13:24 +0200)]
libs: audio: implement planar buffer support in gst_audio_buffer_reorder_channels()

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

6 years agoaudiorate: fix support for non-interleaved buffers
George Kiagiadakis [Mon, 12 Feb 2018 12:45:44 +0000 (14:45 +0200)]
audiorate: fix support for non-interleaved buffers

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

6 years agolibs: audio: add a new gst_audio_buffer_truncate() function
George Kiagiadakis [Fri, 18 May 2018 13:22:47 +0000 (16:22 +0300)]
libs: audio: add a new gst_audio_buffer_truncate() function

Essentially this moves the truncation logic out of gst_audio_buffer_clip()
so that it can be used in other places, like in audiorate.

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

6 years agotests: audio: add unit tests for planar audio support in gst_audio_buffer_clip()
George Kiagiadakis [Fri, 18 May 2018 13:22:32 +0000 (16:22 +0300)]
tests: audio: add unit tests for planar audio support in gst_audio_buffer_clip()

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

6 years agolibs: audio: implement support for non-interleaved audio in gst_audio_buffer_clip()
George Kiagiadakis [Thu, 8 Feb 2018 12:34:23 +0000 (14:34 +0200)]
libs: audio: implement support for non-interleaved audio in gst_audio_buffer_clip()

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

6 years agogluploadelement: also set the context in decide_allocation
Matthew Waters [Thu, 12 Jul 2018 03:13:04 +0000 (13:13 +1000)]
gluploadelement: also set the context in decide_allocation

If downstream doesn't perform allocation queries, the context would
never be set and criticals would occur.

6 years agotests: simple-launch-lines: fixate audioconvert caps now that the layout is also...
George Kiagiadakis [Wed, 11 Jul 2018 15:29:52 +0000 (18:29 +0300)]
tests: simple-launch-lines: fixate audioconvert caps now that the layout is also convertable

Because audioconvert can now convert between interleaved and non-interleaved,
this pipeline fails on the upstream capsfilter not being able to fixate its
output caps. This is unavoidable.

6 years agoadder: remove non-interleaved layout from caps
George Kiagiadakis [Mon, 12 Feb 2018 13:33:49 +0000 (15:33 +0200)]
adder: remove non-interleaved layout from caps

adder needs more than just trivial work to support planar buffers properly
because it currently reads sub-buffers from GstCollectPads in order for all
of them to have matching sizes. In planar mode, this means it would truncate
some channels and mix them up in strange ways. It only works if all input
buffers in all sink pads have matching sizes.

6 years agoaudioresample: implement support for non-interleaved buffers
George Kiagiadakis [Wed, 7 Feb 2018 16:17:07 +0000 (18:17 +0200)]
audioresample: implement support for non-interleaved buffers

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

6 years agotests: audioconvert: add tests for planar audio
George Kiagiadakis [Fri, 9 Feb 2018 15:07:48 +0000 (17:07 +0200)]
tests: audioconvert: add tests for planar audio

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

6 years agotests: audioconvert: add support for specifying the layout on tests
George Kiagiadakis [Fri, 9 Feb 2018 12:29:57 +0000 (14:29 +0200)]
tests: audioconvert: add support for specifying the layout on tests

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

6 years agoaudioconvert: implement support for converting between interleaved and non-interleave...
George Kiagiadakis [Thu, 1 Feb 2018 16:08:51 +0000 (18:08 +0200)]
audioconvert: implement support for converting between interleaved and non-interleaved layouts

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

6 years agolibs: audio-converter: complete code to support non-interleaved audio buffers
George Kiagiadakis [Thu, 1 Feb 2018 15:00:06 +0000 (17:00 +0200)]
libs: audio-converter: complete code to support non-interleaved audio buffers

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

6 years agolibs: audio-resampler: add support for consuming non-interleaved input buffers
George Kiagiadakis [Thu, 1 Feb 2018 11:23:53 +0000 (13:23 +0200)]
libs: audio-resampler: add support for consuming non-interleaved input buffers

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

6 years agolibs: audio-channel-mixer: add support for non-interleaved audio buffers
George Kiagiadakis [Wed, 31 Jan 2018 17:28:57 +0000 (19:28 +0200)]
libs: audio-channel-mixer: add support for non-interleaved audio buffers

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

6 years agotests/check/Makefile.am: link audiotestsrc test with libgstaudio
George Kiagiadakis [Wed, 11 Jul 2018 11:48:57 +0000 (14:48 +0300)]
tests/check/Makefile.am: link audiotestsrc test with libgstaudio

Needed for the new planar audio unit test

6 years agotests: audiotestsrc: add unit test for non-interleaved audio output
George Kiagiadakis [Wed, 31 Jan 2018 15:41:32 +0000 (17:41 +0200)]
tests: audiotestsrc: add unit test for non-interleaved audio output

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

6 years agoaudiotestsrc: implement producing non-interleaved audio buffers
George Kiagiadakis [Wed, 31 Jan 2018 15:39:05 +0000 (17:39 +0200)]
audiotestsrc: implement producing non-interleaved audio buffers

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

6 years agogl/utils: fixup matrix math again for column major
Matthew Waters [Tue, 10 Jul 2018 10:03:12 +0000 (20:03 +1000)]
gl/utils: fixup matrix math again for column major

e4bf9ed8f060021151cd57e2b00493ed696cb47b was not quite right and changed
the wrong thing. Intead we needed to change the multiplication order
and should have kept the previous to/from matrices as is done in this
patch.

6 years agovideopool: display expected size in warning message
Guillaume Desmottes [Mon, 9 Jul 2018 08:48:54 +0000 (10:48 +0200)]
videopool: display expected size in warning message

Display the size computed from the caps when rejecting a pool
configuration because the buffer size is too small.

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

6 years agovideosink: Set processing deadline to 15ms
Olivier Crête [Fri, 20 Oct 2017 16:36:55 +0000 (18:36 +0200)]
videosink: Set processing deadline to 15ms

This roughly corresponds to one frame at 60fps, and leave 5ms
of max_lateness to not change the existing behaviour.

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

6 years agoparsebin: Don't try to continue autoplugging a parser if we got raw caps
Sebastian Dröge [Fri, 6 Jul 2018 07:51:37 +0000 (10:51 +0300)]
parsebin: Don't try to continue autoplugging a parser if we got raw caps

Otherwise we'll fail with an unhelpful message that no decoder for the
raw caps was found if a container contains raw media.

6 years agotypefindfunctions: Bail out on huge EBML chunks
Edward Hervey [Fri, 6 Jul 2018 11:48:09 +0000 (13:48 +0200)]
typefindfunctions: Bail out on huge EBML chunks

We can't handle/store more than guint32 anyway

6 years agotypefindfunctions: Use guint32 for sizes
Edward Hervey [Fri, 6 Jul 2018 11:46:17 +0000 (13:46 +0200)]
typefindfunctions: Use guint32 for sizes

This brings it in sync with the type used with gst_type_find_*() API

6 years agotypefindfunctions: Use types of same size/signedness
Edward Hervey [Fri, 6 Jul 2018 11:12:51 +0000 (13:12 +0200)]
typefindfunctions: Use types of same size/signedness

Where applicable/possible

6 years agotests: audio: add unit test for GstAudioBuffer & GstAudioMeta
George Kiagiadakis [Thu, 8 Feb 2018 13:20:09 +0000 (15:20 +0200)]
tests: audio: add unit test for GstAudioBuffer & GstAudioMeta

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

6 years agolibs: audio: Implement GstAudioBuffer & GstAudioMeta
George Kiagiadakis [Wed, 7 Feb 2018 12:36:01 +0000 (14:36 +0200)]
libs: audio: Implement GstAudioBuffer & GstAudioMeta

Library bits to support non-interleaved audio

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

6 years agomeson: rtsp now also depends on libgstbase
Tim-Philipp Müller [Fri, 29 Jun 2018 09:54:36 +0000 (10:54 +0100)]
meson: rtsp now also depends on libgstbase

6 years agortsp: Also use libgstbase for introspection module
Edward Hervey [Fri, 29 Jun 2018 06:53:48 +0000 (08:53 +0200)]
rtsp: Also use libgstbase for introspection module

6 years agortsp: Link to libgstbase for GstDataQueue
Sebastian Dröge [Fri, 29 Jun 2018 06:08:46 +0000 (08:08 +0200)]
rtsp: Link to libgstbase for GstDataQueue

6 years agoaudiobasesrc: Round down segsize to an integer number of samples
wangzq [Thu, 28 Jun 2018 12:13:04 +0000 (20:13 +0800)]
audiobasesrc: Round down segsize to an integer number of samples

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

6 years agortspconnection: Use GstQueueArray instead of GQueue for the queued messages
Sebastian Dröge [Thu, 28 Jun 2018 08:19:19 +0000 (10:19 +0200)]
rtspconnection: Use GstQueueArray instead of GQueue for the queued messages

6 years agogl: check for EGL_KHR_platform_gbm for non-MESA gbm implementations
memeka [Tue, 26 Jun 2018 02:48:27 +0000 (12:18 +0930)]
gl: check for EGL_KHR_platform_gbm for non-MESA gbm implementations

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

6 years agogl: fix build on iOS
Tim-Philipp Müller [Sun, 24 Jun 2018 11:35:20 +0000 (13:35 +0200)]
gl: fix build on iOS

6 years agogl: fix build on Windows
Tim-Philipp Müller [Sun, 24 Jun 2018 11:19:21 +0000 (13:19 +0200)]
gl: fix build on Windows

6 years agogl: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
gl: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agortp: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
rtp: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agopbutils: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
pbutils: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agotag: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
tag: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agovideo: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
video: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agoaudio: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
audio: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agoapp: Update for g_type_class_add_private() deprecation in recent GLib
Tim-Philipp Müller [Sat, 23 Jun 2018 19:33:16 +0000 (21:33 +0200)]
app: Update for g_type_class_add_private() deprecation in recent GLib

https://gitlab.gnome.org/GNOME/glib/merge_requests/7

6 years agoglcontextegl: only dump configs once
Matthew Waters [Fri, 22 Jun 2018 12:43:08 +0000 (22:43 +1000)]
glcontextegl: only dump configs once

6 years agoglcontextegl: Fix android build without ES3 tokens
Matthew Waters [Fri, 22 Jun 2018 12:40:55 +0000 (22:40 +1000)]
glcontextegl: Fix android build without ES3 tokens

6 years agortspdefs: Add gst_rtsp_generate_digest_auth_response_from_md5
Mathieu Duponchelle [Wed, 20 Jun 2018 02:41:24 +0000 (04:41 +0200)]
rtspdefs: Add gst_rtsp_generate_digest_auth_response_from_md5

Passwords are usually not stored in clear text, usually
the A1 section of the response is stored as is in .htdigest
files.

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

6 years agogl/tests: matrix use the affine matrix setter to convert matrices
Matthew Waters [Thu, 21 Jun 2018 07:47:09 +0000 (17:47 +1000)]
gl/tests: matrix use the affine matrix setter to convert matrices

Removes some duplicated matrices that didn't really need to be
hardcoded.

6 years agoglcontextegl: dump the list of EGLConfig's available
Matthew Waters [Thu, 21 Jun 2018 07:36:39 +0000 (17:36 +1000)]
glcontextegl: dump the list of EGLConfig's available

6 years agogl: use dependency fallbacks to get at a possible gl-headers subproject
Matthew Waters [Mon, 18 Jun 2018 12:24:13 +0000 (22:24 +1000)]
gl: use dependency fallbacks to get at a possible gl-headers subproject

We would make the subproject conditional on the wrap-mode=nodownload
however get_option('wrap-mode') or similar is not available from
meson.build files as the wrap-mode is meant to be used automatically.

Instead use the dependency fallback mechanism to get at the subproject
where possible i.e. when downloading is allows and only add the compat
includes when we have a valid internal dependency from the gl-headers
subproject.

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

6 years agooggdemux: Make sure that events are writable before changing their seqnum
Sebastian Dröge [Mon, 18 Jun 2018 10:28:15 +0000 (13:28 +0300)]
oggdemux: Make sure that events are writable before changing their seqnum

6 years agogl/tests: add extension/version parsing checks
Matthew Waters [Fri, 15 Jun 2018 03:14:12 +0000 (13:14 +1000)]
gl/tests: add extension/version parsing checks

6 years agodiscoverer: Don't crash when running with -v if channel-mask==0 and >7 channels
Vivia Nikolaidou [Wed, 13 Jun 2018 12:29:46 +0000 (15:29 +0300)]
discoverer: Don't crash when running with -v if channel-mask==0 and >7 channels

For e.g. 16-channel audio, if the channel mask is 0 (which it usually
is), gst_audio_channel_positions_from_mask would get confused,
ultimately leading into a crash.

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

6 years agovideoencoder: Keep the segment position in sync
Edward Hervey [Wed, 13 Jun 2018 11:19:54 +0000 (13:19 +0200)]
videoencoder: Keep the segment position in sync

If the start of the segment is modified, the position should be
modified accordingly

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

6 years agosdp: Add new constructor, sdp_message_from_text
Mathieu Duponchelle [Mon, 11 Jun 2018 16:32:28 +0000 (18:32 +0200)]
sdp: Add new constructor, sdp_message_from_text

Helper function for bindings, in python for example
users can now replace:

res, msg = GstSdp.SDPMessage.new()
GstSdp.sdp_message_parse_buffer(bytes(text.encode()), msg)

with:

res, msg = GstSdp.SDPMessage.new_from_text(text)

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

6 years agovideopool: Removed unused private caps member
Nicolas Dufresne [Mon, 11 Jun 2018 17:51:47 +0000 (13:51 -0400)]
videopool: Removed unused private caps member

6 years agoRevert "gl/meson: add support for using bundled headers in a subproject"
Tim-Philipp Müller [Thu, 7 Jun 2018 16:42:35 +0000 (17:42 +0100)]
Revert "gl/meson: add support for using bundled headers in a subproject"

This reverts commit 82c43ff9a32f1c1d113cd6e1e8d046b7ab64422d.

Reverting for the time being, since it trips up build bots
that don't have network connectivity.

We ideally shouldn't have a subproject that's used unconditionally.

6 years agoglalpha: fix compilation with msvc
Matthew Waters [Thu, 7 Jun 2018 03:58:43 +0000 (13:58 +1000)]
glalpha: fix compilation with msvc

It doesn't define M_PI

6 years agogl/meson: add support for using bundled headers in a subproject
Matthew Waters [Wed, 6 Jun 2018 07:27:15 +0000 (17:27 +1000)]
gl/meson: add support for using bundled headers in a subproject

This is most useful when building on windows which does not ship the
necessary OpenGL headers.

6 years agogl: add subproject for necessary GL headers for building
Matthew Waters [Thu, 7 Jun 2018 03:48:10 +0000 (13:48 +1000)]
gl: add subproject for necessary GL headers for building

Originally for windows with the GL/glext.h and GL/wglext.h but can be
extended for other headers

6 years agoaudiobasesink: Improve clock skew corrections.
Thomas Bluemel [Wed, 1 Nov 2017 16:25:49 +0000 (10:25 -0600)]
audiobasesink: Improve clock skew corrections.

The external time should be moved only as much as needed
to get back to the ideal center point, so that the clock
is still allowed to drift both directions after the correction.
This reduces excessive back and forth corrections that were
caused by the assumption of a linear drift.

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

6 years agogl/meson: force the gl dependency to use pkg-config
Matthew Waters [Wed, 6 Jun 2018 07:24:26 +0000 (17:24 +1000)]
gl/meson: force the gl dependency to use pkg-config

Meson has an internal override for dependency('gl') which we do not want
to use as it assumes too many things.  Force meson to only search for
gl.pc.

6 years agogl/meson: don't define GST_EXPORTS
Matthew Waters [Mon, 4 Jun 2018 12:34:04 +0000 (22:34 +1000)]
gl/meson: don't define GST_EXPORTS

The intended use (msvc) doesn't currently like it and will fail to
resolve symbols at runtime.

6 years agogldownloadelement: fix build with msvc
Matthew Waters [Mon, 4 Jun 2018 12:32:03 +0000 (22:32 +1000)]
gldownloadelement: fix build with msvc

msvc doesn't like #ifdef inside macro expansion

6 years agogl/utils: Fix NDC conversion matrices for column-majorness
Matthew Waters [Wed, 23 May 2018 16:49:54 +0000 (02:49 +1000)]
gl/utils: Fix NDC conversion matrices for column-majorness

The matrices were converting the wrong values with non-diagonal-only matrices.
e.g. a typical yflip matrix in [-1,1]^3 such as
 1  0  0  0
 0 -1  0  0
 0  0  1  0
 0  0  0  1

Would have actually required a matrix like this in [0,1]^3
 1  0  0  0
 0 -1  0  0
 0  0  1  0
 0 -2  0  1

Which is
1. not consistent with our multiplication convention and would require
   transposing matrices or changing our multiplication order (from what is
   generally used on opengl matrix guides/tutorials).
2. Produces incorrect values when input with actual vertices accounting for
   the difference in multiplication order.  e.g. some vertices multiplied by
   the yflip matrix using vertex * yflip(== transpose(yflip) * vertex):

     vertex:       -> result:           expected:
     vec4(1,0,1,1) -> vec4(1,-2,1,1)    vec4(1,1,1,1)
     vec4(1,1,1,1) -> vec4(1,-3,1,1)    vec4(1,0,1,1)

With the updated values, we now get the expected values.

Includes a test for this behaviour and the example above

6 years agoplaysink: Properly propagate SEGMENT seqnum
Edward Hervey [Tue, 5 Jun 2018 15:30:47 +0000 (17:30 +0200)]
playsink: Properly propagate SEGMENT seqnum

When flushing chains, make sure the FLUSH events have seqnum
that are consistent with the current SEGMENT seqnum

6 years agostreamsynchronizer: Properly propagate seqnum on EOS event
Edward Hervey [Tue, 5 Jun 2018 15:29:53 +0000 (17:29 +0200)]
streamsynchronizer: Properly propagate seqnum on EOS event

6 years agortpbasedepayload: Properly propagate segment seqnum
Edward Hervey [Tue, 5 Jun 2018 15:24:55 +0000 (17:24 +0200)]
rtpbasedepayload: Properly propagate segment seqnum

This wasn't done previously and the outgoing SEGMENT events had
seqnums which weren't consistent with the upstream ones

6 years agooggdemux: Properly relay seqnum of segments
Edward Hervey [Tue, 5 Jun 2018 15:24:05 +0000 (17:24 +0200)]
oggdemux: Properly relay seqnum of segments

Not all cases were handled regarding properly propagating the
seqnum of SEGMENT events on all downstream segment-related events

6 years agosubparse: Don't read beyond array
Edward Hervey [Wed, 30 May 2018 09:39:40 +0000 (11:39 +0200)]
subparse: Don't read beyond array

If num_open_tags is 0, we shouldn't try to get the "last" open tag
since there isn't any.

6 years agoogg: Avoid undefined granule shift
Edward Hervey [Wed, 30 May 2018 08:56:12 +0000 (10:56 +0200)]
ogg: Avoid undefined granule shift

A granule is a 64bit signed integer, shifting by 63 or more is
undefined and most likely an indication that the stream is
corrupted or invalid.

Detected by oss-fuzz

6 years agodocs: Fix typos
Tim-Philipp Müller [Tue, 22 May 2018 12:59:58 +0000 (13:59 +0100)]
docs: Fix typos

6 years agolibs: g-ir-scanner: do not hardcode libtool path
Antoine Jacoutot [Fri, 18 Apr 2014 08:37:57 +0000 (10:37 +0200)]
libs: g-ir-scanner: do not hardcode libtool path

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

6 years agomeson: rename gtkdoc option to gtk_doc
Tim-Philipp Müller [Mon, 21 May 2018 22:12:22 +0000 (23:12 +0100)]
meson: rename gtkdoc option to gtk_doc

6 years agomeson: add install_plugins_helper option
Tim-Philipp Müller [Mon, 21 May 2018 10:35:05 +0000 (11:35 +0100)]
meson: add install_plugins_helper option

6 years agovideo: fix some GIR array annotations
Mark Nauwelaerts [Mon, 21 May 2018 07:18:24 +0000 (09:18 +0200)]
video: fix some GIR array annotations

6 years agoaudio: fix some GIR array annotations
Mark Nauwelaerts [Mon, 21 May 2018 07:18:09 +0000 (09:18 +0200)]
audio: fix some GIR array annotations

6 years agomeson: gl: remove non-headers from gl_prototype_headers
Christoph Reiter [Sun, 20 May 2018 11:37:07 +0000 (13:37 +0200)]
meson: gl: remove non-headers from gl_prototype_headers

This made the meson build install those files, while they aren't
installed with the autotools build.

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

6 years agomeson: use cdata.set_quoted() in more places
Tim-Philipp Müller [Sun, 20 May 2018 13:38:37 +0000 (14:38 +0100)]
meson: use cdata.set_quoted() in more places

6 years agomeson: add 'nls' option to disable translations
Tim-Philipp Müller [Sun, 20 May 2018 13:27:18 +0000 (14:27 +0100)]
meson: add 'nls' option to disable translations

And enable by default. Was implicitly disabled because
ENABLE_NLS was not defined.

6 years agomeson: install license-translations.dict and set LICENSE_TRANSLATIONS_PATH
Christoph Reiter [Sun, 20 May 2018 11:33:13 +0000 (13:33 +0200)]
meson: install license-translations.dict and set LICENSE_TRANSLATIONS_PATH

The autotools build installs the file and sets the LICENSE_TRANSLATIONS_PATH
macro which licences.c uses as a fallback path. Do the same with meson.

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