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
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
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
Sebastian Dröge [Wed, 3 Oct 2018 13:00:23 +0000 (16:00 +0300)]
glstereomix: Fix build after deprecating misnamed GST_TYPE_GL_STEREO_DOWNMIX_MODE_TYPE
Seungha Yang [Thu, 27 Sep 2018 06:24:20 +0000 (15:24 +0900)]
msdk: Fix building on MSVC
And add missing #ifdef _WIN32 for MSVC build
https://bugzilla.gnome.org/show_bug.cgi?id=797211
Seungha Yang [Thu, 27 Sep 2018 05:42:44 +0000 (14:42 +0900)]
msdk: Fix meson build
gst-plugins-bad\sys\msdk\meson.build:57:4: ERROR: File msdk-enum.c does not exist.
https://bugzilla.gnome.org/show_bug.cgi?id=797211
Mathieu Duponchelle [Thu, 27 Sep 2018 15:15:20 +0000 (17:15 +0200)]
mpegtsmux: add custom AC-3 descriptor
tsdemux expects a custom descriptor (GST_MTS_DESC_AC3_AUDIO_STREAM)
to detect a stream as AC3 and not EAC3.
Note that tsdemux expects this descriptor because mpegtsmux writes
a stream with a HDMV registration descriptor.
Fixes:
gst-launch-1.0 -v audiotestsrc ! avenc_ac3 ! ac3parse ! mpegtsmux ! \
tsdemux ! ac3parse ! avdec_ac3 ! audioconvert ! autoaudiosink
https://bugzilla.gnome.org/show_bug.cgi?id=797220
Matthew Waters [Wed, 26 Sep 2018 06:00:50 +0000 (16:00 +1000)]
webrtcdatachannel: take ref of data so it doesn't disappear
Sebastian Dröge [Mon, 24 Sep 2018 20:26:10 +0000 (23:26 +0300)]
glmixerbin: "latency" property on aggregator is uint64, not int64
Also update the property description and range with aggregator's values.
Tim-Philipp Müller [Mon, 24 Sep 2018 13:40:31 +0000 (14:40 +0100)]
player: fix deprecated api declaration
Tim-Philipp Müller [Mon, 24 Sep 2018 10:52:22 +0000 (11:52 +0100)]
libs: fix API export/import and 'inconsistent linkage' on MSVC
For each lib we build export its own API in headers when we're
building it, otherwise import the API from the headers.
This fixes linker warnings on Windows when building with MSVC.
The problem was that we had defined all GST_*_API decorators
unconditionally to GST_EXPORT. This was intentional and only
supposed to be temporary, but caused linker warnings because
we tell the linker that we want to export all symbols even
those from externall DLLs, and when the linker notices that
they were in external DLLS and not present locally it warns.
What we need to do when building each library is: export
the library's own symbols and import all other symbols. To
this end we define e.g. BUILDING_GST_FOO and then we define
the GST_FOO_API decorator either to export or to import
symbols depending on whether BUILDING_GST_FOO is set or not.
That way external users of each library API automatically
get the import.
While we're at it, add new GST_API_EXPORT in config.h and use
that for GST_*_API decorators instead of GST_EXPORT.
The right export define depends on the toolchain and whether
we're using -fvisibility=hidden or not, so it's better to set it
to the right thing directly than hard-coding a compiler whitelist
in the public header.
We put the export define into config.h instead of passing it via the
command line to the compiler because it might contain spaces and brackets
and in the autotools scenario we'd have to pass that through multiple
layers of plumbing and Makefile/shell escaping and we're just not going
to be *that* lucky.
The export define is only used if we're compiling our lib, not by external
users of the lib headers, so it's not a problem to put it into config.h
Also, this means all .c files of libs need to include config.h
to get the export marker defined, so fix up a few that didn't
include config.h.
This commit depends on a common submodule commit that makes gst-glib-gen.mak
add an #include "config.h" to generated enum/marshal .c files for the
autotools build.
https://bugzilla.gnome.org/show_bug.cgi?id=797185
Tim-Philipp Müller [Mon, 24 Sep 2018 09:59:16 +0000 (10:59 +0100)]
docs: plugins: update for git master
Tim-Philipp Müller [Sat, 22 Sep 2018 18:49:13 +0000 (19:49 +0100)]
pkgconfig: generate sctp lib .pc file also with Meson build
and fix up autotools definition now that it's not conditional
any more.
Tim-Philipp Müller [Sat, 22 Sep 2018 16:37:42 +0000 (17:37 +0100)]
pkgconfig: sctp lib does not depend on external sctp library
So install .pc files unconditionally.
Tim-Philipp Müller [Fri, 21 Sep 2018 14:04:01 +0000 (15:04 +0100)]
libs: dist new sctp lib
Vivia Nikolaidou [Fri, 14 Sep 2018 13:05:20 +0000 (16:05 +0300)]
avwait: Send dropping=true message after all streams stopped
Previously it was dispatched before the last video buffer, and audio
buffers would follow afterwards. It's misleading to send the
dropping=true message before both streams have really stopped, it can
lead to races when someone is e.g. waiting for that message to send EOS.
Also added some debug output.
https://bugzilla.gnome.org/show_bug.cgi?id=797145
Edward Hervey [Fri, 21 Sep 2018 12:56:52 +0000 (14:56 +0200)]
gst-libs: Always build sctp mini-library
It doesn't depend on any external library
Matthew Waters [Wed, 19 Sep 2018 08:01:26 +0000 (18:01 +1000)]
glvideomixer: fix constant alpha enum value for constant alpha
Matthew Waters [Mon, 10 Sep 2018 13:52:05 +0000 (23:52 +1000)]
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
Matthew Waters [Mon, 10 Sep 2018 13:30:56 +0000 (23:30 +1000)]
webrtcbin: functionify dependent element checks
Matthew Waters [Mon, 10 Sep 2018 13:27:08 +0000 (23:27 +1000)]
webrtc/stats: rename debug category not to be ice related
Mathieu Duponchelle [Thu, 13 Sep 2018 17:56:47 +0000 (19:56 +0200)]
sctp elements: avoid assertions on shutdown
Matthew Waters [Mon, 10 Sep 2018 13:25:36 +0000 (23:25 +1000)]
sctp*meta: fix api define in gst_sctp_buffer_get_*_meta()
Matthew Waters [Mon, 10 Sep 2018 13:24:21 +0000 (23:24 +1000)]
sctpassociation: don't join a NULL thread
Can occur if no connection is actually made and thus no connection
thread is created.
Matthew Waters [Mon, 10 Sep 2018 13:23:43 +0000 (23:23 +1000)]
sctpenc: don't require caps when requesting the pad
They can be set later
Matthew Waters [Mon, 10 Sep 2018 13:21:52 +0000 (23:21 +1000)]
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.
Matthew Waters [Thu, 6 Sep 2018 07:27:27 +0000 (17:27 +1000)]
Update sctp plugin for the current build system
- Add meson build definitions
- Add necessary API decorators
George Kiagiadakis [Wed, 4 Feb 2015 16:12:48 +0000 (17:12 +0100)]
Add new SCTP plugins (sctpenc/sctpdec)
https://bugzilla.gnome.org/show_bug.cgi?id=744863
Mathieu Duponchelle [Tue, 28 Aug 2018 16:48:48 +0000 (18:48 +0200)]
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
Mathieu Duponchelle [Wed, 22 Aug 2018 17:05:02 +0000 (19:05 +0200)]
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
Tim-Philipp Müller [Wed, 19 Sep 2018 11:02:19 +0000 (12:02 +0100)]
meson: add glib-checks option to disable API guards and such
We want this enabled by default, also in releases, but people
may want to disable this for performance-critical workloads or
on embedded devices.
Tim-Philipp Müller [Wed, 19 Sep 2018 11:01:47 +0000 (12:01 +0100)]
meson: fix missing closing bracket in option descriptions
Sebastian Dröge [Wed, 19 Sep 2018 07:28:56 +0000 (10:28 +0300)]
glvideomixer: Fix typo in property description
Sebastian Dröge [Thu, 6 Sep 2018 17:23:55 +0000 (20:23 +0300)]
ccextractor: Use gst_caps_new_simple() instead of gst_caps_from_string()
Matthew Waters [Wed, 12 Sep 2018 12:38:56 +0000 (22:38 +1000)]
decklinkvideosink: fix build
../sys/decklink/gstdecklinkvideosink.cpp:1006:11: error: ‘GstDecklinkVideoSink {aka struct _GstDecklinkVideoSink}’ has no member named ‘scheduled_stop_time’
self->scheduled_stop_time = start_time;
^
Matthew Waters [Wed, 12 Sep 2018 10:29:09 +0000 (05:29 -0500)]
decklink: wait for stop with a timeout
Decklink sometimes does not notify us through the callback that it has
stopped scheduled playback either because it was uncleanly shutdown
without an explicit stop or for unknown other reasons.
Wait on the cond for a short amount of time before checking if scheduled
playback has stopped without notification.
https://bugzilla.gnome.org/show_bug.cgi?id=797130
Matthew Waters [Sun, 8 Jul 2018 14:54:04 +0000 (09:54 -0500)]
decklink: start scheduled playback in paused
This is part of a much larger goal to always keep the frames we schedule to
decklink be always increasing. This also allows us to avoid using both the
sync and async frame display functions which aren't recomended to be used
together.
If the output timestatmsp is not always increasing decklink seems to hold
onto the latest frame and may cause a flash in the output if the played
sequence has a framerate less than the video output.
Scenario is play for N seconds, pause, flushing seek to some other position,
play again. Each of the play sequences would normally start at 0 with
the decklink time. As a result, the latest frame from the previous sequence
is kept alive waiting for it's timestamp to pass before either dropping
(if a subsequent frame in the new sequence overrides it) or displayed
causing the out of place frame to be displayed.
This is also supported by the debug logs from the decklink video sink
element where a ScheduledFrameCompleted() callback would not occur for
the frame until the above had happened.
It was timing related as to whether the frame was displayed based
on the decklink refresh cycle (which seems to be 16ms here),
when the frame was scheduled by the sink and the difference between
the 'time since vblank' of the two play requests (and thus start times
of scheduled playback).
https://bugzilla.gnome.org/show_bug.cgi?id=797130
Matthew Waters [Wed, 12 Sep 2018 10:32:04 +0000 (05:32 -0500)]
decklinkaudiosink: fix debug string copy-paste error
Stopping != Starting
Seungha Yang [Mon, 13 Aug 2018 13:44:51 +0000 (22:44 +0900)]
h265parse: Fix periodic SPS/PPS sending work after a seek
Apply the commit ef71b61
See also https://bugzilla.gnome.org/show_bug.cgi?id=742212
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 11:34:36 +0000 (20:34 +0900)]
h265parse: Add support insert parameter set per IDR
Apply commits 0c04e00, bf0d952 and a0876aa to h265parse.
See also https://bugzilla.gnome.org/show_bug.cgi?id=766803
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 15:46:26 +0000 (00:46 +0900)]
h265parse: Don't discard first AU delimiter
Apply the commit 48a1f27
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 15:43:01 +0000 (00:43 +0900)]
h265parse: Consider SEI NALU as "HEADER" packets
Apply the commit 69c09c3
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 13:45:54 +0000 (22:45 +0900)]
h265parse: Don't unref buffer that was unreffed just a few lines before already
Apply the commit 9b50a12
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 16:11:27 +0000 (01:11 +0900)]
h265parse: Reset the parser information when caps changes
Apply the commit 14f6fcd
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 14:45:13 +0000 (23:45 +0900)]
h265parse: Fix collection of access units to preserve config headers
Apply the commit 7d44a51
See also https://bugzilla.gnome.org/show_bug.cgi?id=732203
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 14:36:33 +0000 (23:36 +0900)]
h265parse: Improve conditions for skipping NAL units
See also https://bugzilla.gnome.org/show_bug.cgi?id=732203
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 13:23:22 +0000 (22:23 +0900)]
h265parse: Introduce new state tracking variables
Direct applying the commit 7bb6443. This could fix also unexpected
nal dropping when nonzero "config-interval" is set.
(e.g., gst-launch-1.0 videotestsrc ! x265enc key-int-max=30 !
h265parse config-interval=30 ! avdec_h265 ! videoconvert ! autovideosink)
Similar to the h264parse, have_{vps,sps,pps} variables will be used
for deciding on when to submit updated caps or not, and rather mean
"have new SPS/PPS to be submitted?"
See also https://bugzilla.gnome.org/show_bug.cgi?id=732203
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 12:49:57 +0000 (21:49 +0900)]
h265parse: Fix and optimize NAL collection function
Adopt h264parse's _collect_nal() behavior.
See also commit 5601c87 and https://bugzilla.gnome.org/show_bug.cgi?id=732154
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 15:29:56 +0000 (00:29 +0900)]
h265parse: Unref/replace force_key_unit_event in gst_h265_parse_reset
Apply the commit 36a2aca
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Seungha Yang [Mon, 13 Aug 2018 15:27:12 +0000 (00:27 +0900)]
h265parse: Copy over DISCONT flag from input buffers
Apply the commit 10ffa08
https://bugzilla.gnome.org/show_bug.cgi?id=754124
Nicolas Dufresne [Thu, 16 Aug 2018 20:58:31 +0000 (16:58 -0400)]
watchdog: Add missing static keyword
get/set_property method should have been static.
Nirbheek Chauhan [Mon, 10 Sep 2018 19:30:21 +0000 (01:00 +0530)]
wasapi: Remove code that sets thread priority
This is now handled directly in gstaudiosrc/sink, and we were setting
it in the wrong thread anyway. prepare() is not the same thread as
sink_write() or src_read().
Nirbheek Chauhan [Wed, 5 Sep 2018 16:01:22 +0000 (21:31 +0530)]
meson: Don't pass GNU-like compiler wargs on MSVC
cl : Command line error D8021 : invalid numeric argument '/Wno-missing-include-dirs'
Nirbheek Chauhan [Wed, 5 Sep 2018 15:17:05 +0000 (20:47 +0530)]
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.
Vivia Nikolaidou [Mon, 3 Sep 2018 12:15:45 +0000 (15:15 +0300)]
timecodestamper: Fix typo in set_drop_frame
Was checking if fps_d == 60000 (instead of fps_n), causing 60000/1001 to
be always falsely interpreted as non-drop-frame
Philippe Normand [Sat, 1 Sep 2018 10:23:33 +0000 (11:23 +0100)]
player: Set default position and duration value to GST_CLOCK_TIME_NONE
When the position query fails the returned value shall remain -1 instead of 0 to
avoid confusion on application side between error and beginning of media.
https://bugzilla.gnome.org/show_bug.cgi?id=797066
Nirbheek Chauhan [Sat, 1 Sep 2018 16:18:31 +0000 (21:48 +0530)]
meson: Fix applemedia dependencies on iOS
These were accidentally not being found because they were incorrectly
specified.
Nirbheek Chauhan [Fri, 31 Aug 2018 09:07:46 +0000 (14:37 +0530)]
meson: Maintain macOS ABI through dylib versioning
Requires Meson 0.48, but the feature will be ignored on older versions
so it's safe to add it without bumping the requirement.
Documentation:
https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library
Matthew Waters [Fri, 31 Aug 2018 07:19:02 +0000 (17:19 +1000)]
meson: add pkg-config file for the webrtc plugin
Matthew Waters [Thu, 30 Aug 2018 14:37:17 +0000 (00:37 +1000)]
androidmedia/meson: we also depend on gmodule and orc
Seungha Yang [Fri, 31 Aug 2018 05:55:05 +0000 (14:55 +0900)]
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
Devarsh Thakkar [Sat, 25 Aug 2018 17:17:34 +0000 (22:47 +0530)]
kmssink: Add "restore-crtc" property
This adds "restore-crtc" property using which one
can restore previous crtc mode.
By default it is enabled, if CRTC was already
active with a valid mode and kmssink set a new mode
on CRTC using force-modesetting.
This helps user restore previous crtc mode and get
the previous session back after running a kmssink
pipeline involving a force-modesetting.
For e.g. When running a kmssink pipeline on rpi
using force-modesetting on tty console, it was giving
a blank screen after pipeline, and now with help of restore-crtc
functionality, CRTC is set with previous crtc mode
previously active on tty console.
Edited-by: Nicolas Dufresne <nicolas.dufresne@collabora.com>
https://bugzilla.gnome.org/show_bug.cgi?id=797025
Nicolas Dufresne [Wed, 29 Aug 2018 16:02:22 +0000 (12:02 -0400)]
kmssink: Document possible advance usage
This adds a mention about modetest command line tool and adds an example
on how to use the connector/plane-properties.
https://bugzilla.gnome.org/show_bug.cgi?id=797027
Nicolas Dufresne [Wed, 29 Aug 2018 15:53:13 +0000 (11:53 -0400)]
kmssink: Escape DRM property names
This allow setting properties that contains spaces. The spaces are
replaced with '-'. As an example, one can set the connector proper
"scaling mode" with the following:
... ! kmssink connector-properties="s,scaling-mode=1"
https://bugzilla.gnome.org/show_bug.cgi?id=797027
Nicolas Dufresne [Mon, 27 Aug 2018 19:08:08 +0000 (15:08 -0400)]
kmssink: Add 'plane-properties' property
This is similar to 'connector-properties' but will change
selected plane properties instead.
https://bugzilla.gnome.org/show_bug.cgi?id=797027
Nicolas Dufresne [Mon, 27 Aug 2018 19:07:47 +0000 (15:07 -0400)]
kmssink: Generalize setting DRM object properties
https://bugzilla.gnome.org/show_bug.cgi?id=797027
Guillaume Desmottes [Thu, 23 Aug 2018 12:29:37 +0000 (14:29 +0200)]
kmssink: add 'connector-properties' prop
Can be used to pass custom connector properties to DRM. Properties can
be enumerated using modetest tool. These properties can then be applied
with the following gst-launch-1.0 syntax. Note that the name of the
structure is ignored.
... ! kmssink connector-properties="s,props1=value,props2=value"
https://bugzilla.gnome.org/show_bug.cgi?id=797027
Nirbheek Chauhan [Tue, 28 Aug 2018 07:24:07 +0000 (12:54 +0530)]
meson: Add build files for androidmedia and opensles
Note that androidmedia requires Android gstgl
Vivia Nikolaidou [Tue, 28 Aug 2018 12:04:53 +0000 (15:04 +0300)]
decklink: Only use drop-frame flag for 29.97 and 59.94 FPS
Otherwise it can cause errors in gstvideotimecode.c because drop-frame
is not defined for any other frame rate (e.g. 24000/101)
https://blog.frame.io/2017/07/17/timecode-and-frame-rates/
https://bugzilla.gnome.org/show_bug.cgi?id=797037
Johan Bjäreholt [Tue, 28 Aug 2018 07:11:32 +0000 (09:11 +0200)]
audiobuffersplit: Fix format string warning
We have a GST_DEBUG_OBJECT, which prints a guint64 with %lu which gave a
compiler warning. Used G_GUINT64_FORMAT instead.
https://bugzilla.gnome.org/show_bug.cgi?id=797036
Philipp Zabel [Fri, 17 Aug 2018 09:12:26 +0000 (11:12 +0200)]
kmssink: configure mode setting from video info
drmModeGetFB returns -EINVAL for multi-planar framebuffers. Instead of
depending on the framebuffer dimensions to select the mode, use width
and height from GstVideoInfo, which was used to create the framebuffer
in the first place. This enables kmssink to display multi-planar
formats such as I420 or NV12 with modesetting enabled.
https://bugzilla.gnome.org/show_bug.cgi?id=796985
Jerome Laheurte [Thu, 16 Aug 2018 10:35:50 +0000 (12:35 +0200)]
ksvideosrc: fix device enumeration when hotplugging a camera
Since both audio and video capture devices declare the KSCATEGORY_CAPTURE interface,
plugging a camera that supports both could result in an audio device being mistaken
for a video one.
https://bugzilla.gnome.org/show_bug.cgi?id=796958
Tim-Philipp Müller [Sun, 19 Aug 2018 14:50:25 +0000 (15:50 +0100)]
meson: build musepack plugin
Tim-Philipp Müller [Sun, 19 Aug 2018 14:44:16 +0000 (15:44 +0100)]
musepack: remove support for the 'old' API
Tim-Philipp Müller [Sun, 19 Aug 2018 13:39:53 +0000 (14:39 +0100)]
freeverb: update for g_type_class_add_private() deprecation
Not that the private struct is really needed here.
Tim-Philipp Müller [Sun, 19 Aug 2018 00:11:38 +0000 (01:11 +0100)]
meson: build neonhttpsrc
Tim-Philipp Müller [Sat, 18 Aug 2018 20:32:11 +0000 (21:32 +0100)]
meson: add options to disable gobject cast checks and glib asserts
... and define G_DISABLE_DEPRECATED for development versions,
like we do in autotools.
Sebastian Dröge [Fri, 17 Aug 2018 13:37:45 +0000 (16:37 +0300)]
audiobuffersplit: Add a gapless mode which inserts silence/drops samples on disconts
The output is always a continguous stream without any gaps.
Sebastian Dröge [Fri, 17 Aug 2018 13:37:31 +0000 (16:37 +0300)]
audiobuffersplit: Always set DISCONT flag after resyncs
Sebastian Dröge [Fri, 17 Aug 2018 13:33:52 +0000 (16:33 +0300)]
audiobuffersplit: Keep track of resync time separately
If we drain after a discont, the discont time given by the stream
synchronizer is already the time after the discontinuity. But we need to
drain all pending data based on the previous discont time instead.
Sebastian Dröge [Fri, 17 Aug 2018 11:56:51 +0000 (14:56 +0300)]
audiobuffersplit: Update output buffer size after each buffer to compensate for accumulated errors
https://bugzilla.gnome.org/show_bug.cgi?id=796981
Vivia Nikolaidou [Thu, 16 Aug 2018 14:47:55 +0000 (17:47 +0300)]
avwait: Start video and audio together if audio starts late
Also add test to meson
https://bugzilla.gnome.org/show_bug.cgi?id=796977
Nirbheek Chauhan [Thu, 16 Aug 2018 21:29:26 +0000 (02:59 +0530)]
meson: host_system is 'ios' when building for iOS
The cross file sets this value, and we use 'ios' in Cerbero.
Nirbheek Chauhan [Thu, 16 Aug 2018 20:19:07 +0000 (01:49 +0530)]
meson: Add an option for tests
This is needed because we don't always have gstreamer-check available,
for instance inside Cerbero on iOS.
Nicolas Dufresne [Thu, 16 Aug 2018 19:21:00 +0000 (15:21 -0400)]
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
Sebastian Dröge [Thu, 16 Aug 2018 14:07:06 +0000 (17:07 +0300)]
compositor: Define crossfade-ratio to have range [0.0,1.0]
Previously negative values had the same effect as 0.0, which was
confusing.
https://bugzilla.gnome.org/show_bug.cgi?id=796845
Wim Taymans [Thu, 16 Aug 2018 09:42:25 +0000 (11:42 +0200)]
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.
Wim Taymans [Thu, 16 Aug 2018 09:20:54 +0000 (11:20 +0200)]
rfbdecoder: don't free decoder data
The decoder data is freed when we read more data.
Sebastian Dröge [Thu, 16 Aug 2018 07:02:42 +0000 (10:02 +0300)]
videoaggregator: Make sure to hold object lock while iterating sink pads
They might otherwise just change while we iterate.
Nirbheek Chauhan [Wed, 15 Aug 2018 14:14:17 +0000 (19:44 +0530)]
meson: Define HAVE_OSX on macOS and iOS
Needed by the shm, ladspa, and lv2 plugins. Same as Autotools.
Nirbheek Chauhan [Wed, 15 Aug 2018 14:04:31 +0000 (19:34 +0530)]
meson: Fix shm librt dep check on macOS, iOS, and *BSD
Nicolas Dufresne [Tue, 14 Aug 2018 19:59:52 +0000 (15:59 -0400)]
makefile: opencv: Fix header names in noinst_HEADERS
This should fix missing gstcameracalibrate.h and gstcameraundistort.h
missing into generated tarballs.
Nirbheek Chauhan [Tue, 14 Aug 2018 14:18:28 +0000 (19:48 +0530)]
meson: Add an option for the applemedia plugin
Michael Drake [Wed, 18 Jul 2018 10:11:17 +0000 (11:11 +0100)]
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
Víctor Manuel Jáquez Leal [Tue, 14 Aug 2018 11:53:00 +0000 (13:53 +0200)]
check: update gitignore
Víctor Manuel Jáquez Leal [Tue, 14 Aug 2018 10:42:02 +0000 (12:42 +0200)]
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
Víctor Manuel Jáquez Leal [Tue, 14 Aug 2018 10:36:53 +0000 (12:36 +0200)]
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
Nirbheek Chauhan [Fri, 10 Aug 2018 22:42:46 +0000 (04:12 +0530)]
meson: Add gnustl dep for webrtcdsp on Android
Needed for C++ headers. Without this, webrtcdsp can't find <algorithm>
Bastian Köcher [Fri, 10 Aug 2018 11:57:47 +0000 (12:57 +0100)]
meson: fix install dir for generated header files
Nixos installs into a non-standard includedir, so need
to take account of the 'includedir' option instead of
just hard-coding 'include' here.
https://bugzilla.gnome.org/show_bug.cgi?id=794856
Nirbheek Chauhan [Tue, 7 Aug 2018 19:01:51 +0000 (00:31 +0530)]
wasapi: Fix build with Windows 8.1 SDK
With the Windows 8.1 SDK, the v1 of the AUDCLNT_STREAMOPTIONS enum is
defined which only has NONE and RAW, so it's not only defined when
AudioClient3 is available.
Add a meson check for the symbol. This is not needed for Autotools
because there we build against the MinGW audioclient.h which is still
at v1 of the AudioClient interface.