Eunhye Choi [Wed, 14 Jul 2021 10:00:24 +0000 (19:00 +0900)]
videoparse: Only add a single closed caption meta
Only add a single closed caption meta
Otherwise, having a stream go through a parser multiple times would
result in duplicate closed caption meta.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1396>
upstream commit id :
31d5d04bb1f5e3f6acdef8460193019237ecf5df
Change-Id: I587de0415e78e9e0de21ef079e594bec9bfedabd
Sangchul Lee [Wed, 7 Jul 2021 03:27:20 +0000 (12:27 +0900)]
webrtcbin: Fix memory leak in _set_rtx_ptmap_from_stream()
[Version] 1.16.2-20
[Issue Type] Coverity (Resource leak)
Change-Id: Ieb7ae7649503026eff5737c5fbe28057ce81a590
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Gilbok Lee [Fri, 25 Jun 2021 00:34:09 +0000 (09:34 +0900)]
tsdemux: send converted GST_BUFFER_PTS() when emit stats
Change-Id: I1730850632eef9f93e25e6b5f40a5d0ef034bb09
Sangchul Lee [Thu, 24 Jun 2021 03:03:14 +0000 (12:03 +0900)]
webrtcbin: Remove unreachable codes and redundant condition
[Version] 1.16.2-18
[Issue Type] SVACE (UNREACHABLE_CODE/SIMILAR_BRANCHES)
Change-Id: Ic3475956be436e9d2151b1dee1fbc79a1cd1c8b7
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 24 Jun 2021 02:11:20 +0000 (11:11 +0900)]
webrtcdatachannel: Fix memory leak
[Version] 1.16.2-17
[Issue Type] SVACE (MEMORY_LEAK.STRDUP)
Change-Id: I8b24e1e01b9f82a952cf53240e6626a55dcedb12
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 24 Jun 2021 01:59:54 +0000 (10:59 +0900)]
webrtcice: Avoid access memory after free and fix memory leak
[Version] 1.16.2-16
[Issue Type] SVACE (PASSED_TO_PROC_AFTER_FREE.EX)
Change-Id: I61f9148466ec842972cf44d8e87a01e8a504b363
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Eunhye Choi [Tue, 15 Jun 2021 08:09:05 +0000 (17:09 +0900)]
m3u8: remove unreachable code
- fix svace issue
Change-Id: I342e992e126f2d2ffbbaa1a9e47c403f171f6bae
Olivier Crête [Wed, 30 Dec 2020 18:51:21 +0000 (13:51 -0500)]
webrtcbin: Remove remnant of non-rtcp-mux mode
There was some code left that wasn't used anymore.
Change-Id: I76d0148e40012adf07f42c9008075d2f529537ed
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1930>
Olivier Crête [Tue, 3 Nov 2020 00:49:55 +0000 (19:49 -0500)]
webrtc: Remove non rtcp-mux code
RTCP mux is now always required by the WebRTC spec
Change-Id: I541ca3e3a9a6a016f9d0be1ab6da1f37c2dde69e
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1765>
Sangchul Lee [Wed, 21 Apr 2021 06:01:15 +0000 (15:01 +0900)]
webrtcbin: Call the missing gst_ghost_pad_construct()
[Version] 1.16.2-14
[Issue Type] Improvement
Change-Id: Ia733b9972f72595e7dac175b22983332889b6fcf
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Wed, 10 Feb 2021 07:17:14 +0000 (16:17 +0900)]
dtls: Update codes based on 1.18.4
Files in ext/dtls/ are updated.
Change-Id: I14a943cf0210610c4e8ee3da31d03bd4f47944dd
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Sangchul Lee [Thu, 31 Dec 2020 11:31:09 +0000 (20:31 +0900)]
webrtc: Update codes based on 1.18.4
files below are updated.
- ext/webrtc/*
- gst-libs/gst/webrtc/*
Change-Id: Ic2622a1e0275a4e11ccd806a631d923a5601308e
Signed-off-by: Sangchul Lee <sangchul1011@gmail.com>
Eunhye Choi [Wed, 12 May 2021 11:26:51 +0000 (20:26 +0900)]
hlsdemux: add property about live info
- add readable property about live info
: is live, live start time, live end time
Change-Id: I0be1bfec4527cad2db6910e8e0cae5a6fa2eb498
Gilbok Lee [Wed, 12 May 2021 08:11:16 +0000 (17:11 +0900)]
hlsdemux: push language code tag
Change-Id: I0941e39c9384f6c936d8ea736704d2b718902b3c
Gilbok Lee [Tue, 11 May 2021 04:40:01 +0000 (13:40 +0900)]
hlsdemux: Enable support for external subtitles
- auto-indented using gst-indent
Change-Id: I71f521a191bbca086e8cd01883bed600e3e50b5d
Eunhye Choi [Thu, 6 May 2021 07:59:40 +0000 (16:59 +0900)]
hlsdemux: post first variant bandwidth info
- post bandwidth information if the first variant is selected.
- when the variant is changed, the bandwidth info has been posted.
Change-Id: Ic22cf3e41524bce1b46bd83a2fc0ea54c0e9debd
Eunhye Choi [Mon, 26 Apr 2021 10:36:07 +0000 (19:36 +0900)]
hlsdemux: parse cue related tag for AD
- parse cue-out, cue-in, cue-out-cont hls tag
to get AD information
Change-Id: I9b9e4ec3e370418b8cf1310d0aed7afc4cffb79f
Sangchul Lee [Wed, 21 Apr 2021 06:18:08 +0000 (15:18 +0900)]
fixup! adaptive: allow pad switching
Fix ignoring build definitions caused by the commented line.
Change-Id: Ie08002787deb634c6b5e560ea529d10c972207b6
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Eunhye Choi [Tue, 13 Apr 2021 09:52:52 +0000 (18:52 +0900)]
adaptive: allow pad switching
- disable the AVOID_PAD_SWITCHING patch to support
pad switching as upstream.
- pad switching should be allowed to support AD during
adaptive streaming.
Change-Id: Iabec91fe30e9069970b057efa80d143d5d191f50
Sangchul Lee [Fri, 2 Apr 2021 08:45:46 +0000 (17:45 +0900)]
webrtcbin: Make it possible to create data channel before READY state
The condition 'webrtc->priv->is_closed' is set to TRUE when NULL state.
In Tizen, skip checking this condition to create data channel within
NULL state.
[Version] 1.16.2-8
[Profile] Common
[Issue Type] Improvement
Change-Id: I60dad04350372d6fa10dd987be92b152e9cada19
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Eunhye Choi [Tue, 9 Mar 2021 06:55:26 +0000 (15:55 +0900)]
hls: support bandwidth limit
- add start-bandwidth, min-bandwidth properties
to use when switching to alternates.
Change-Id: I616847f7a6f9c71564b9a054feae1a0b38625506
Gilbok Lee [Mon, 4 Jan 2021 04:36:46 +0000 (13:36 +0900)]
dashdemux: Check bandwidth instead of video mime-type when storing variant information.
- There may be no mimetype in the representation field
Change-Id: Icf40af82ea8c01f649bf982ecb37d19fc33e49b0
Gilbok Lee [Thu, 24 Dec 2020 03:54:46 +0000 (03:54 +0000)]
Merge "h264parse: ignore GST_H264_PARSER_NO_NAL return when last nal type is GST_H264_NAL_SEQ_END" into tizen
Gilbok Lee [Tue, 15 Dec 2020 08:46:18 +0000 (17:46 +0900)]
h264parse: ignore GST_H264_PARSER_NO_NAL return when last nal type is GST_H264_NAL_SEQ_END
Change-Id: Ie3c42c98ff22079bd1da31c96e8f26d04d035b6d
Sangchul Lee [Wed, 16 Dec 2020 02:52:22 +0000 (11:52 +0900)]
webrtcsdp: Fix memory leaks
[Version] 1.16.2-5
[Profile] Common
[Issue Type] Bug fix (SVACE)
Change-Id: I3d60ac5e2cb6b89065edab44ab9139b4e2b442fa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Minje Ahn [Mon, 9 Nov 2020 06:54:58 +0000 (15:54 +0900)]
Activate plug-in for Gstreamer Editing Services
Activation list:
- libgstgaudieffects.so
- libgstcoloreffects.so (Activated in TV profile)
Change-Id: I789d3667f65e40c5a03c87f6884fe6d579f169b4
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
Gilbok Lee [Tue, 15 Sep 2020 07:25:49 +0000 (16:25 +0900)]
adaptivedemux/mpegdemux : Fix coverity issue (Missing unlock)
Change-Id: I51fea48a0d00b2a38e136e03fa5f7b3a537440da
gichan-jang [Fri, 10 Jul 2020 08:16:36 +0000 (17:16 +0900)]
[SPEC] Enable gst gdp plugin
Gdp plugin need to be transmit the gst buffers through tcp communication.
Change-Id: I2cdc012f96bdb0ddf1b30164ffb061b92a086bb7
Signed-off-by: gichan-jang <gichan2.jang@samsung.com>
Hyunil [Mon, 27 Apr 2020 07:58:52 +0000 (16:58 +0900)]
Add webrtcsendrecv test app to tests/example/webrtc
- Answerer logic is added
- Add call stack log
- Add use-camera-mic feature to use camera and mic
- Add use-proxy feature to use proxy server
- Add build define for webrtctest
Change-Id: Ide51737b4ef5a87ec853b4f8c1920ddab39dd502
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
Jeongmo Yang [Wed, 22 Apr 2020 10:57:30 +0000 (19:57 +0900)]
fixup! Enable opusparse plugin
- The explicit build dependency should be added after correct spec file of gst-plugins-base package.
[Version] 1.16.2-2
[Profile] Common
[Issue Type] Bug fix
Change-Id: I6adcea6a2d2d7c4af6dc74912918707b2aeff3b1
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Jeongmo Yang [Tue, 14 Apr 2020 06:08:24 +0000 (15:08 +0900)]
Enable opusparse plugin
- This patch should be merged with opus enabled gst-plugins-base package.
[Version] 1.16.2-1
[Profile] Common
[Issue Type] Update
Change-Id: Iefa7deceff196974151e10fe4e820d52e93c7b02
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
Hyunil [Wed, 1 Apr 2020 09:08:32 +0000 (18:08 +0900)]
srtp: enable plugins
Change-Id: I3fc2b995862f194d63f84919635b5c31f1f62f97
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Gilbok Lee [Tue, 31 Mar 2020 04:55:15 +0000 (04:55 +0000)]
Merge "Remove unrecognized configure options" into tizen
Gilbok Lee [Mon, 30 Mar 2020 08:20:28 +0000 (17:20 +0900)]
Remove unrecognized configure options
Change-Id: I3b2c18c417567ccd00edf50267769df8ddbeb213
Hyunil [Wed, 18 Mar 2020 09:15:55 +0000 (18:15 +0900)]
sctp: enable sctpdec and sctpenc plugins
Change-Id: Ifcd70387b5d3f36dcc980f5ee5a99f335440dc31
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Hyunil [Tue, 17 Mar 2020 01:00:25 +0000 (10:00 +0900)]
dtls: enable plugins
Change-Id: Ia8c157ce48f59448eb600d84e3da2d3138c2a153
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Hyunil [Wed, 11 Mar 2020 08:35:38 +0000 (17:35 +0900)]
webrtc: modify to allow installation of webrtc plugin
Change-Id: I84a51559a4504ff0d73f9b4617906e51d57c5e42
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Eunhye Choi [Mon, 9 Mar 2020 04:45:03 +0000 (13:45 +0900)]
soundtouch: fix coverity issue
Change-Id: I7290f22c61ffda3f27ea77e5232d332be9d5c3d4
Gilbok Lee [Fri, 21 Feb 2020 06:24:41 +0000 (15:24 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen
Change-Id: Icf2e38c593ba1f1e4a74ddb1bd1559af6d123676
Eunhye Choi [Fri, 14 Feb 2020 07:59:05 +0000 (16:59 +0900)]
pitch: add audio meta
- add audio meta info in case of non-interleaved layout
which is required when it is converted to interleaved.
Change-Id: I8a7c03b9a40f9093e6f0416e53b75f14086d6b88
Gilbok Lee [Thu, 23 Jan 2020 02:18:14 +0000 (11:18 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2
Change-Id: Ib1a717363ad97f1695fb888bc2caa3c2ccff8ee2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:59 +0000 (11:12 +0000)]
Release 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:58 +0000 (11:12 +0000)]
Update docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:56 +0000 (11:12 +0000)]
Update translations
o0Ignition0o [Sat, 30 Nov 2019 13:08:06 +0000 (14:08 +0100)]
avfvideosrc: Explicitly request device video permissions for macOS 10.14+
Since macOS Mojave (10.14), video permissions have to be explicitly
granted by a user in order to open a video device such as a camera.
This commit adds a check for the current permission status, and tries
to request for permission if applicable.
Nirbheek Chauhan [Sun, 1 Dec 2019 11:34:05 +0000 (17:04 +0530)]
openexr: Fix check for when to pass -std=c++98
commit
6adfb120ab0e1bb0b3439ad725a362cfe4fbe733 added this flag to fix
builds with `-Werror`, and afterwards it was changed to use a version
check when newer versions of openexr moved over to C++11.
However, some distros have backported patches to older openexr
versions which make it require C++11, which makes the version check
incorrect and causes an error because we passed `-Werror -std=c++98`.
Instead, directly check when usage of the header requires `-std=c++98`
with `-Werror` and override the `cpp_std` setting on the target.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1117
Nirbheek Chauhan [Tue, 26 Nov 2019 06:09:32 +0000 (11:39 +0530)]
wasapisrc: Correctly handle BUFFERFLAGS_SILENT
We need to ignore the data we get from WASAPI in this case and write
out silence (zeroes).
Initially reported at https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
Nirbheek Chauhan [Mon, 25 Nov 2019 15:55:43 +0000 (21:25 +0530)]
wasapisrc: Try harder to avoid debug output in the hot loop
The whole `src_read()` function is a hot loop since the ringbuffer
thread is waiting on us, and printing to the console from inside it
can easily cause us to miss our deadline.
F.ex., if you had GST_DEBUG=3 and we accidentally missed a device
period, we'd trigger the "reported glitch" warning, which would cause
us to miss another device period, and so on. Let's reduce the log
level so that GST_DEBUG=3 is more usable, and only print buffer flag
info when it's actually relevant.
Nirbheek Chauhan [Mon, 25 Nov 2019 15:49:59 +0000 (21:19 +0530)]
wasapisrc: Fix capturing from some buggy audio drivers
Some audio drivers return varying amounts of data per ::GetBuffer
call, instead of following the device period that they've told us
about in `src_prepare()`.
Previously, we would just drop those extra buffers hoping that the
extra buffers were temporary (f.ex., a startup 'burst' of audio data).
However, it seems that some audio drivers, particularly on older
Windows versions (such as Windows 10 1703 and older) consistently
return varying amounts of data.
Use GstAdapter to smooth that out, and hope that the audio driver is
locally varying but globally periodic.
Initially reported in https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/808
Nirbheek Chauhan [Mon, 25 Nov 2019 15:46:05 +0000 (21:16 +0530)]
wasapisrc: Clarify that nBlockAlign is actually bpf
bpf = bytes per frame.
Nirbheek Chauhan [Mon, 25 Nov 2019 15:30:14 +0000 (21:00 +0530)]
wasapisrc: Fix glitching and clock skew issues
We were miscalculating the device period, i.e. the number of frames
we'll get from WASAPI in each IAudioClient::GetBuffer call, due to
a calculation mistake (truncate instead of round).
For example, on my machine when the aux input is set to 44.1KHz, the
reported device period is 101587, which comes out to 447.998 frames
per ::GetBuffer call. In reality we will, of course, get 448 frames
per call, but we were truncating, so we expected 447 and were
discarding one frame every time. This led to glitching, and skew over
time.
Interestingly, I can only see this with 44.1Khz. 48Khz/96Khz are fine,
because the device period is a more 'even' number.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/806
Nirbheek Chauhan [Tue, 13 Aug 2019 17:24:42 +0000 (22:54 +0530)]
wasapi: Move to CoInitializeEx for COM initialization
CoInitialize is not allowed when targeting UWP and causes a Windows
Application Certification Kit (WACK) error.
Jeffy Chen [Mon, 25 Nov 2019 11:08:48 +0000 (19:08 +0800)]
waylandsink: Commit the parent after creating subsurface
We should commit the parent to activate new subsurface, this is
documented in the protocol.
Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com>
Julien Isorce [Mon, 18 Nov 2019 22:26:31 +0000 (14:26 -0800)]
msdkdec: fix surface leak in msdkdec_handle_frame
Can be reproduced with:
videotestsrc ! x264enc key-int-max=$N ! \
h264parse ! msdkh264dec ! fakesink sync=1
It happens with any gop size but the smaller is the distance N
between key frames, the quicker it is leaking.
Fixes #1023
Kyrylo Polezhaiev [Thu, 5 Sep 2019 01:16:28 +0000 (03:16 +0200)]
tsmux: Fix copying of buffer region
Edward Hervey [Wed, 6 Nov 2019 13:22:07 +0000 (14:22 +0100)]
tsdemux: Handle continuity mismatch in more cases
Packets of a given PID are meant to have sequential continuity counters
(modulo 16). If there are not sequential, this is the sign of a broken
stream, which we then consider as a discontinuity.
But if that new packet is a frame start (PUSI is true), then we can resume
from that packet without any damage.
Vivia Nikolaidou [Fri, 11 Oct 2019 14:25:04 +0000 (17:25 +0300)]
tsdemux: Always issue a DTS even when it's equal to PTS
Currently tsdemux timestamps only the PTS, and only issues the DTS if
it's different. In that case, parsers tend to estimate the next DTS
based on the previous DTS and the duration, which can accumulate
rounding errors.
Tim-Philipp Müller [Mon, 11 Nov 2019 13:03:22 +0000 (13:03 +0000)]
openexr: fix compilation with openexr >= 2.4.0 in autotools
Only pass -std=c++98 for openexr 2.3.x.
Jan Alexander Steffens (heftig) [Sat, 2 Nov 2019 15:51:09 +0000 (16:51 +0100)]
openexr: Fix compilation with OpenEXR 2.4
It uses modern C++; adding -std=c++98 breaks the build.
Sebastian Dröge [Mon, 28 Oct 2019 09:25:15 +0000 (11:25 +0200)]
ccextractor: Remove unused set/get_property() functions
Sebastian Dröge [Mon, 28 Oct 2019 09:22:06 +0000 (11:22 +0200)]
ccextractor: Always forward all sticky events to the caption pad
And only update the caps and stream-start event accordingly. This
ensures that we'll always forward sticky events that arrive after the
caption pad was created, and especially updates to existing sticky
events like the segment event.
Also create a proper stream id based on the upstream stream id for the
stream-start event, and make sure that all the sticky events we know are
already on the caption pad at the time it is added to the element.
Sebastian Dröge [Tue, 22 Oct 2019 06:30:34 +0000 (09:30 +0300)]
pnmdec: Return early on ::finish() if we have no actual data to parse
Otherwise we'd be working with a NULL buffer and cause various critical
warnings along the way.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1104
Seungha Yang [Tue, 17 Sep 2019 11:32:18 +0000 (20:32 +0900)]
wasapi: Fix build warnings
gstwasapiutil.c(173) : warning C4715: 'gst_wasapi_device_role_to_erole': not all control paths return a value
gstwasapiutil.c(188) : warning C4715: 'gst_wasapi_erole_to_device_role': not all control paths return a value
Seungha Yang [Tue, 17 Sep 2019 11:29:03 +0000 (20:29 +0900)]
wasapi: Don't cast GstDeviceProvider to GstElement
The GstDeviceProvider isn't subclass of GstElement.
(gst-device-monitor-1.0:49356): GLib-GObject-WARNING **: 20:21:18.651:
invalid cast from 'GstWasapiDeviceProvider' to 'GstElement'
Matthew Waters [Sun, 6 Oct 2019 13:05:08 +0000 (00:05 +1100)]
ass: avoid infinite unref loop with bad data
A classic case of not updating the next item to iterate after deleting
it from the singly linked list.
Only ever hit with a text buffer with GST_CLOCK_TIME_NONE for either the
timestamp or duration.
Fabian Greffrath [Tue, 24 Sep 2019 18:29:21 +0000 (20:29 +0200)]
fluidsynth: add sf3 to soundfont search path
In Debian, soundfonts in SF3 format (i.e. the same as SF2 format but
with Ogg/Vorbis-compressed samples) are installed into
/usr/share/sounds/sf3. Soundfonts in SF3 format are supported since
FluidSynth 1.1.7 (released in Feb 2018).
Tim-Philipp Müller [Mon, 23 Sep 2019 10:14:45 +0000 (11:14 +0100)]
Release 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:14:44 +0000 (11:14 +0100)]
Update docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:14:41 +0000 (11:14 +0100)]
Update translations
Hyunil [Wed, 11 Sep 2019 07:53:48 +0000 (16:53 +0900)]
Remove gles20 dependency for headless
Change-Id: I6e40914194de856c5078d19e7e93d396f0639ba6
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
Seungha Yang [Tue, 9 Apr 2019 11:07:05 +0000 (20:07 +0900)]
hls: Make crypto dependency optional when hls-crypto is auto
crypto libraries are not required for hlssink and hlssink2.
Also, hlsdemux with nonencrypted stream can work without crpyto.
Make an error only when users set "hls-crpyto" with non-auto option explicitly,
but no crpyto library was found.
Askar Safin [Wed, 4 Sep 2019 09:54:17 +0000 (12:54 +0300)]
gst-player: fix bug with changing playback direction
Fix gst_event_new_seek call in gst-libs/gst/player/gstplayer.c
If rate >= 0.0, then previous code doesn't set end of segment. So, the end of segment
will be in place where previous seek put it. This is not neccesary end of media file
(in case of reverse playback). So if we play video backward for some time and then
switched to forward playing, we will get EOS somewhere in the middle of media file.
This commit always sets end of segment, thus fixing this bug
Matthew Waters [Wed, 21 Aug 2019 11:35:30 +0000 (06:35 -0500)]
decklinkaudiosink: Drop late buffers
Asking decklink to render audio data seems to be based entirely on
the sample counts which completely disregards the timestamps
we pass to decklink. As a result, we need to explicitly check
for late buffers and drop them ourselves.
Sebastian Dröge [Mon, 22 Apr 2019 12:42:12 +0000 (15:42 +0300)]
decklink: Allow VANC to be used for all modes
Sebastian Dröge [Wed, 7 Aug 2019 09:58:03 +0000 (12:58 +0300)]
decklinkvideosrc: Also set the INTERLACED buffer flag on non-TFF buffers
Sebastian Dröge [Fri, 16 Aug 2019 08:55:22 +0000 (11:55 +0300)]
decklinkvideosrc: Retrieve mode of the ancillary data from the frame
Instead of using the information we stored ourselves for the video frame
itself. Which was also the wrong one: it was the mode from the property,
not the autodetected one.
This fixes vanc extraction with mode=auto
Olivier Crête [Fri, 23 Aug 2019 22:40:49 +0000 (18:40 -0400)]
srt: Set latency property on SRT socket
Olivier Crête [Fri, 23 Aug 2019 21:54:49 +0000 (17:54 -0400)]
srt: Add sender side statistics
Olivier Crête [Fri, 23 Aug 2019 20:21:47 +0000 (16:21 -0400)]
srtobject: Remove pointless GMainLoop
Just use srt's blocking epoll function and fix locking while we're at it.
gla [Tue, 20 Aug 2019 10:44:44 +0000 (12:44 +0200)]
dshowsrcwrapper: fix regression on device selection
Do not take device_name if a device has been specified. Do not take device_index into account if a device or a device name has been specified.
Jan Schmidt [Fri, 28 Jun 2019 05:04:29 +0000 (15:04 +1000)]
tsdemux: Limit the maximum PES payload size
PES packets with size 0 are unbounded, and
could therefore overflow the 32-bit size
accumulator.
Add a 32MB limit, which is larger than
any PES packet should ever get. If one does,
then output a 32MB chunk and continue.
Mathieu Duponchelle [Fri, 16 Aug 2019 13:22:26 +0000 (15:22 +0200)]
iqa: fix leak of map_meta.data
Thomas Coldrick [Wed, 14 Aug 2019 10:24:19 +0000 (11:24 +0100)]
ext/wayland: Define libdrm_dep in meson.build
Nirbheek Chauhan [Tue, 20 Aug 2019 08:51:17 +0000 (14:21 +0530)]
sctp: Fix crash on free() when using the MSVC binaries
On Windows, if libusrsctp and gstreamer are built with different
C runtimes (CRT), we cannot free memory allocated inside libusrsctp
with the `free()` function from gstreamer's CRT.
`usrsctp_freedumpbuffer()` simply calls `free()`, but because of the
way DLLs work on Windows, it will always call the free function from
the correct CRT.
Niels De Graef [Thu, 9 May 2019 12:08:31 +0000 (14:08 +0200)]
webrtc: Fix signals documentation
Some GIR annotations were incorrect or even missing. The former isn't
good for bindings, while the latter is especially annoying for signal
handlers, as that means your arguments will get the wrong names in the
rendered documentation.
Matthew Waters [Wed, 14 Aug 2019 12:08:34 +0000 (22:08 +1000)]
h264parse: don't critical on VUI parameters > 2^31
A guint32 greater than 2^31 would be interpreted as negative by
gst_util_uint64_scale_int() and critical. Use the 64-bit integer version
of the function instead.
Nirbheek Chauhan [Mon, 19 Aug 2019 19:00:04 +0000 (00:30 +0530)]
rtmp: Fix crash inside free() with MSVC on Windows
librtmp is always built with MinGW in Cerbero, so if the plugin is
built with MSVC and it frees memory allocated by librtmp, that leads
to a crash since the CRT used by MinGW and MSVC are different.
This is fixed in master by switching to a newer GCC toolchain which
has been configured to use the same CRT as newer versions of Visual
Studio, so there's no cross-CRT memory alloc/free issues.
See: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/164
Seungha Yang [Thu, 15 Aug 2019 08:49:12 +0000 (17:49 +0900)]
d3dvideosink: Fix crash on WinProc handler
... caused by null pointer dereference. The d3dvideosink object might
not available yet on the handler.
Xavier Claessens [Wed, 14 Aug 2019 15:21:30 +0000 (11:21 -0400)]
amc: Fix crash when a sync_meta survives its sink
_amc_gl_free() could be called after the GstAmcVideoDec has been
finalized, in the case downstream still has a ref to a buffer.
Doug Nazar [Fri, 9 Aug 2019 06:41:51 +0000 (02:41 -0400)]
pitch: Fix race between putSamples() and setting soundtouch parameters
The various soundtouch set*() functions may cause buffer (re)allocations
which interferes with inputting the audio data.
David Gunzinger [Tue, 13 Aug 2019 10:10:54 +0000 (12:10 +0200)]
webrtc: fix type of max-retransmits, make it work
Sebastian Dröge [Mon, 12 Aug 2019 17:26:51 +0000 (20:26 +0300)]
mxfdemux: Also allow picture essence element type 0x05 for VC-3
It's found like this in various files out there even if it does not
conform to SMPTE 2019-4.
Sebastian Dröge [Tue, 6 Aug 2019 18:44:35 +0000 (21:44 +0300)]
decklinkaudiosrc/decklinkvideosrc: Do nothing in BaseSrc::negotiate() and always set caps in ::create()
We don't support negotiation with downstream but simply set caps based
on the buffers we receive. This prevents renegotiation to other formats,
and negotiation to NTSC in mode=auto in the beginning until the first
buffer is received.
As side-effect of this, also remove various other caps handling code
that was working around the behaviour of the default
BaseSrc::negotiate().
Ignacio Casal Quinteiro [Tue, 6 Aug 2019 15:42:15 +0000 (17:42 +0200)]
wasapi: fix symbol redefinition build error
Tim-Philipp Müller [Mon, 12 Aug 2019 07:10:42 +0000 (08:10 +0100)]
Revert "dtls: fix generated cert dtls agent leak"
This reverts commit
6c8831bd1e6e6641534b4b129100661dd8f472b0 from !588
This fix was wrong and also reverted in master.`
Fabrice Bellet [Mon, 22 Jul 2019 08:00:00 +0000 (08:00 +0000)]
siren: fix a global buffer overflow spotted by asan
This patch just enforces boudaries for the access to the
standard_deviation array (64 floats). Such case can be
seen with a corrupted stream, where there's no hope to
obtain a valid decoded frame anyway.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1002
Adam Duskett [Wed, 29 May 2019 18:33:02 +0000 (18:33 +0000)]
ext/hls/meson.build: fix dependency logic
Currently, if one was to set -Dhls-crypto to either libgcrypt or openssl
instead of auto, the following lines would fail because hls_crypto_dep is not
yet set:
if not hls_crypto_dep.found() and ['auto', 'libgcrypt'].contains(hls_crypto)
if not hls_crypto_dep.found() and ['auto', 'openssl'].contains(hls_crypto)
Instead, change "if not hls_crypto_dep.found()" to "if not have_hls_crypto"
which fixes the error.
Sebastian Dröge [Tue, 21 May 2019 09:15:55 +0000 (12:15 +0300)]
webrtc: Add various Since markers to new types after 1.14.0
Jose Antonio Santos Cadenas [Tue, 14 May 2019 07:36:15 +0000 (07:36 +0000)]
dtlsagent: Do not overwrite openssl locking callbacks
Marcos Kintschner [Wed, 1 May 2019 00:25:12 +0000 (21:25 -0300)]
Fixed segtotal value being always 2 due to an unused variable
The 'MAX' expression used to set segtotal always returned 2 because
the unused and uninitialized variable buffer_frame_count was always 0