Commit graph

19163 commits

Author SHA1 Message Date
George Kiagiadakis
48fa908e15 tests: audiotestsrc: add unit test for non-interleaved audio output
https://bugzilla.gnome.org/show_bug.cgi?id=796739
2018-07-11 12:23:32 +03:00
George Kiagiadakis
f6f8b979d6 audiotestsrc: implement producing non-interleaved audio buffers
https://bugzilla.gnome.org/show_bug.cgi?id=796739
2018-07-11 12:23:19 +03:00
Matthew Waters
16cba63d43 gl/utils: fixup matrix math again for column major
e4bf9ed8f0 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.
2018-07-10 20:13:22 +10:00
Guillaume Desmottes
173e2d8db3 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
2018-07-09 11:21:50 +02:00
Olivier Crête
28e5f81021 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
2018-07-07 08:59:30 -04:00
Sebastian Dröge
268c5e7e17 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.
2018-07-06 17:49:39 +02:00
Edward Hervey
2657fc1fdd typefindfunctions: Bail out on huge EBML chunks
We can't handle/store more than guint32 anyway
2018-07-06 13:48:09 +02:00
Edward Hervey
38ba954e82 typefindfunctions: Use guint32 for sizes
This brings it in sync with the type used with gst_type_find_*() API
2018-07-06 13:47:58 +02:00
Edward Hervey
a87724138b typefindfunctions: Use types of same size/signedness
Where applicable/possible
2018-07-06 13:12:51 +02:00
George Kiagiadakis
e9b4f2b317 tests: audio: add unit test for GstAudioBuffer & GstAudioMeta
https://bugzilla.gnome.org/show_bug.cgi?id=751605
2018-07-03 14:06:43 +03:00
George Kiagiadakis
c946e323f6 libs: audio: Implement GstAudioBuffer & GstAudioMeta
Library bits to support non-interleaved audio

https://bugzilla.gnome.org/show_bug.cgi?id=751605
2018-07-03 14:06:43 +03:00
Tim-Philipp Müller
a3a9bcd468 meson: rtsp now also depends on libgstbase 2018-06-29 10:54:36 +01:00
Edward Hervey
017dd37f86 rtsp: Also use libgstbase for introspection module 2018-06-29 08:53:48 +02:00
Sebastian Dröge
a9e72b3b7f rtsp: Link to libgstbase for GstDataQueue 2018-06-29 08:08:46 +02:00
wangzq
9f51607723 audiobasesrc: Round down segsize to an integer number of samples
https://bugzilla.gnome.org/show_bug.cgi?id=796704
2018-06-29 07:38:20 +02:00
Sebastian Dröge
d4f607ef40 rtspconnection: Use GstQueueArray instead of GQueue for the queued messages 2018-06-29 07:38:20 +02:00
memeka
1c8bf44dea gl: check for EGL_KHR_platform_gbm for non-MESA gbm implementations
https://bugzilla.gnome.org/show_bug.cgi?id=796694
2018-06-28 23:53:56 +10:00
Tim-Philipp Müller
71734b33aa gl: fix build on iOS 2018-06-24 13:35:20 +02:00
Tim-Philipp Müller
4093e4c237 gl: fix build on Windows 2018-06-24 13:19:21 +02:00
Tim-Philipp Müller
d736bfc855 gl: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 22:58:44 +02:00
Tim-Philipp Müller
7f9730ecf4 rtp: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 22:22:22 +02:00
Tim-Philipp Müller
511a8d7ddd pbutils: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 22:08:16 +02:00
Tim-Philipp Müller
92579cb845 tag: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 22:03:27 +02:00
Tim-Philipp Müller
18c457dfb4 video: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 21:59:13 +02:00
Tim-Philipp Müller
fae8c24590 audio: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 21:49:48 +02:00
Tim-Philipp Müller
7b98593280 app: Update for g_type_class_add_private() deprecation in recent GLib
https://gitlab.gnome.org/GNOME/glib/merge_requests/7
2018-06-23 21:33:16 +02:00
Matthew Waters
76f99f803b glcontextegl: only dump configs once 2018-06-22 22:43:08 +10:00
Matthew Waters
d6ae44b1d0 glcontextegl: Fix android build without ES3 tokens 2018-06-22 22:42:45 +10:00
Mathieu Duponchelle
0304c63f00 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
2018-06-21 15:32:12 +02:00
Matthew Waters
8e641a9277 gl/tests: matrix use the affine matrix setter to convert matrices
Removes some duplicated matrices that didn't really need to be
hardcoded.
2018-06-21 17:47:09 +10:00
Matthew Waters
c850faff95 glcontextegl: dump the list of EGLConfig's available 2018-06-21 17:46:57 +10:00
Matthew Waters
cfa5d64ff1 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
2018-06-19 12:21:48 +10:00
Sebastian Dröge
3dd95b1311 oggdemux: Make sure that events are writable before changing their seqnum 2018-06-18 13:28:15 +03:00
Matthew Waters
af3f307277 gl/tests: add extension/version parsing checks 2018-06-15 13:17:14 +10:00
Vivia Nikolaidou
effd892021 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
2018-06-14 15:13:51 +03:00
Edward Hervey
1208ef637a 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
2018-06-13 13:20:44 +02:00
Mathieu Duponchelle
a4a27fdca8 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
2018-06-11 20:21:08 +02:00
Nicolas Dufresne
4683182381 videopool: Removed unused private caps member 2018-06-11 13:52:42 -04:00
Tim-Philipp Müller
5ad841e5ff Revert "gl/meson: add support for using bundled headers in a subproject"
This reverts commit 82c43ff9a3.

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.
2018-06-07 17:42:35 +01:00
Matthew Waters
6f04c3ac87 glalpha: fix compilation with msvc
It doesn't define M_PI
2018-06-07 14:23:55 +10:00
Matthew Waters
82c43ff9a3 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.
2018-06-07 14:15:30 +10:00
Matthew Waters
7ee358698d 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
2018-06-07 14:15:30 +10:00
Thomas Bluemel
7d3c098a7c 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
2018-06-06 16:11:45 -04:00
Matthew Waters
1ceccb5b58 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.
2018-06-06 23:36:08 +10:00
Matthew Waters
8596f5a5b4 gl/meson: don't define GST_EXPORTS
The intended use (msvc) doesn't currently like it and will fail to
resolve symbols at runtime.
2018-06-06 23:36:08 +10:00
Matthew Waters
4bd93dc4d8 gldownloadelement: fix build with msvc
msvc doesn't like #ifdef inside macro expansion
2018-06-06 23:36:08 +10:00
Matthew Waters
e4bf9ed8f0 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
2018-06-06 23:36:08 +10:00
Edward Hervey
a7e8f16df3 playsink: Properly propagate SEGMENT seqnum
When flushing chains, make sure the FLUSH events have seqnum
that are consistent with the current SEGMENT seqnum
2018-06-05 17:30:47 +02:00
Edward Hervey
5efa8e1f89 streamsynchronizer: Properly propagate seqnum on EOS event 2018-06-05 17:29:53 +02:00
Edward Hervey
924eb8d8a7 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
2018-06-05 17:24:55 +02:00