Commit graph

6272 commits

Author SHA1 Message Date
Matthew Waters
7bf18ad258 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.
2018-10-08 21:56:31 +11:00
Aleix Conchillo Flaqué
c4fe52395b 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
2018-10-08 13:46:55 +11:00
Matthew Waters
d5da9e080a glvideomixer: fix the default blend modes for unpremultipled alpha
Alpha in GStreamer is unpremultiplied
2018-10-05 01:18:59 +10:00
Matthew Waters
ea355ca0a3 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
2018-10-04 14:32:14 +10:00
Sebastian Dröge
b5ae66ea1d glstereomix: Fix build after deprecating misnamed GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE 2018-10-03 16:00:23 +03:00
Matthew Waters
8e8eb41ddf webrtcdatachannel: take ref of data so it doesn't disappear 2018-09-26 16:01:57 +10:00
Sebastian Dröge
47b69bca12 glmixerbin: "latency" property on aggregator is uint64, not int64
Also update the property description and range with aggregator's values.
2018-09-24 23:26:52 +03:00
Matthew Waters
ce9e2a7b78 glvideomixer: fix constant alpha enum value for constant alpha 2018-09-21 19:45:13 +10:00
Matthew Waters
07e9374eff webrtcbin: add support for data channels based on SCTP
Mostly follows the W3C specification
https://www.w3.org/TR/webrtc/#peer-to-peer-data-api

With contributions from:
Mathieu Duponchelle <mathieu@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=794351
2018-09-21 19:45:12 +10:00
Matthew Waters
cf46d49b1e webrtcbin: functionify dependent element checks 2018-09-21 19:36:52 +10:00
Matthew Waters
f0a4713932 webrtc/stats: rename debug category not to be ice related 2018-09-21 19:36:52 +10:00
Mathieu Duponchelle
01216845c7 sctp elements: avoid assertions on shutdown 2018-09-21 19:36:52 +10:00
Matthew Waters
57accd7570 sctpassociation: don't join a NULL thread
Can occur if no connection is actually made and thus no connection
thread is created.
2018-09-21 19:36:52 +10:00
Matthew Waters
f30c8c0c92 sctpenc: don't require caps when requesting the pad
They can be set later
2018-09-21 19:36:52 +10:00
Matthew Waters
fb8f7c25de sctpenc: start pad task after the parent has activated pads
Fixes a race where the task could attempt to set
stream-start/caps/segment before the pad was active and would be
dropped resulting in a 'data-flow before stream-start' warning.
2018-09-21 19:36:52 +10:00
Matthew Waters
88b4ce9fc0 Update sctp plugin for the current build system
- Add meson build definitions
- Add necessary API decorators
2018-09-21 19:36:52 +10:00
George Kiagiadakis
e2f06326ea Add new SCTP plugins (sctpenc/sctpdec)
https://bugzilla.gnome.org/show_bug.cgi?id=744863
2018-09-21 19:36:52 +10:00
Mathieu Duponchelle
45fe050286 webrtcice: do not run host resolution from applictation thread
g_resolver_lookup_by_name is a blocking call, and should not
be run when the user sets or adds a turn-server.

https://bugzilla.gnome.org/show_bug.cgi?id=797012
2018-09-19 16:17:24 +02:00
Mathieu Duponchelle
1d6160d59c webrtcbin: New add-turn-server API
It is possible and often desirable to pass multiple ICE relays
to libnice agents, the "turn-server" property, while convenient
to use from the command line, does not allow that.

This adds a new action signal, "add-turn-server" to address that.

https://bugzilla.gnome.org/show_bug.cgi?id=797012
2018-09-19 16:17:24 +02:00
Sebastian Dröge
f8327f684c glvideomixer: Fix typo in property description 2018-09-19 10:28:56 +03:00
Sebastian Dröge
3812985a9e ccextractor: Use gst_caps_new_simple() instead of gst_caps_from_string() 2018-09-18 17:47:04 +03:00
Nirbheek Chauhan
8875fe49ec meson: Don't pass GNU-like compiler wargs on MSVC
cl : Command line error D8021 : invalid numeric argument '/Wno-missing-include-dirs'
2018-09-05 21:31:22 +05:30
Nirbheek Chauhan
7397eb0cd4 meson: Don't skip plugins that don't build with MSVC
We now have options for all plugins, so we will just disable these in
the cerbero recipe instead. These require external deps, so they won't
affect gst-build either.
2018-09-05 20:47:05 +05:30
Matthew Waters
515e2d765a meson: add pkg-config file for the webrtc plugin 2018-08-31 18:08:55 +10:00
Seungha Yang
3bd3cc7bb0 rtmpsink: Fix leak on connection failure
Although RTMP_ConnectStream() was failed, librtmp's internal memory
is not freed by RTMP_ConnectStream(), so RTMP_Close() should be called
before RTMP_Free()

https://bugzilla.gnome.org/show_bug.cgi?id=797058
2018-08-31 10:03:35 +03:00
Tim-Philipp Müller
dabb2ef740 meson: build musepack plugin 2018-08-19 15:50:25 +01:00
Tim-Philipp Müller
70dd56d045 musepack: remove support for the 'old' API 2018-08-19 15:44:34 +01:00
Tim-Philipp Müller
40d13b47e3 meson: build neonhttpsrc 2018-08-19 01:11:38 +01:00
Nicolas Dufresne
694d9dcde5 dashdemux: Always create the adapter
Worst case it will be empty. This fixes a crash when the base class
calls data_received() when the stream is neither is_isobmff or
has_isoff_ondemand_profile.

https://bugzilla.gnome.org/show_bug.cgi?id=796745
2018-08-16 15:59:42 -04:00
Wim Taymans
cb16d0b239 curlhhtpsrc: avoid invalid memory references
gst_curl_http_src_remove_queue_item() can free qelement and then
we get an invalid memory reference when we do qelement->next a
couple of lines below. Take the next pointer earlier so that we can
safely free.
2018-08-16 11:44:27 +02:00
Nicolas Dufresne
6ff5eb44cb makefile: opencv: Fix header names in noinst_HEADERS
This should fix missing gstcameracalibrate.h and gstcameraundistort.h
missing into generated tarballs.
2018-08-14 16:00:41 -04:00
Michael Drake
bba33533ab assrender: fix multiple subtitles on screen simultaneously
This fixes an issue with SSA/ASS subtitles, where subtitles
would fail to appear if there was already a subtitle on screen.

This was because `struct _GstAssRender` had a single
`GstBuffer *subtitle_pending` member.  This meant that
the assrender context could only be aware of one subtitle
at a time.

This patch changes the subtitle_pending member to a
linked list of pending subtitles.

The `gst_ass_render_chain_text` function no longer needs
to care about whether there are already subtitles pending,
it simply appends new subtitles to the list.

The `gst_ass_render_chain_video` function has been modified
to handle the list of pending subtitles.

Finally, the `gst_ass_render_pop_text` function has been
modified to pop the entire list of pending subtitles.

https://bugzilla.gnome.org/show_bug.cgi?id=735944
2018-08-14 23:00:34 +10:00
Víctor Manuel Jáquez Leal
85f142a8e2 closedcaption: comment out unused function
When compiling with clang-6 this error raises:

raw_decoder.c:411:1: error: unused function 'cpr1204_crc'
[-Werror,-Wunused-function]

This patch only comments it out.

https://bugzilla.gnome.org/show_bug.cgi?id=796957
2018-08-14 13:31:49 +02:00
Víctor Manuel Jáquez Leal
808b404e88 closedcaption: avoid implicit convertion of enums
When compiling with clang-6 this error pops out:

raw_decoder.c:1011:62: error: implicit conversion from enumeration
type 'const vbi_modulation' to different enumeration type
'vbi3_modulation' [-Werror,-Wenum-conversion]

This is because function vbi3_bit_slicer_set_params() sets
vbi3_modulation as enum type parameter, nonetheless vbi_modulation
enum is passed. Both enums looks semantically equal, thus the fix is a
simple cast.

https://bugzilla.gnome.org/show_bug.cgi?id=796957
2018-08-14 13:31:49 +02:00
Nirbheek Chauhan
c54e4b6305 meson: Add gnustl dep for webrtcdsp on Android
Needed for C++ headers. Without this, webrtcdsp can't find <algorithm>
2018-08-11 04:32:34 +05:30
Nicolas Dufresne
bdd1dd04ea webrtcdsp: Avoid redefinition of GST_USE_UNSTABLE_API 2018-08-03 07:57:02 -04:00
George Kiagiadakis
d299c27892 webrtcdsp: add support for using F32/non-interleaved buffers
This is the native format that is in use by the webrtc audio processing
library internally, so this avoids internal {de,}interleaving and
format conversion (S16->F32 and back)

https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:12 +03:00
Thibault Saunier
760cbc4059 rsvg: Also accept </svg:svg> as ending tag
Some SVG files created by inkscape use that, such as:
https://gitlab.gnome.org/GNOME/pitivi/uploads/8dd8d9d988b5eb6cc38f871196caac6f/Titel-Tafel3.2_anim.svg

This is a first patch for https://bugzilla.gnome.org/show_bug.cgi?id=796909
but it is not enough to support animated gifs.
2018-08-02 21:11:14 -04:00
Nicolas Dufresne
d2ee9b16fa opencv: Fixup include to follow new standard
This uses the new path for OpenCV headers. OpenCV now have
master headers files per modules, which reduce the amount of
required includes. Note that HIGHGUI was included to get the
imgcodecs includes, which I fixed, though the master header is
missing the C headers, so I included that directly. All the
image stuff should be ported to C++ eventually. Finally, this
patch also update the header checks to reflect the modules that
are really being used.
2018-08-02 11:31:34 -04:00
Nicolas Dufresne
9c91282ba6 opencv: Updated to use new header path 2018-08-02 11:31:34 -04:00
Nicolas Dufresne
cabf875098 opencv: Bump requirement to 3.0.0+
And removes all the ifdef code to support the 2.X APIs.
2018-08-02 11:31:34 -04:00
Sebastian Dröge
f028f817e3 ceaccoverlay: Initialize debug category 2018-08-02 16:19:55 +03:00
Nicolas Dufresne
1f65a3aa13 cameracalibrtate: Fix opencv2 core.hpp path
This is to support older release of OpenCV2

https://bugzilla.gnome.org/show_bug.cgi?id=789075
2018-08-02 08:14:31 -04:00
Philippe Renon
f460448198 opencv: new cameracalibrate and cameraundistort elements
https://bugzilla.gnome.org/show_bug.cgi?id=789075
2018-08-01 22:04:17 -04:00
Seungha Yang
231524cbbc srt: Allow the host name "localhost"
Add support "srt://localhost:port" style uri, and change the
default host to "localhost"

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:53:52 -04:00
Seungha Yang
fa75487e98 srtclientsink: Fix SRT socket option setting
SRTClientSink is sender

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
32140dcb84 srt: Do not ignore SRT socket error event
... and set SRT_EPOLL_IN flag if the client is not sender
(i.e., source element) since waiting readable event for
srt_recvmsg() makes more sense.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
f46af953c1 srtbasesrc: Use GstBaseSrc's timestamp impl.
... instead of doing it ourselves. Otherwise, we should add more
logic here (such as checking GstClock and etc) which was already provided by
GstBaseSrc.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
728b116fdb srt: Add "const" keyword to a function argument
Given "passphrase" shouldn't be modified

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
82467a49b9 srt: Remove duplicated code for setting server socket
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
8e18175080 srt: Fix signal args mismatch
client-added and client-{removed,closed} signals were defined
to be emitted with two arguments (socket fd and address)

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:09 -04:00
Seungha Yang
d8015586b5 srtserversrc: Emit client-closed signal in _stop()
... instead of client-added

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
f5de8db140 srtclientsink: Do not leak string
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
b609184701 srtclient: Fix bind-port and rendez-vous property getter
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
85d04e9335 srt: Reduce useless call depth
Providing simplified _client_connect() is not required for now.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
aafdfdb5e4 srt: Remove white space
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Nicolas Dufresne
cc746e336a meson: mjpegtools_api should be 20K for mplex too
This error was duplicated.
2018-07-27 22:36:40 -04:00
Nicolas Dufresne
c259b8878e meson: mjpegtools_api should have been 20K not 2K
This was miss-ported when the options got added. The requires version was
properly set to 2000 before.
2018-07-27 22:33:47 -04:00
Nirbheek Chauhan
b55dfb5313 Add feature options for almost all plugins
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Nirbheek Chauhan
7ef303fa28 meson: Add feature options for many plugins
The rest will be converted later, these are necessary for gst-build to
set options correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:43:52 +05:30
Olivier Crête
8908260c1f av1enc: Implement latency setting 2018-07-26 11:19:41 -04:00
Olivier Crête
576c0b2a69 av1enc: Propagate flags from encoder to GstBuffer 2018-07-26 10:48:34 -04:00
Olivier Crête
7c2170a63a av1enc: Implement finish for EOS
Call the encode function repeatedly until nothing comes out.

https://bugzilla.gnome.org/show_bug.cgi?id=796727
2018-07-26 10:34:29 -04:00
Olivier Crête
187783354a av1enc: Return downstream error from push 2018-07-26 10:34:29 -04:00
Matteo Valdina
e0535b44d4 waylandsink: relaxed wl_shell check and added zwp_fullscreen_shell.
Relaxed the wl_shell interface constrains, so application that
pass via GstContext the wl_surface can use waylandsink in a
compositor without wl_surface and zwp_fullscreen_shell.

Added support for zwp_fullscreen_shell.

https://bugzilla.gnome.org/show_bug.cgi?id=796772
2018-07-25 07:53:09 -04:00
Jan Schmidt
14ab3972ef ladspa: Only scan LADSPA subdir APPDATA and COMMONPROGRAMFILES
Don't scan the entire APPDATA and COMMONPROGRAMFILES
path tree, just the LADSPA sub-directory inside them, if any.

https://bugzilla.gnome.org/show_bug.cgi?id=796450
2018-07-22 10:39:30 +10:00
Jan Schmidt
ff736c730d ladspa: Don't try and load every file as a plugin
When scanning paths for LADSPA plugins, don't try and load
every random file as a module, as g_module_open ends up throwing
errors on Windows.

Use a G_MODULE_SUFFIX and GST_EXTRA_MODULE_SUFFIX suffix check as
we do for GStreamer plugins.

https://bugzilla.gnome.org/show_bug.cgi?id=796450
2018-07-22 10:39:30 +10:00
Sam Gigliotti
1b095e9609 webrtc: fix memory leak
When it parses SDP, it doesn't free the error object.

https://bugzilla.gnome.org/show_bug.cgi?id=796830
2018-07-19 14:30:55 +01:00
Jonathan Karlsson
d74ceb343a curlhttpsink: Support for multipart/form-data Content-Type
Add support to set multipart/form-data as Content-Type by sending a
caps event to the curlhttpsink with a field named "boundary".

https://bugzilla.gnome.org/show_bug.cgi?id=796618
2018-07-17 16:57:06 +03:00
Jan Schmidt
e6a564216d webrtc: Add a warning in sdp_media_from_transceiver()
When generating caps with no ssrc, at least throw a
warning instead of using an uninitialised stack variable

https://bugzilla.gnome.org/show_bug.cgi?id=796810
2018-07-15 23:07:21 +10:00
Jan Schmidt
76a93da2a7 webrtc: Fix memory leak
Fix a leaked string when building RTX info.
2018-07-14 23:20:13 +10:00
Jan Schmidt
15d3bc9870 webrtc: Clean up and fix transportsendbin
Refactor transportsendbin, and change the way
pads are blocked on dtlssrtpenc so that they
don't interfere with state changes.

As well as being easier to read, this fixes
spurious failures shutting down webrtcbin
if DTLS negotiation hasn't completed yet.
2018-07-14 23:20:13 +10:00
Jan Schmidt
cb750efd6c webrtc: Move dtlssrtpenc state management
Move the errant piece of dtlssrtpenc state change
management from dtlstransport in the Webrtc libs,
into the transportsendbin that does the rest of
the element management so it's all in one place.
2018-07-14 23:18:50 +10:00
Thibault Saunier
c247745faa opencv: Fix build for opencv >= 3.4.2
The `CV_RGB` macro is now in `imgproc.hpp`.

Fixes:

    ../subprojects/gst-plugins-bad/ext/opencv/gsthanddetect.cpp:497:40: error: ‘CV_RGB’ was not declared in this scope
            cvCircle (img, center, radius, CV_RGB (0, 0, 200), 1, 8, 0);
                                        ^~~~~~
2018-07-14 08:01:27 -04:00
Mathieu Duponchelle
6fd3e2a400 find_codec_preferences: use received caps
When negotiation is triggered by receiving caps on our sink pad
probes, we could encounter a race condition where need-negotiation
is emitted and the application requires the creation of an offer
before the current caps were actually updated.

This led to retrieving incomplete caps when creating the offer,
using find_codec_preferences -> pad_get_current_caps.

Instead, as we save the caps in the probe callback anyway, it is better
and thread safe to use these if they were set.

https://bugzilla.gnome.org/show_bug.cgi?id=796801
2018-07-12 21:39:41 +02:00
Matthew Waters
e47cf9abe1 glvideomixer: fix default placement when different sized output
i.e. when expanding from 320x240 to 800x600, the resulting frame should
appear in the top left corner, not the middle.

https://bugzilla.gnome.org/show_bug.cgi?id=794401
2018-07-12 12:48:39 +10:00
Daniel Klamt
b8442dd6ab glvideomixer: Moves the objects to zero on z axis
Matches the output from a similar glimagesink pipeline when
rotating from an upstream gltransformation passed through
the affine transformation meta with xpos/ypos being set.

https://bugzilla.gnome.org/show_bug.cgi?id=794401
2018-07-12 12:46:40 +10:00
Nicolas Dufresne
0327579460 glvideomixer: Fix coding style 2018-07-10 09:45:31 -04:00
Nicolas Dufresne
672fa010dc glvideomixer: Add missing string.h include 2018-07-10 09:42:47 -04:00
Matthew Waters
bd2920ca2d gl/utils: fix matrix conversion for column majorness
Companion to
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=e4bf9ed8f060021151cd57e2b00493ed696cb47b
https://cgit.freedesktop.org/gstreamer/gst-plugins-base/commit/?id=16cba63d43f319ac33bc993eca2b1b51679727b3
2018-07-10 20:31:26 +10:00
Daniel Klamt
969089f7a8 Moved the pad offset and aspect ratio to a matrix so it will be added in view space and not in world space
https://bugzilla.gnome.org/show_bug.cgi?id=794401
2018-07-10 20:31:26 +10:00
Arun Raghavan
c6f19511b5 closedcaption: Fix compilation on older compilers
For when -std=c99 (or later) is not the default.
2018-07-09 06:40:29 +05:30
Jan Schmidt
27b28f3aec webrtc: Explicitly initialise mutex and condition
Fixes random crashes when an allocated webrtcbin isn't
given fresh 0-filled memory in its allocation. It works
mostly because GMutex and GCond are automatically initialised
in that case.
2018-07-01 10:44:45 +10:00
Jan Schmidt
0fca02bb5e webrtc: Move the transportsendbin pad block removal
Move freeing of the pad blocks back to before we call the
GstBin state change function, as there's something racy
going on on the build server otherwise, where the pads don't
unblock during downward state changes.

This is a bit of a stab in the dark, since I can't recreate
the build server failure locally.
2018-06-30 01:07:32 +10:00
Sean-Der
10a37e0c35 aomenc: Handle 8 bit_depth images with AOM_IMG_FMT_HIGHBITDEPTH enabled
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-06-29 07:47:59 +02:00
Sean-Der
1d96d9e842 aomenc: Add support for 10/12bit decoding
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-06-29 07:47:59 +02:00
Thibault Saunier
a387f4bc33 meson: Add fallback for openh264 dependency 2018-06-28 15:21:54 -04:00
Jan Schmidt
bc128d6100 webrtc: Clean up pad block allocs on dispose.
Release references in pad blocks and release the memory in the
dispose function too, in case the state change doesn't get
run (because calling the parent state change fails).
2018-06-27 22:44:26 +10:00
Jan Schmidt
ed90d3b2ec webrtc: Don't deadlock on block pads on shutdown
When changing state downward, we can't set pads
to inactive if they are blocked, it will deadlock
trying to acquire the streaming lock.

Just calling the parent state change function
will do the correct things to unblock probes and
set the pad inactive, so let it do that and
remove the probes after the parent state change
function has run

https://bugzilla.gnome.org/show_bug.cgi?id=796682
2018-06-27 22:44:26 +10:00
Tim-Philipp Müller
d57dc6534f gl: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 01:37:08 +02:00
Tim-Philipp Müller
a862c0aa85 vulkan: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 01:25:04 +02:00
Tim-Philipp Müller
bde76a7dd0 soundtouch: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 01:15:59 +02:00
Tim-Philipp Müller
3c6f642fa6 dtls: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 01:06:24 +02:00
Tim-Philipp Müller
6f46792f0f webrtc: Update for g_type_class_add_private() deprecation in recent GLib 2018-06-24 00:17:26 +02:00
Olivier Crête
bfcc073ed4 ext/closedcaption/misc.h: Transform into UTF-8 2018-06-21 08:49:01 -04:00
Mathieu Duponchelle
85406b9827 pitch: remove trailing whitespaces from previous commit 2018-06-18 23:42:04 +02:00
Suhas Nayak
68052a7bc3 pitch: Flush only if there are unprocessed samples
Otherwise we end up trying to flush before
sample rate of SoundTouch is set

https://bugzilla.gnome.org/show_bug.cgi?id=796613
2018-06-18 23:39:47 +02:00
Mathieu Duponchelle
44f0814855 pitch: preserve seek event seqnums
This was wreaking havoc when used with a downstream audiomixer.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00
Mathieu Duponchelle
0b03b47193 pitch: fix latency reporting
When max is GST_CLOCK_TIME_NONE in the query, it should not
be set in the query handler, this otherwise could lead to
impossible situations, where the minimum latency ended up
greater than the maximum.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00
Mathieu Duponchelle
5f020be6cd pitch: Fix single input buffer followed by EOS
The flush function immediately returned when pitch->next_buffer_offset
was 0.

This is clearly wrong, as next_buffer_offset can be 0 when a single
input buffer has been received, and no output buffer has been produced
before receiving EOS.

Simply remove that condition.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00