Nirbheek Chauhan [Thu, 8 Feb 2018 09:49:12 +0000 (15:19 +0530)]
proxy: Fix plugin definition
I'm not sure how this was missed in review...
Nirbheek Chauhan [Thu, 8 Feb 2018 09:15:28 +0000 (14:45 +0530)]
proxy: Remove dead code from Makefile.am
There is no gstproxytest.c
Nirbheek Chauhan [Thu, 8 Feb 2018 09:11:05 +0000 (14:41 +0530)]
meson: Fix wasapi build on Windows
Was missing device prober and avrt (on msvc)
Nirbheek Chauhan [Thu, 8 Feb 2018 08:57:43 +0000 (14:27 +0530)]
wasapi: Unprepare when src/sink_prepare fails
unprepare() is not called automatically on failure.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Wed, 7 Feb 2018 21:41:10 +0000 (03:11 +0530)]
wasapisink: Re-align device period if necessary
Sometimes the minimum period advertised by a card results in an
unaligned buffer size error during initialization in exclusive mode.
In that case, we can fetch the actual buffer size in frames and
calculate the period from that.
We can't do this pre-emptively because we can't call GetBufferSize
till Initialize has been called at least once.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Wed, 7 Feb 2018 21:39:26 +0000 (03:09 +0530)]
wasapisink: pre-load the buffer with silence
This reduces the chances of startup glitches, and also reduces the
chances that we'll get garbled output due to driver bugs.
Recommended by the WASAPI documentation.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Tue, 6 Feb 2018 23:18:58 +0000 (04:48 +0530)]
wasapi: Try to use latency-time and buffer-time
So far, we have been completely discarding the values of latency-time
and buffer-time and trying to always open the device in the lowest
latency mode possible. However, sometimes this is a bad idea:
1. When we want to save power/CPU and don't want low latency
2. When the lowest latency setting causes glitches
3. Other audio-driver bugs
Now we will try to follow the user-set values of latency-time and
buffer-time in shared mode, and only latency-time in exclusive mode (we
have no control over the hardware buffer size, and there is no use in
setting GstAudioRingBuffer size to something larger).
The elements will still try to open the devices in the lowest latency
mode possible if you set the "low-latency" property to "true".
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Tue, 6 Feb 2018 18:26:41 +0000 (23:56 +0530)]
wasapi: Cover more HRESULT error messages
This requires using allocated strings, but it's the best option. For
instance, a call could fail because CoInitialize() wasn't called, or
because some other thing in the stack failed.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Tue, 6 Feb 2018 18:15:02 +0000 (23:45 +0530)]
wasapi: Increase thread priority to reduce glitches
This is particularly important when running in exclusive mode because
any delays will immediately cause glitching.
The MinGW version in Cerbero is too old, so we can only enable this when
building with MSVC or when people build GStreamer for MSYS2 or other
MinGW-based distributions.
To force-enable this code when building with MinGW, build with
CFLAGS="-DGST_FORCE_WIN_AVRT -lavrt".
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Tue, 6 Feb 2018 18:10:49 +0000 (23:40 +0530)]
wasapi: Allow opening devices in exclusive mode
This provides much lower latency compared to opening in shared mode,
but it also means that the device cannot be opened by any other
application. The advantage is that the achievable latency is much
lower.
In shared mode, WASAPI's engine period is 10ms, and so that is the
lowest latency achievable.
In exclusive mode, the limit is the device period itself, which in my
testing with USB DACs, on-board PCI sound-cards, and HDMI cards is
between 2ms and 3.33ms.
We set our audioringbuffer limits to match the device, so the
achievable sink latency is 6-9ms. Further improvements can be made if
needed.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Tue, 6 Feb 2018 18:07:19 +0000 (23:37 +0530)]
wasapi: Rename struct element for device name
We will use ->device for storing a pointer to the IMMDevice structure
which is needed for fetching the caps supported by devices in
exclusive mode.
https://bugzilla.gnome.org/show_bug.cgi?id=793289
Nirbheek Chauhan [Thu, 8 Feb 2018 06:02:32 +0000 (11:32 +0530)]
wasapi: Fix indentation issues missed by the commit hook
These were missed because the relevant commits were made on Windows
where `indent` wasn't installed.
Matthew Waters [Thu, 8 Feb 2018 05:55:43 +0000 (16:55 +1100)]
vulkanupload: actually loop over possible uploaders
Fix some funky control that wasn't working
CID #1417219
Matthew Waters [Thu, 8 Feb 2018 04:48:49 +0000 (15:48 +1100)]
webrtc: Fix
ffeb09e4 conditional
Fixes
ffeb09e4abe73d3b9e8909996816f0288e307e22
if (sscanf(...)) { // != 0
error;
}
Is not correct where != 0 indicates some kind of success.
Check instead that the correct number of elements were slurped.
Matthew Waters [Thu, 8 Feb 2018 04:47:33 +0000 (15:47 +1100)]
webrtc: change dead code to an assert
CID #1429140
Matthew Waters [Thu, 8 Feb 2018 04:29:13 +0000 (15:29 +1100)]
dtls: add meson definition for recently added test
Matthew Waters [Thu, 8 Feb 2018 04:25:22 +0000 (15:25 +1100)]
webrtc: bail on invalid rtpbin names
If we fail parsing rtpbin pad names, someone has screwed up so critical
and return.
CID #1429142
Nirbheek Chauhan [Wed, 3 Feb 2016 18:38:57 +0000 (00:08 +0530)]
Add new 'proxy' element to stream data between pipelines
This keep-it-simple plugin is useful when you want to pipe arbitrary
data to a different pipeline within the same process. Some advantages
over appsink/appsrc, the inter elements, etc:
* Ease of use. Buffers, events, and caps are transmitted as-is without
copying or serialization.
* Enables zerocopy (especially DMABUF) transparently without any
special-casing.
* Enables usage with sinks or elements that are unreliable and may
throw errors and need re-initialization, such as a network sink, a
USB device sink (v4l2), etc.
* Transmits arbitrary data, not just audio/video/subs
* Can easily implement 1 producer pipeline -> N dynamic consumer
pipelines within a single process when combined with the `tee`
element.
All queries, events, buffers, and buffer lists are proxied. State
changes, clocks, and base times for the two pipelines are independent
since the upstream and downstreams continue to be different pipelines.
https://bugzilla.gnome.org/show_bug.cgi?id=788200
Matthew Waters [Wed, 7 Feb 2018 09:15:00 +0000 (20:15 +1100)]
qt: don't #include platform specific gstglcontext_*.h headers
They aren't public headers
Guillaume Desmottes [Tue, 6 Feb 2018 10:36:27 +0000 (11:36 +0100)]
opencv: fix OPENCV_PATH_NAME when using meson
Meson was checking for $prefix/OpenCV but was then defining
OPENCV_PATH_NAME with 'OpenCv' rather than 'OpenCV'.
https://bugzilla.gnome.org/show_bug.cgi?id=793212
Sean DuBois [Mon, 5 Feb 2018 08:53:20 +0000 (08:53 +0000)]
aom: Drop pointless cast from av1enc
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Fri, 2 Feb 2018 06:56:17 +0000 (06:56 +0000)]
aom: Fix all definite leaks in av1enc
Track if the encoder has been inited, and cleanup if needed. Also unref
input_state if has been set
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Fri, 2 Feb 2018 05:43:20 +0000 (05:43 +0000)]
aom: Consistent naming between av1dec and av1enc
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Wed, 31 Jan 2018 07:34:32 +0000 (07:34 +0000)]
aom: Implement flush for av1dec
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Tim-Philipp Müller [Sun, 4 Feb 2018 11:18:06 +0000 (12:18 +0100)]
autotools: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Matthew Waters [Mon, 5 Feb 2018 06:00:15 +0000 (17:00 +1100)]
tests: add a test for the dtls{enc,dec} elements
Matthew Waters [Mon, 5 Feb 2018 05:57:52 +0000 (16:57 +1100)]
dtls: drop upstream segment and stream-start events
Fixes tests with GstHarness
We will push our own from the srcpad task.
Matthew Waters [Mon, 5 Feb 2018 06:41:25 +0000 (17:41 +1100)]
dtls: don't leak the system clock
Obtain and release it as needed.
Matthew Waters [Mon, 5 Feb 2018 05:16:31 +0000 (16:16 +1100)]
dtlsenc: fix typo in is-client property description
Mathieu Duponchelle [Fri, 7 Jul 2017 15:32:33 +0000 (17:32 +0200)]
adaptivedemux: reject segment seeks
While #782140 can stay open for actually handling these,
the fact is currently adaptivedemux does not handle segment
seeks, and as such should not accept them.
https://bugzilla.gnome.org/show_bug.cgi?id=784655
Matthew Waters [Tue, 31 Jan 2017 09:56:59 +0000 (20:56 +1100)]
webrtcbin: an element that handles the transport aspects of webrtc connections
SDP's are generated and consumed according to the W3C PeerConnection API
available from https://www.w3.org/TR/webrtc/
The SDP is either created initially from the connected
sink pads/attached transceivers as in the case of generating an offer or
intersected with the connected sink pads/attached transceivers as in
the case for creating an answer. In both cases, the rtp payloaded streams
sent by the peer are exposed as separate src pads.
The implementation supports trickle ICE, RTCP muxing, reduced size RTCP.
With contributions from:
Nirbheek Chauhan <nirbheek@centricular.com>
Mathieu Duponchelle <mathieu@centricular.com>
Edward Hervey <edward@centricular.com>
https://bugzilla.gnome.org/show_bug.cgi?id=792523
Matthew Waters [Tue, 16 Jan 2018 09:53:15 +0000 (20:53 +1100)]
dtls: remove reliance on a default GMainContext/Loop
By removing the indirection to the main loop completely when receiving
the peer certificate. For reference, the on-decoder-key signal does not
have a redirection.
Omar Akkila [Wed, 31 Jan 2018 18:21:58 +0000 (13:21 -0500)]
netsim: fix format errors for different platforms
https://bugzilla.gnome.org/show_bug.cgi?id=793073
Tim-Philipp Müller [Wed, 31 Jan 2018 16:10:24 +0000 (16:10 +0000)]
configure: fix opengl api conditional
Fixes build of openglmixers plugin due to mismatch between
build system conditional USE_OPENGL and define in gstglconfig.h
Tim-Philipp Müller [Wed, 31 Jan 2018 13:03:28 +0000 (13:03 +0000)]
configure: fix OpenGL API detection
And don't build gl mosaic element unconditionally.
Tim-Philipp Müller [Wed, 31 Jan 2018 13:02:07 +0000 (13:02 +0000)]
autotools: fix build if OpenGL support is not available
https://bugzilla.gnome.org/show_bug.cgi?id=793039
Víctor Manuel Jáquez Leal [Mon, 29 Jan 2018 11:53:51 +0000 (12:53 +0100)]
gdpdepay: don't use allocator if it has custom alloc
gdpdepay element uses the decide_allocation to fetch the downstream
allocator. Nonetheless it is possible that allocate uses a custom
alloc function, which is not usable by gdpdepay, crashing later the
application when the allocater buffer is NULL.
This patch checks for the allocator flags and reset it if the
allocator has a custom alloc function.
https://bugzilla.gnome.org/show_bug.cgi?id=789476
Víctor Manuel Jáquez Leal [Mon, 29 Jan 2018 11:50:36 +0000 (12:50 +0100)]
gdpdepay: don't allocation query if caps aren't fixed
When querying downstream for allocation, and the source caps hasn't
set its caps, using ANY by default, it raises a critical message in
console:
CRITICAL **: gst_video_info_from_caps: assertion 'gst_caps_is_fixed (caps)' failed
This patch bails out decide_allocation() if the caps aren't fixed.
https://bugzilla.gnome.org/show_bug.cgi?id=789476
Nirbheek Chauhan [Tue, 30 Jan 2018 22:21:47 +0000 (03:51 +0530)]
wasapi: Correctly set ringbuffer segsize/segtotal
This will set the actual-latency-time and actual-buffer-time of the sink
and source.
We completely ignore the latency-time/buffer-time values set
on the element because WASAPI is happiest when it is reading/writing at
the default period. Improving this will likely require the use of the
IAudioClient3 interfaces which are not available in MinGW yet.
https://bugzilla.gnome.org/show_bug.cgi?id=792897
Nirbheek Chauhan [Wed, 24 Jan 2018 19:21:22 +0000 (00:51 +0530)]
wasapi: Implement a device provider for probing
Currently only does probing and does not handle messages from
endpoints/devices. In the future we want to do proper monitoring which
is well-supported in WASAPI.
https://bugzilla.gnome.org/show_bug.cgi?id=792897
Nirbheek Chauhan [Wed, 24 Jan 2018 02:50:38 +0000 (08:20 +0530)]
wasapi: Implement support for >2 channels
We need to parse the WAVEFORMATEXTENSIBLE structure, figure out what
positions the channels have (if they are positional), and reorder them
as necessary.
https://bugzilla.gnome.org/show_bug.cgi?id=792897
Tim-Philipp Müller [Tue, 30 Jan 2018 20:35:07 +0000 (20:35 +0000)]
meson: use -fno-strict-aliasing where supported
https://bugzilla.gnome.org/show_bug.cgi?id=769183
Sreerenj Balachandran [Tue, 30 Jan 2018 20:34:58 +0000 (11:34 -0900)]
codecparser: vp8: Fix range decoder init
According to the vp8 spec, the first partition (size can be derived from
the frame header) should have all compressed header information and we
implemented gst codecparser based on that. But it doesn't seem to be the
case with some of the streams (#792773) and libvpx
works fine because it uses the whole frame size (not the first partition
size) to initialize the bool decoder.
https://bugzilla.gnome.org/show_bug.cgi?id=792773
Nicolas Dufresne [Mon, 22 Jan 2018 21:21:27 +0000 (16:21 -0500)]
kmssink: Make render rectangle property controllable
https://bugzilla.gnome.org/show_bug.cgi?id=792798
Vincent Penquerc'h [Mon, 3 Oct 2016 12:11:07 +0000 (13:11 +0100)]
glvideomixer: fix vertex_buffer leak
We call the base class first as this will remove the pad from
the aggregator, thus stopping misc callbacks from being called,
one of which (process_textures) will recreate the vertex_buffer
if it is destroyed
https://bugzilla.gnome.org/show_bug.cgi?id=760873
Jan Alexander Steffens (heftig) [Fri, 26 Jan 2018 15:25:33 +0000 (16:25 +0100)]
srtp: Support libsrtp2
For libsrtp 1, add defines that translate the new namespaced identifiers
to the old unnamespaced ones. Also move the code for setting and getting
a stream's ROC into two compat functions that match libsrtp2's API.
It seems that libsrtp2 properly supports changing the ROC without having
to touch the sequence numbers afterwards, given that srtp_set_stream_roc
sets a pending_roc field, so the entire roc_changed dance should not be
needed anymore. The compat functions for libsrtp 1 just contain our
preexisting hacks, however, so it's still needed there.
libsrtp2 has no means of discovering the streams in the session, so to
create the stats structure we need to iterate over our own set of SSRCs.
For this we also need to re-add the previously removed ssrcs_set to the
encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=776901
Tim-Philipp Müller [Sun, 28 Jan 2018 14:28:33 +0000 (14:28 +0000)]
rtmpsink: don't crash if there's streamheader field in the caps
Fix regression when used in combination with new flvmux which was
ported to GstAggregator, and which sends plain video/x-flv caps
before sending full caps that include streamheaders.
Justin Kim [Wed, 13 Dec 2017 04:43:30 +0000 (13:43 +0900)]
ahc: enable autofocus callback
It should be enabled to set autofocus properly, but
it seems to be commented out mistakenly from the first commit.
https://bugzilla.gnome.org/show_bug.cgi?id=790945
Sean DuBois [Fri, 26 Jan 2018 06:01:35 +0000 (06:01 +0000)]
aom: Add direct casts for GstAV1Enc and GstAV1Dec
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Fri, 26 Jan 2018 05:20:55 +0000 (05:20 +0000)]
aom: Deadline was removed from AV1
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Sun, 31 Dec 2017 07:47:47 +0000 (07:47 +0000)]
aom: Fix leak in av1dec
AOM Decoder wasn't being destroyed in stop
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sean DuBois [Sun, 14 Jan 2018 22:22:07 +0000 (22:22 +0000)]
aom: Put av1enc config debugging under gst_av1_enc_debug namespace
https://bugzilla.gnome.org/show_bug.cgi?id=791674
Sebastian Dröge [Thu, 25 Jan 2018 19:23:09 +0000 (21:23 +0200)]
directsoundsrc: Add missing \ in multi-line #define
Sebastian Dröge [Mon, 22 Jan 2018 12:06:31 +0000 (14:06 +0200)]
directsoundsrc: Add support for a DeviceProvider
https://bugzilla.gnome.org/show_bug.cgi?id=792782
Nirbheek Chauhan [Wed, 24 Jan 2018 02:50:13 +0000 (08:20 +0530)]
wasapi: Fix some leaks, bugs, and compiler warnings
Also improve logging.
Guillaume Desmottes [Mon, 6 Nov 2017 11:39:32 +0000 (12:39 +0100)]
h26{4,5}parse: expose chroma format and bit depth in caps
This information could be used for example to pick a decoder supporting
a specific chroma and/or bit depth, like 4:2:2 10 bits.
It can also be used to inform earlier decoder about the format it is
about to decode.
https://bugzilla.gnome.org/show_bug.cgi?id=792039
Tim-Philipp Müller [Sun, 16 Apr 2017 14:08:27 +0000 (16:08 +0200)]
nvenc: add "gop-size" property
This also changes the default gop size from 30 to 75 frames.
https://bugzilla.gnome.org/show_bug.cgi?id=781410
Tim-Philipp Müller [Wed, 24 Jan 2018 10:21:48 +0000 (10:21 +0000)]
nvenc: mark properties that can be changed at runtime accordingly
https://bugzilla.gnome.org/show_bug.cgi?id=781410
Ole André Vadla Ravnås [Mon, 17 Apr 2017 11:58:53 +0000 (13:58 +0200)]
nvenc: Add support for dynamic bitrate/preset reconfiguration
Useful for dynamically updating bitrate in live scenarios.
https://bugzilla.gnome.org/show_bug.cgi?id=781410
Ole André Vadla Ravnås [Fri, 14 Apr 2017 13:30:44 +0000 (15:30 +0200)]
nvenc: Add support for I420
https://bugzilla.gnome.org/show_bug.cgi?id=781410
Jun Xie [Thu, 21 Dec 2017 10:33:49 +0000 (18:33 +0800)]
netsim: fix misleading packet delay log
packet delay time shall be calculated by ready_time minus current time
https://bugzilla.gnome.org/show_bug.cgi?id=791838
Mathieu Duponchelle [Thu, 28 Dec 2017 11:15:21 +0000 (12:15 +0100)]
videoaggregatorpad: implement skip_buffer
Skip buffers from sources with a framerate higher than the output
framerate.
https://bugzilla.gnome.org/show_bug.cgi?id=781928
Tim-Philipp Müller [Tue, 23 Jan 2018 14:49:51 +0000 (14:49 +0000)]
decklink: don't crash if there are no decklink devices
Fixes generic/states check.
Tim-Philipp Müller [Tue, 23 Jan 2018 10:27:57 +0000 (10:27 +0000)]
decklink: don't limit number of devices to 16
There is no fixed limitation for the number of devices on the
decklink API side according to BlackMagic. Many PC motherboards
are able support 6 decklink cards each with up to 8 inputs so
a limit of 16 might well be too low.
https://bugzilla.gnome.org/show_bug.cgi?id=777239
Tim-Philipp Müller [Tue, 23 Jan 2018 09:01:00 +0000 (09:01 +0000)]
Update for renamed aggregator pad API
https://bugzilla.gnome.org/show_bug.cgi?id=791204
Tim-Philipp Müller [Mon, 22 Jan 2018 18:53:22 +0000 (18:53 +0000)]
meosn: curl: also check for and use libssh2 if available
Sebastian Dröge [Mon, 22 Jan 2018 11:44:29 +0000 (13:44 +0200)]
directsoundsrc: Don't dynamically load one DirectSound symbol at runtime
Just link statically to it, like for all other DirectSound symbols.
Nirbheek Chauhan [Sun, 21 Jan 2018 03:32:30 +0000 (09:02 +0530)]
wasapi: Rewrite most of the code to make it work
Both the source and the sink elements were broken in a number of ways:
* prepare() was assuming that the format was always S16LE 2ch 44.1KHz.
We now probe the preferred format with GetMixFormat().
* Device initialization was done with the wrong buffer size
(buffer_time is in microseconds, not nanoseconds).
* sink_write() and src_read() were just plain wrong and would never
write or read anything useful.
* Some functions in prepare() were always returning FALSE which meant
trying to use the elements would *always* fail.
* get_caps() and delay() were not implemented at all.
TODO: support for >2 channels
TODO: pro-audio low-latency
TODO: SPDIF and other encoded passthroughs
Three new properties are now implemented: role, mute, and device.
* 'role' designates the stream role of the initialized device, see:
https://msdn.microsoft.com/en-us/library/windows/desktop/
dd370842(v=vs.85).aspx
* 'device' is a system-wide GUIDesque string for a specific device.
* 'mute' is a sink property and simply mutes it.
On my Windows 8.1 system, the lowest latency that works is:
wasapisrc buffer-time=20000
wasapisink buffer-time=10000
aka, 20ms and 10ms respectively. These values are close to the lowest
possible with the IAudioClient interface. Further improvements require
porting to IAudioClient2 or IAudioClient3.
https://docs.microsoft.com/en-us/windows-hardware/drivers/audio/low-latency-audio
Tim-Philipp Müller [Sat, 20 Jan 2018 15:49:35 +0000 (15:49 +0000)]
tests: camerabin: skip checks if we don't have encoders for the default format
https://bugzilla.gnome.org/show_bug.cgi?id=767863
Tim-Philipp Müller [Wed, 17 Jan 2018 12:06:28 +0000 (12:06 +0000)]
tests: ipcpipeline: fix struct initialisation warnings with clang
Use init macros to avoid gst-indent making a mess of it.
https://bugzilla.gnome.org/show_bug.cgi?id=787980
Tim-Philipp Müller [Tue, 16 Jan 2018 11:35:22 +0000 (11:35 +0000)]
tests: remove test that's never been ported to 1.x
Jun Xie [Wed, 3 Jan 2018 02:26:49 +0000 (10:26 +0800)]
hlsdemux: fix memory leak while updating master playlist
new_master needs to be freed if current playlist is not a master playlist
https://bugzilla.gnome.org/show_bug.cgi?id=792146
Tim-Philipp Müller [Mon, 15 Jan 2018 20:01:06 +0000 (20:01 +0000)]
lv2: fix inverted boolean properties
https://bugzilla.gnome.org/show_bug.cgi?id=791330
Edward Hervey [Thu, 11 Jan 2018 10:49:06 +0000 (11:49 +0100)]
check: Update gitignore
Edward Hervey [Thu, 11 Jan 2018 10:41:33 +0000 (11:41 +0100)]
mxfdemux: Remove useless check
Any modification of ret in that "while (ret == GST_FLOW_OK)" loop will
break (and cause it to stop the iteration).
CID #1427095
Edward Hervey [Thu, 11 Jan 2018 10:33:22 +0000 (11:33 +0100)]
kateenc: Refactoring for readability and leak fixing
Instead of a massive if/else/if/else/if/else/...:
* Use a common cleanup path for allocated items just before leaving
the function (which will be free-d only if we're not dealing with
a delayed SPU).
* "goto" that cleanup path wherever needed
CID #1427096
CID #1427114
Víctor Manuel Jáquez Leal [Thu, 11 Jan 2018 10:29:38 +0000 (11:29 +0100)]
msdk: change plugin's description
There are not only encoders nowadays, there are decoders too and a
postprocessor in the future.
Sreerenj Balachandran [Thu, 11 Jan 2018 03:24:07 +0000 (18:24 -0900)]
msdk: init the debug category for mpeg2dec
https://bugzilla.gnome.org/show_bug.cgi?id=792260
Sreerenj Balachandran [Wed, 10 Jan 2018 19:40:24 +0000 (10:40 -0900)]
msdk: Add mpeg2 decoder
https://bugzilla.gnome.org/show_bug.cgi?id=792260
Olivier Crête [Tue, 9 Jan 2018 23:11:52 +0000 (18:11 -0500)]
srt: The pkgconfig is "srt", not "libsrt"
Also, always use the pkgconfig file instead of falling back
Olivier Crête [Tue, 9 Jan 2018 23:10:04 +0000 (18:10 -0500)]
srt: Include srt.h inside object header
Otherwise, newer GCC complains about now having sockaddr defined in
the header.
Philippe Normand [Sun, 7 Jan 2018 14:45:37 +0000 (14:45 +0000)]
player: doc update for set_subtitle_uri()
A call to this function without enabling the subtitle track has no effect.
Vivia Nikolaidou [Fri, 29 Dec 2017 13:14:54 +0000 (15:14 +0200)]
decklinkaudiosrc: Extrapolate stream/hw reference timestamps when video frame is missing
Sometimes we might get an audio packet without a corresponding video
frame. In these cases, the stream and hardware reference timestamps
would be missing, because they're called on the video frame. Instead of
potentially breaking stuff downstream that might depend on these, we now
extrapolate them.
https://bugzilla.gnome.org/show_bug.cgi?id=792042
Vivia Nikolaidou [Wed, 26 Apr 2017 16:05:21 +0000 (19:05 +0300)]
decklink: Detect gaps on incoming stream times, issue warnings
When we receive a video or audio buffer, we calculate the next stream
time based on the current stream time + buffer duration. If the next
buffer's stream time is after that, we issue a warning.
This happens because the stream time incoming from Decklink should be
really constant and without gaps. If there is a gap, it means that
something went wrong, e.g. the internal buffer pool is empty (too many
buffers queued up downstream).
https://bugzilla.gnome.org/show_bug.cgi?id=781776
Vivia Nikolaidou [Thu, 4 Jan 2018 13:41:51 +0000 (15:41 +0200)]
Revert "WIP: Revert "Revert "decklink: Detect gaps on incoming stream times, issue warnings"""
This reverts commit
8dceeb5ccd6e46a61e3bbe79efa45275504fa500.
Vivia Nikolaidou [Thu, 4 Jan 2018 13:41:50 +0000 (15:41 +0200)]
Revert "WIP: Revert "Revert "debugutils: Added new jitterer element"""
This reverts commit
a401cb9a61f21c2fbc803eb3f098a9e2496edc06.
Vivia Nikolaidou [Thu, 4 Jan 2018 13:41:49 +0000 (15:41 +0200)]
Revert "WIP: Revert "Revert "timecodestamper: LTC from audio"""
This reverts commit
e0be05dc7059cc97dceb70a48ca9cad4ee2edce6.
Vivia Nikolaidou [Thu, 4 Jan 2018 13:41:48 +0000 (15:41 +0200)]
Revert "WIP: Revert "Revert "timecodestamper: Modify ltc-add to tc-add"""
This reverts commit
2f9da0ab59ef4231e9c850afb089d920e9d25609.
Vivia Nikolaidou [Thu, 4 Jan 2018 13:41:44 +0000 (15:41 +0200)]
Revert "decklinkaudiosrc: Extrapolate stream/hw reference timestamps when video frame is missing"
This reverts commit
6af863916a7bf3bfe31970fdc2dd2d42ea3f9690.
Vivia Nikolaidou [Fri, 29 Dec 2017 13:14:54 +0000 (15:14 +0200)]
decklinkaudiosrc: Extrapolate stream/hw reference timestamps when video frame is missing
Sometimes we might get an audio packet without a corresponding video
frame. In these cases, the stream and hardware reference timestamps
would be missing, because they're called on the video frame. Instead of
potentially breaking stuff downstream that might depend on these, we now
extrapolate them.
https://bugzilla.gnome.org/show_bug.cgi?id=792042
Vivia Nikolaidou [Tue, 7 Nov 2017 19:14:18 +0000 (21:14 +0200)]
WIP: Revert "Revert "timecodestamper: Modify ltc-add to tc-add""
This reverts commit
05426d9298431c149807fb435cd1d632e9fd061f.
Vivia Nikolaidou [Tue, 7 Nov 2017 19:14:15 +0000 (21:14 +0200)]
WIP: Revert "Revert "timecodestamper: LTC from audio""
This reverts commit
1998ccf1fbd586ef1dc4b1e7256bad7af8136f13.
Vivia Nikolaidou [Tue, 7 Nov 2017 19:14:01 +0000 (21:14 +0200)]
WIP: Revert "Revert "debugutils: Added new jitterer element""
This reverts commit
ccc1624d097cbfdaf9f99526c033c642c863400c.
Vivia Nikolaidou [Tue, 7 Nov 2017 19:13:57 +0000 (21:13 +0200)]
WIP: Revert "Revert "decklink: Detect gaps on incoming stream times, issue warnings""
This reverts commit
07819afda461f5e4d77c9be9f484a7aae3c5ec8c.
Edward Hervey [Wed, 3 Jan 2018 15:07:24 +0000 (16:07 +0100)]
openh264dec: Remove useless check
We are sure to have a frame at this point
CID #1427138
Edward Hervey [Wed, 3 Jan 2018 14:15:25 +0000 (15:15 +0100)]
hlssink2: Remove useless if statement
message will always be present
CID #1409853
Edward Hervey [Wed, 3 Jan 2018 11:15:01 +0000 (12:15 +0100)]
kateenc: Fix memory leak in error cases
CID #1427096
CID #1427114
Justin Kim [Tue, 2 Jan 2018 11:51:25 +0000 (20:51 +0900)]
srt: Remove platform dependent socket headers
SRT modules entrust `gnetworking.h` with finding right headers
for the platforms.
https://bugzilla.gnome.org/show_bug.cgi?id=792123
Edward Hervey [Tue, 2 Jan 2018 14:23:00 +0000 (15:23 +0100)]
nalutils: Fix Exponential-Golomb 'ue' parsing
The algorithm we use only supports up to a maximum exponent of 31
(for a maximum resulting of 2**32 -1)
CID #1427097
Tim-Philipp Müller [Tue, 2 Jan 2018 11:43:39 +0000 (11:43 +0000)]
opencv: allow all future 3.4.x versions
Fix-up for previous patch which I modified incorrectly.
https://bugzilla.gnome.org/show_bug.cgi?id=792114