platform/upstream/gstreamer.git
3 years agortp: Update codes based on 1.18.4
Sangchul Lee [Wed, 25 Nov 2020 09:44:39 +0000 (18:44 +0900)]
rtp: Update codes based on 1.18.4

Use #ifndef/#endif directives with TIZEN_FEATURE_GST_UPSTREAM_AVOID_BUILD_BREAK
to avoid build breaks from the gstreamer core not updated.
It can be removed when the gtreamer core is updated to 1.18 or higher version.

Change-Id: I2a3a7103fb74f2a7530f5696fef3a48bbbc23b0c
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agortpmanager: Update codes based on 1.18.4
Sangchul Lee [Wed, 25 Nov 2020 07:28:04 +0000 (16:28 +0900)]
rtpmanager: Update codes based on 1.18.4

Use #ifndef/#endif directives with TIZEN_FEATURE_GST_UPSTREAM_AVOID_BUILD_BREAK
to avoid build breaks from the gstreamer core not updated.
It can be removed when the gtreamer core is updated to 1.18 or higher version.

Change-Id: I8bb3b97922e3e1cb5231f246e4f54a781fe6ba3e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
3 years agov4l2videodec: Send flush buffer event when EOS
Jeongmo Yang [Mon, 19 Apr 2021 08:40:07 +0000 (17:40 +0900)]
v4l2videodec: Send flush buffer event when EOS

[Version] 1.16.2-23
[Issue Type] Update

Change-Id: Ie229782d32a7742aa3815f638b813a5a8c8a07fb
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years agov4l2videodec: Increase v4l2videodecoder rank
Gilbok Lee [Thu, 21 Jan 2021 07:41:21 +0000 (16:41 +0900)]
v4l2videodec: Increase v4l2videodecoder rank

Change-Id: I7184c9e504b1fb093eedc3c16172fb318ec35a8a
(cherry picked from commit a0de2b21c90b4adc3bc1db3b4c25116c41ba9a96)

3 years ago[v4l2src] Add new property for TBM output buffer
Jeongmo Yang [Tue, 16 Feb 2021 03:27:07 +0000 (12:27 +0900)]
[v4l2src] Add new property for TBM output buffer

[Version] 1.16.2-21
[Issue Type] Update

Change-Id: I09744dbaa07de04ae56e95cac234729dce3d2978
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years ago[v4l2] Change feature name
Jeongmo Yang [Tue, 16 Feb 2021 02:44:23 +0000 (11:44 +0900)]
[v4l2] Change feature name

As-is: TIZEN_FEATURE_TBM_SUPPORT_FOR_V4L2_DECODER
To-be: TIZEN_FEATURE_V4L2_TBM_SUPPORT

The TBM feature could be used in other V4L2 related plugins.

[Version] 1.16.2-20
[Issue Type] Update

Change-Id: Id013ee0657dd408a895b8e049ce61260b4e99fcf
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years ago[v4l2videodecoder] Post message for number of buffers
Jeongmo Yang [Mon, 8 Feb 2021 05:16:22 +0000 (14:16 +0900)]
[v4l2videodecoder] Post message for number of buffers

- Tizen media player framework refers it for buffer management.

[Version] 1.16.2-19
[Issue Type] Update

Change-Id: I5ff40fa7f5fccb3bee8742b4349bd32672ad0c80
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years ago[v4l2videodecoder] Add new property to enable TBM output buffer
Jeongmo Yang [Thu, 4 Feb 2021 11:28:42 +0000 (20:28 +0900)]
[v4l2videodecoder] Add new property to enable TBM output buffer

- In previous code, TBM output buffer was enabled for v4l2src plugin,
  and it caused unexpected error when it's used for camera.

[Version] 1.16.2-18
[Issue Type] Bug fix

Change-Id: Ia84f6f9bdb03567b380f263074af44dcc56810ab
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years ago[v4l2videodecoder] Fix memory leak
Jeongmo Yang [Mon, 25 Jan 2021 09:23:21 +0000 (18:23 +0900)]
[v4l2videodecoder] Fix memory leak

- Add code to free tizen buffer

[Version] 1.16.2-17
[Issue Type] Memory leak

Change-Id: I5935bb126564a5224ac946b1eb1f82e8d1c80e1e
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years agov4l2bufferpool: Only resurrect the right amount of buffers
Nicolas Dufresne [Fri, 26 Jun 2020 18:48:14 +0000 (14:48 -0400)]
v4l2bufferpool: Only resurrect the right amount of buffers

On streamon, we need to resurrect (queue back) some buffers, as during
flushign seek we'd endup with an empty queued. We initially started with
resurrecting as many as we could without blocking, but that miss-behaved with
dynamic CREATE_BUFS, causing the pool to grow dramatically. This was limited
by the number of allocated buffers, but this still tried to resurrect too many
buffers for the first run, as activating the pool will queued buffers.

In this patch, we calculte the missing detal in the queue and only try and
resurrect that amount of buffers.

Change-Id: I3257c66f4049c55fa714ed639eeb56053b805277
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651>
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
3 years ago[v4l2videodecoder] Support TBM for output buffer
Jeongmo Yang [Fri, 20 Nov 2020 12:10:23 +0000 (21:10 +0900)]
[v4l2videodecoder] Support TBM for output buffer

[Version] 1.16.2-15
[Issue Type] Update

Change-Id: I96aed003f684a4f49ca1806dabdaf09b02cf042d
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agortpv8depay: Add property for waiting until the next keyframe after packet loss
Hyunil [Wed, 4 Nov 2020 07:47:20 +0000 (16:47 +0900)]
rtpv8depay: Add property for waiting until the next keyframe after packet loss

[Version] 1.16.2-14
[Issue Type] Improvement

If VP8 is not encoded with error resilience enabled then any packet loss
causes very bad artefacts when decoding and waiting for the next
keyframe instead improves user experience considerably.

Patch is got from gstreamr upstream master branch
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/318/diffs?commit_id=f2a3bb7999cc36471849944b5e810f1ca3d57876

Change-Id: I14fa420bca71b8107fd456c6543b6ab4c1831049
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agoActivate plug-in for Gstreamer Editing Services
Minje Ahn [Fri, 30 Oct 2020 00:04:49 +0000 (09:04 +0900)]
Activate plug-in for Gstreamer Editing Services

Activation list:
 - libgstsmpte.so
 - libgstimagefreeze.so

Change-Id: I735c69dd8e80bdb8e24ee234c2a3d1369acd6184
Signed-off-by: Minje Ahn <minje.ahn@samsung.com>
4 years ago[v4l2] Revice log for device open failure
Jeongmo Yang [Mon, 26 Oct 2020 05:28:59 +0000 (14:28 +0900)]
[v4l2] Revice log for device open failure

[Version] 1.16.2-13
[Issue Type] Log

Change-Id: I0c82ae6cffdd48cac1476dad5208f1059025e778
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agov4l2: Support additional V4L2 CIDs
Jeongmo Yang [Thu, 24 Sep 2020 07:34:25 +0000 (16:34 +0900)]
v4l2: Support additional V4L2 CIDs

[https://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec/ch01s08.html]
- V4L2_CID_WHITE_BALANCE_TEMPERATURE
 : This control specifies the white balance settings as a color temperature in Kelvin.

[https://www.linuxtv.org/downloads/legacy/video4linux/API/V4L2_API/spec/ch01s09.html]
- V4L2_CID_EXPOSURE_AUTO
 : Enables automatic adjustments of the exposure time and/or iris aperture.
- V4L2_CID_EXPOSURE_ABSOLUTE
 : Determines the exposure time of the camera sensor
- V4L2_CID_EXPOSURE_AUTO_PRIORITY
 : When V4L2_CID_EXPOSURE_AUTO is set to AUTO or APERTURE_PRIORITY,
   this control determines if the device may dynamically vary the frame rate.

[Version] 1.16.2-12
[Issue Type] Update

Change-Id: Idab94bb29fdd36a62aaf2df025e2fd338f11c124
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agoavidemux: Fix coverity issue (Resource leak)
Gilbok Lee [Tue, 15 Sep 2020 07:29:40 +0000 (16:29 +0900)]
avidemux: Fix coverity issue (Resource leak)

Change-Id: I28674d2e37e814039506f08de96ae0f49b3cef25

4 years agoaacparse: Check aacparse seekable to byte, in the push mode
Gilbok Lee [Mon, 14 Sep 2020 06:09:33 +0000 (15:09 +0900)]
aacparse: Check aacparse seekable to byte, in the push mode

Change-Id: If8f66f71b562b03c7faa412724f299c516c9106b

4 years agov4l2src: Add new property for auto scan device feature
Jeongmo Yang [Wed, 2 Sep 2020 11:17:53 +0000 (20:17 +0900)]
v4l2src: Add new property for auto scan device feature

[Version] 1.16.2-9
[Issue Type] Update

Change-Id: I81d2ee3b62a99ffe55d44c06d4c589ae5e0a8a31
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agopulsesink: Unset missing stream callbacks
Sangchul Lee [Fri, 31 Jul 2020 07:50:06 +0000 (16:50 +0900)]
pulsesink: Unset missing stream callbacks

[Version] 1.16.2-8
[Issue Type] Improvement

Change-Id: I733c8c3cdc3f0563848081cac85f97b1db77ea75
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agopulsesink: Add null check to fix crash
Sangchul Lee [Fri, 31 Jul 2020 05:42:49 +0000 (14:42 +0900)]
pulsesink: Add null check to fix crash

[Version] 1.16.2-7
[Issue Type] Bug fix

Change-Id: I533716bd1d22a245ec709219b3df6572f4a3abdc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agosouphttpsrc: Remove cookie_jar patch
Gilbok Lee [Tue, 14 Jul 2020 02:04:32 +0000 (11:04 +0900)]
souphttpsrc: Remove cookie_jar patch

- Cookie jar patch is no longer necessary due to the patch below.
  souphttpsrc: Implement soup session sharing
  souphttpsrc: Use a in-memory cookie jar by default in sessions we created

Change-Id: I47d9adea66f994e235f80938985ce43f281bb487

4 years agortspsrc: use use-rtsp-buffering property of rtpbin
Hyunil [Fri, 22 May 2020 05:20:25 +0000 (14:20 +0900)]
rtspsrc: use use-rtsp-buffering property of rtpbin

- rtpbin working is same with old version if this property set

Change-Id: Iae2ae283bfcf0c455f3503de9617dadd5546d679
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agoEnable VPx encoder/decoder
Sangchul Lee [Wed, 20 May 2020 07:32:56 +0000 (16:32 +0900)]
Enable VPx encoder/decoder

Plugins are included as below
 vp8dec: On2 VP8 Decoder
 vp8enc: On2 VP8 Encoder
 vp9dec: On2 VP9 Decoder
 vp9enc: On2 VP9 Encoder

[Version] 1.16.2-4
[Issue Type] Update

Change-Id: I80655315bc3f647db9970d5cb11693fa515ebc57
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agortpbin: Add use-rtsp-buffering property
Hyunil [Thu, 21 May 2020 07:04:34 +0000 (16:04 +0900)]
rtpbin: Add use-rtsp-buffering property

Change-Id: Ia250c1ca60bc66c12b30b6cab064185f3c457016
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years agortspsrc: increase plugin rank
Hyunil [Wed, 20 May 2020 09:40:50 +0000 (18:40 +0900)]
rtspsrc: increase plugin rank

- to use rtspsrc when autoplugging in player decodebin3

Change-Id: If276b37fbc54170c2fbc172b84296f5a60a6c66f
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
4 years ago[v4l2src] Enable libv4l2 to use emulated format
Jeongmo Yang [Tue, 24 Mar 2020 07:22:44 +0000 (16:22 +0900)]
[v4l2src] Enable libv4l2 to use emulated format

- libv4l2 was disabled as default since 1.14.
- libv4l2 can be enabled by run-time environment value(GST_V4L2_USE_LIBV4L2=1).
- This patch always enables libv4l2 with tizen feature
  and GST_V4L2_USE_LIBV4L2 will be ignored in run-time.

[Version] 1.16.2-1
[Profile] Common
[Issue Type] Update

Change-Id: I9588f455dd7df12f51766a5446971f3583368ba6
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
4 years agoMerge "pulsesink: Add property to apply render delay automatically based on the laten...
Sangchul Lee [Thu, 12 Mar 2020 09:33:06 +0000 (09:33 +0000)]
Merge "pulsesink: Add property to apply render delay automatically based on the latency change" into tizen

4 years agov4l2: disable v4l2 device probing
Gilbok Lee [Wed, 11 Mar 2020 04:20:06 +0000 (13:20 +0900)]
v4l2: disable v4l2 device probing

Change-Id: I61f81c8afbcc6649100b282a834ff849787f1a85

4 years agopulsesink: Add property to apply render delay automatically based on the latency...
Sangchul Lee [Tue, 25 Feb 2020 07:26:05 +0000 (16:26 +0900)]
pulsesink: Add property to apply render delay automatically based on the latency change

Change-Id: I496fca57bc627a3e09170ba32c9b50bccbc00cc9
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
4 years agov4l2video: decrease plugin rank
Eunhye Choi [Wed, 26 Feb 2020 07:06:27 +0000 (16:06 +0900)]
v4l2video: decrease plugin rank

- set primary rank to v4l2 video decoder
  prev commit : a3d33c9390cd87827dea563dca0b211142506ae4
- and set secondary rank to v4l2 video encoder

Change-Id: I0ecb91d2310b669d1ed415cb1ccd8a00ca73c973

4 years agoMerge branch 'tizen_gst_1.16.2' into tizen
Gilbok Lee [Fri, 21 Feb 2020 06:23:12 +0000 (15:23 +0900)]
Merge branch 'tizen_gst_1.16.2' into tizen

Change-Id: I923f7b41cac2359f26abb9606122d05115ac14ad

4 years agoaacparse: Add codec_data in caps, even if stream-format is adts
Gilbok Lee [Tue, 18 Feb 2020 05:07:03 +0000 (14:07 +0900)]
aacparse: Add codec_data in caps, even if stream-format is adts

- Some decoder need to codec_data, even if stream-format is adts

Change-Id: Iec0c25b109c96b260141928f7730eb41797c2e91
(cherry picked from commit eb3e279f28434ba6a94bd24a745dca902d74163e)

4 years agoqtdemux: Fix the problem that framerate don't include in caps
Gilbok Lee [Thu, 13 Feb 2020 08:57:55 +0000 (17:57 +0900)]
qtdemux: Fix the problem that framerate don't include in caps

Change-Id: I64a76d43cfdff7f8bb39349b5ffcc6d6e6fd67c5

4 years agosouphttpsrc: fix coverity issue
Eunhye Choi [Tue, 11 Feb 2020 06:30:34 +0000 (15:30 +0900)]
souphttpsrc: fix coverity issue

Change-Id: If2e63b989241207cfbf4277c5d5aed1653e5b6ed

4 years agoMerge branch 'upstream/1.16' into tizen_gst_1.16.2
Gilbok Lee [Tue, 21 Jan 2020 07:22:33 +0000 (16:22 +0900)]
Merge branch 'upstream/1.16' into tizen_gst_1.16.2

Change-Id: I8a42e721d93e6078a99c82aa1587b5aead6ea27d

4 years agoRelease 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:06:36 +0000 (11:06 +0000)]
Release 1.16.2

4 years agoUpdate docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:06:35 +0000 (11:06 +0000)]
Update docs

4 years agoUpdate translations
Tim-Philipp Müller [Tue, 3 Dec 2019 11:06:34 +0000 (11:06 +0000)]
Update translations

4 years agortpL16depay: don't crash if data is not modulo channels*width
Havard Graff [Wed, 30 Nov 2016 14:55:01 +0000 (15:55 +0100)]
rtpL16depay: don't crash if data is not modulo channels*width

4 years agovp9dec: Fix broken 4:4:4 8bits decoding
Seungha Yang [Fri, 29 Nov 2019 11:46:26 +0000 (20:46 +0900)]
vp9dec: Fix broken 4:4:4 8bits decoding

VPX_IMG_FMT_I444 pixel format with sRGB colorspace means
GBR data.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/651

4 years agortpsession: add locking for clear-pt-map
Havard Graff [Fri, 29 Nov 2019 13:23:49 +0000 (14:23 +0100)]
rtpsession: add locking for clear-pt-map

...or it will segfault from time to time...

4 years agowavparse: Fix push mode ignoring audio with a size smaller than segment buffer
Amr Mahdi [Mon, 19 Aug 2019 07:30:17 +0000 (07:30 +0000)]
wavparse: Fix push mode ignoring audio with a size smaller than segment buffer

In push mode (streaming), if the audio size is smaller than segment buffer size, it would be ignored.
This happens because when the plugin receives an EOS signal while a single audio chunk that is less than the segment buffer size is buffered, it does not
flush this chunk. The fix is to flush the data chunk when it receives an EOS signal and has a single (first) chunk buffered.

How to reproduce:
1. Run gst-launch with tcp source
```
gst-launch-1.0  tcpserversrc port=3000 !  wavparse ignore-length=0 ! audioconvert ! filesink location=bug.wav
```
2. Send a wav file with unspecified data chunk length (0). Attached a test file
```
cat test.wav | nc localhost 3000
```
3. Compare the length of the source file and output file
```
ls -l test.wav bug.wav
-rw-rw-r-- 1 amr amr    0 Aug 15 11:07 bug.wav
-rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
```

The expected length of the result of the gst-lauch pipeline should be the same as the test file minus the headers (44), which is ```3564 - 44 = 3520``` but the actual output length is ```0```

After the fix:
```
ls -l test.wav fix.wav
-rw-rw-r-- 1 amr amr 3520 Aug 15 11:09 fix.wav
-rwxrwxr-x 1 amr amr 3564 Aug 15 11:06 test.wav
```

4 years agowavparse: Fix ignoring of last chunk in push mode
Amr Mahdi [Wed, 7 Aug 2019 12:09:46 +0000 (12:09 +0000)]
wavparse: Fix ignoring of last chunk in push mode

In push mode (streaming), if the last audio payload chunk is less than the segment rate buffer size, it would be ignored since the plugin waits until it has at least segment rate bufer size of audio.

The fix is to introduce a flushing flag that indicates that no more audio will be available so that the plugin can recognize this condition and flush the data is has even if it is less
than the desired segment rate buffer size.

4 years agov4l2bufferpool: Queue number of allocated buffers to capture
Nicolas Dufresne [Wed, 17 Oct 2018 02:28:13 +0000 (02:28 +0000)]
v4l2bufferpool: Queue number of allocated buffers to capture

Before we do streamon, we queue all capture buffers by calling
resurrect. When the driver supports CREATE_BUFS, this would lead
to buffers being allocated till the maximum of 32 is reached.

Instead, we now save the number of allocated buffers and queue this
amount.

4 years agov4l2object: Workaround bad TRY_FMT colorimetry implementation
Nicolas Dufresne [Mon, 18 Nov 2019 18:27:42 +0000 (13:27 -0500)]
v4l2object: Workaround bad TRY_FMT colorimetry implementation

libv4l2 reset the colorpace to 0 and does not do any request to the
driver. This yields an invalid colorspace which currently cause a
negotiation failure. This workaround by ignoring bad values during the
TRY_FMT step.

4 years agoaacparse: fix wrong offset of adts channel
aogun [Mon, 4 Nov 2019 09:18:30 +0000 (17:18 +0800)]
aacparse: fix wrong offset of adts channel

4 years agojpegdec: Fix incorrect logic in EOI tag detection
Scott Kanowitz [Thu, 12 Sep 2019 19:21:24 +0000 (15:21 -0400)]
jpegdec: Fix incorrect logic in EOI tag detection

This change fixes the reversed logic in the EOI tag detection
code.

5 years agovideocrop: Also update the coordinate when in-place
Nicolas Dufresne [Tue, 12 Nov 2019 22:28:22 +0000 (17:28 -0500)]
videocrop: Also update the coordinate when in-place

This update is needed when the output caps is not changed (e.g. we are
moving a viewport around).

Fixes #669

5 years agovpx: Error out if enabled and no features found
Nirbheek Chauhan [Tue, 5 Nov 2019 16:11:55 +0000 (21:41 +0530)]
vpx: Error out if enabled and no features found

See: https://gitlab.freedesktop.org/gstreamer/cerbero/issues/200

5 years agojpegdec: don't overwrite the last valid line
Michael Olbrich [Wed, 7 Nov 2018 08:00:02 +0000 (09:00 +0100)]
jpegdec: don't overwrite the last valid line

If the the height is not a multiple of the macro block size then the memory
of the last line is reused for all extra lines. This is no problem if the
last line is duplicated properly. However, if the extra lines are not
initialized properly during encoding, then the last visible line is
overwritten with undefined data.
Use a extra buffer to avoid this problem.

5 years agov4l2videodec: ensure pool exists before orphaning it
James Cowgill [Tue, 29 Oct 2019 14:05:48 +0000 (14:05 +0000)]
v4l2videodec: ensure pool exists before orphaning it

In commit e2ff87732d0b ("v4l2videodec: support orphaning") support for
orphaning the capture buffer pool was added when the format is
renegotiated. However, the commit forgot to check that a pool existed
before doing this. This is needed because it's possible for the format
to be renegotiated before a capture pool is allocated, which would
result in trying to orphan a NULL pool and lead to a NULL pointer
dereference.

Fix this by checking a pool exists first. If the pool doesn't exist,
there are no buffers to be reclaimed, so skip the allocation query in
that case.

5 years agois a typo here? gstv4l2object.c
HuQian [Wed, 25 Sep 2019 12:36:32 +0000 (12:36 +0000)]
is a typo here? gstv4l2object.c

5 years agov4l2videoenc: fix wrong type cast
Tim-Philipp Müller [Sun, 13 Oct 2019 11:46:58 +0000 (12:46 +0100)]
v4l2videoenc: fix wrong type cast

Follow-up to commit 1b752c0f !361

5 years agov4l2videoenc: fix type conversion errors
Fuwei Tang [Fri, 11 Oct 2019 02:33:20 +0000 (10:33 +0800)]
v4l2videoenc: fix type conversion errors

5 years agoRelease 1.16.1
Tim-Philipp Müller [Mon, 23 Sep 2019 10:09:38 +0000 (11:09 +0100)]
Release 1.16.1

5 years agoUpdate docs
Tim-Philipp Müller [Mon, 23 Sep 2019 10:09:38 +0000 (11:09 +0100)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Mon, 23 Sep 2019 10:09:37 +0000 (11:09 +0100)]
Update translations

5 years agoalpha: Fix one_over_kc calculation
Doug Nazar [Mon, 9 Sep 2019 00:43:17 +0000 (20:43 -0400)]
alpha: Fix one_over_kc calculation

On arm/aarch64, converting from float directly to unsigned int uses
a different opcode and negative numbers result in 0. Cast to
signed int first.

5 years agovalgrind: suppress Cond error coming from gnutls
Mathieu Duponchelle [Wed, 7 Aug 2019 22:29:25 +0000 (18:29 -0400)]
valgrind: suppress Cond error coming from gnutls

taken from https://salsa.debian.org/debian/flatpak/commit/fb4a8dda211c4bc036781f2b0d706266e95ce068

5 years agosupp: Ignore leaks caused by shout/sethostent
Nicolas Dufresne [Tue, 4 Jun 2019 17:39:00 +0000 (13:39 -0400)]
supp: Ignore leaks caused by shout/sethostent

sethostent() seems to be using a global state and we endup with leaks from
that API when called through shout_init(). We had the option to only
ignore the shout case, but the impression is that if we have shout and
another sethostend user, as it's a global state, we may endup with a
different stack trace for the same leak. So in the end, we just ignore
memory allocated by sethostent in general.

5 years agosouphttpsrc: Fix incompatible type build warning
Seungha Yang [Wed, 21 Aug 2019 15:18:51 +0000 (00:18 +0900)]
souphttpsrc: Fix incompatible type build warning

gstsouphttpsrc.c(2191): warning C4133:
  '=': incompatible types - from 'guint (__cdecl *)(GType)' to 'GstURIType (__cdecl *)(GType)'

5 years agortpjitterbuffer: max-dropout-time gets cast to int32
Olivier Crête [Fri, 24 May 2019 14:31:39 +0000 (10:31 -0400)]
rtpjitterbuffer: max-dropout-time gets cast to int32

So any value over MAXINT32 gets considered as negative and is silently ignored.

5 years agortpjitterbuffer: Clear clock master before unreffing
Jan Schmidt [Fri, 14 Jun 2019 16:00:43 +0000 (02:00 +1000)]
rtpjitterbuffer: Clear clock master before unreffing

Make sure to clear any master clock on the media_clock
before unreffing it to release the timer callback that's
updating the clock and keeping it reffed.

5 years agoqtdemux: Use empty-array safe way to cleanup GPtrArray
Seungha Yang [Thu, 1 Aug 2019 06:02:23 +0000 (15:02 +0900)]
qtdemux: Use empty-array safe way to cleanup GPtrArray

Fix assertion fail
GLib-CRITICAL **: g_ptr_array_remove_range: assertion 'index_ < rarray->len' failed

5 years agov4l2: Fix type compatibility issue with glibc 2.30
Nicolas Dufresne [Wed, 7 Aug 2019 02:27:40 +0000 (22:27 -0400)]
v4l2: Fix type compatibility issue with glibc 2.30

From now on, we will use linux/types.h on Linux, and use typedef of the
various flavour of BSD.

Fixes #635

5 years agortpfunnel: forward correct segment when switching pad
Mathieu Duponchelle [Wed, 31 Jul 2019 19:55:16 +0000 (21:55 +0200)]
rtpfunnel: forward correct segment when switching pad

Forwarding a single segment event from the pad that first gets
chained is incorrect: when that first event was sent by an element
such as x264enc, with its offset start, we end pushing out of segment
buffers for the other pad(s).

Instead, everytime the active pad changes, forward the appropriate
segment event.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/1028

5 years agogtkglsink: fix crash when widget is resized after element destruction
Guillaume Desmottes [Thu, 25 Jul 2019 15:51:26 +0000 (21:21 +0530)]
gtkglsink: fix crash when widget is resized after element destruction

Prevent _size_changed_cb() to be called after gtkglsink has been finalized.

Fix #632

5 years agojpegdec: Don't dereference NULL input state if we have no caps in TIME segments
Sebastian Dröge [Thu, 25 Jul 2019 12:08:54 +0000 (15:08 +0300)]
jpegdec: Don't dereference NULL input state if we have no caps in TIME segments

Simply assume that the JPEG frame is not going to be interlaced instead
of crashing.

5 years agortp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps.
Knut Andre Tidemann [Mon, 22 Jul 2019 08:28:50 +0000 (10:28 +0200)]
rtp: opuspay: fix memory leak in gst_rtp_opus_pay_setcaps.

The src caps were never dereferenced, causing a memory leak.

5 years agov4l2videodec: Fix drain() function return type
Song Bing [Wed, 13 Jun 2018 21:55:29 +0000 (14:55 -0700)]
v4l2videodec: Fix drain() function return type

Return right type for drain() function.

5 years agortpssrcdemux: Avoid taking streamlock out-of-band
Nicolas Dufresne [Tue, 21 May 2019 19:25:03 +0000 (15:25 -0400)]
rtpssrcdemux: Avoid taking streamlock out-of-band

In this change we now protect the internal srcpads list using the
stream lock and limit usage of the internal stream lock to
preventing data flowing on the other src pad type while creating
and signalling the new pad.

This fixes a deadlock with RTPBin shutdown lock. These two locks would
end up being taken in two different order, which caused a deadlock. More
generally, we should not rely on a streamlock when handling out-of-band
data, so as a side effect, we should not take a stream lock when
iterating internal links.

5 years agov4l2bufferpool: return TRUE when buffer pool orphaning succeeds
Damian Hobson-Garcia [Thu, 30 May 2019 02:13:07 +0000 (11:13 +0900)]
v4l2bufferpool: return TRUE when buffer pool orphaning succeeds

When trying to orphan a buffer pool, successfully return and unref
the pool when the pool is either successfully stopped or orphaned.
Indicate failure and leave the pool untouched otherwise.

5 years agov4l2bufferpool: Free orphaned allocator resources when buffers are released
Damian Hobson-Garcia [Thu, 30 May 2019 04:12:31 +0000 (13:12 +0900)]
v4l2bufferpool: Free orphaned allocator resources when buffers are released

Allocator resources cannot be freed when a buffer pool is orphaned
while its buffers are in use. They should, however, be freed once those
buffers are no longer needed. This patch disposes of any buffers
belonging to an orphaned pool as they are released, and makes sure
that the allocator is cleaned up when the last buffer is returned.

5 years agov4l2object: Orphan buffer pool on object_stop if supported
Damian Hobson-Garcia [Mon, 27 May 2019 09:08:54 +0000 (18:08 +0900)]
v4l2object: Orphan buffer pool on object_stop if supported

Use V4L2 buffer orphaning, on recent kernels so that
the device can be restarted immediately with
a new buffer pool during renogatiation.

5 years agosplitmuxsink: Only set running time on finalizing sink element when in async-finalize...
Sebastian Dröge [Wed, 22 May 2019 15:06:04 +0000 (18:06 +0300)]
splitmuxsink: Only set running time on finalizing sink element when in async-finalize mode

There is only a single sink element in async-finalize mode, and we would
keep the running time from previous fragments set in that case. As we
don't ever set the running time for the very last fragment on EOS, this
would mean that the closing time reported for the very last fragment is
the same as the closing time of the previous fragment.

5 years agortpsession: Always keep at least one NACK on early RTCP
Nicolas Dufresne [Tue, 14 May 2019 21:36:14 +0000 (17:36 -0400)]
rtpsession: Always keep at least one NACK on early RTCP

We recently added code to remove outdate NACK to avoid using bandwidth
for packet that have no chance of arriving on time. Though, this had a
side effect, which is that it was to get an early RTCP packet with no
feedback into it. This was pretty useless but also had a side effect,
which is that the RTX RTT value would never be updated. So we we stared
having late RTX request due to high RTT, we'd never manage to recover.

This fixes the regression by making sure we keep at least one NACK in
this situation. This is really light on the bandwidth and allow for
quick recover after the RTT have spiked higher then the jitterbuffer
capacity.

5 years agortpsession: Call on-new-ssrc earlier
Nicolas Dufresne [Wed, 24 Apr 2019 17:47:54 +0000 (13:47 -0400)]
rtpsession: Call on-new-ssrc earlier

Right now, we may call on-new-ssrc after we have processed the first
RTP packet. This prevents properly configuring the source as some
property like "probation" are copied internally for use as a
decreasing counter. For this specific property, it prevents the
application from disabling probation on auxiliary sparse stream.

Probation is harmful on sparse streams since the probation algorithm
assume frequent and contiguous RTP packets.

5 years agortpsource: Add more information to probation warning
Nicolas Dufresne [Wed, 24 Apr 2019 17:54:12 +0000 (13:54 -0400)]
rtpsource: Add more information to probation warning

5 years agortspsrc: do not try to send EOS with invalid seqnum
Thiago Santos [Fri, 3 May 2019 05:14:35 +0000 (22:14 -0700)]
rtspsrc: do not try to send EOS with invalid seqnum

The second udpsrc (rtcp) might not have seen the segment event if it was
not enabled or if rtcp is not available on the server. So if the
application tries to send an EOS event it will try to set an invalid
seqnum to the event.

5 years agortprawdepay: Don't get rid of the buffer pool on FLUSH_STOP
Sebastian Dröge [Wed, 1 May 2019 07:00:51 +0000 (10:00 +0300)]
rtprawdepay: Don't get rid of the buffer pool on FLUSH_STOP

We expect there to be a pool as long as the caps are known and
FLUSH_STOP is not resetting the caps. Getting rid of the pool would
cause assertions.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/584

5 years agortpbin: Free storage when freeing session
Danny Smith [Fri, 8 Feb 2019 09:09:17 +0000 (10:09 +0100)]
rtpbin: Free storage when freeing session

5 years agoscaletempo: Advertise interleaved layout in caps templates
Philippe Normand [Tue, 23 Apr 2019 09:10:01 +0000 (10:10 +0100)]
scaletempo: Advertise interleaved layout in caps templates

Scaletempo doesn't support non-interleaved layout. Not explicitely stating this
would trigger critical warnings and a caps negotiation failure when scaletempo
is used as playbin audio-filter.

Patch suggested by George Kiagiadakis <george.kiagiadakis@collabora.com>.

Fixes #591

5 years agosouphttpsrc: get seekable info from dlna op code
Eunhye Choi [Wed, 17 Jul 2019 07:34:28 +0000 (16:34 +0900)]
souphttpsrc: get seekable info from dlna op code

- get seekable info from dlna op code to support
  seek operation regardless of the server response code.

Change-Id: Ica14f9bed5d3121ca8cca3179ea97a7314d2d8c6

5 years agopulsesink: Apply individual volume ratio to volume/mute properties
Sangchul Lee [Thu, 9 May 2019 03:35:59 +0000 (12:35 +0900)]
pulsesink: Apply individual volume ratio to volume/mute properties

It relates to the commit below.
 - 82a861316c7d53940a4ba5c5ea6b80e4e9b2fbb0
 - pulseutil: Add API for setting volume ratio

Change-Id: I376d2049e63c01cfe8e25d4e1d68786045cce8fc
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agopulseutil: Add API for setting volume ratio
Sangchul Lee [Fri, 3 May 2019 02:58:14 +0000 (11:58 +0900)]
pulseutil: Add API for setting volume ratio

In Tizen, a stream has one volume type such as media, notification,
alarm. Each type is so-called volume group which has its own volume
value of a certain volume level. It is managed on the Tizen policy
module of the PulseAudio. That's why the player framework has been
using volume element instead of volume property of gstpulsesink of
the pipeline to set individual volume of the stream itself.

Here we add a function to set volume ratio for the individual volume
value via the policy module of the PulseAudio which can be with the
volume group concept.

Change-Id: I6b2cf8d4814a01970e425a4dd25b49aa883ee7e1
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
5 years agoci: use template from 1.16 branch
Tim-Philipp Müller [Thu, 2 May 2019 11:35:21 +0000 (12:35 +0100)]
ci: use template from 1.16 branch

5 years agoRelease 1.16.0
Tim-Philipp Müller [Thu, 18 Apr 2019 23:23:16 +0000 (00:23 +0100)]
Release 1.16.0

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 18 Apr 2019 23:23:16 +0000 (00:23 +0100)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Thu, 18 Apr 2019 23:23:14 +0000 (00:23 +0100)]
Update translations

5 years agoqmlglsink: fix compilation with Qt >= 5.5 on Windows
Benjamin Sigonneau [Thu, 18 Apr 2019 15:14:18 +0000 (17:14 +0200)]
qmlglsink: fix compilation with Qt >= 5.5 on Windows

As of Qt >= 5.5, qmake do not link to opengl32 by default anymore. This commit adds opengl32.lib to the .pro
file so that the plugin can be build using QtCreator on Windows.

5 years agomeson: Build qt plugin in C++11 mode explicitly
Nirbheek Chauhan [Wed, 17 Apr 2019 10:18:26 +0000 (15:48 +0530)]
meson: Build qt plugin in C++11 mode explicitly

This works implicitly most of the time, but we need to set it
explicitly for building with Android.

5 years agov4l2: fix use after free when handling events
Guillaume Desmottes [Tue, 16 Apr 2019 09:05:06 +0000 (14:35 +0530)]
v4l2: fix use after free when handling events

The sink_event parent function may consume the event so we shouldn't use
it after having calling it.

5 years agoRelease 1.15.90
Tim-Philipp Müller [Wed, 10 Apr 2019 23:26:58 +0000 (00:26 +0100)]
Release 1.15.90

5 years agoUpdate docs
Tim-Philipp Müller [Wed, 10 Apr 2019 23:26:58 +0000 (00:26 +0100)]
Update docs

5 years agortpulpfecdec,enc: unbreak plugin gtk-doc build in autotools
Tim-Philipp Müller [Tue, 9 Apr 2019 22:51:22 +0000 (23:51 +0100)]
rtpulpfecdec,enc: unbreak plugin gtk-doc build in autotools

Fix doc chunks to not use that syntax for links that have the
url as description, it will be put verbatim into the xml/*.xml
file and then the expat parser will throw a syntax error like:

  File "../../common/mangle-db.py", line 71, in <module>
    main()
  File "../../common/mangle-db.py", line 69, in main
    patch (details.replace("-details", ""), os.path.basename(details))
  File "../../common/mangle-db.py", line 20, in patch
    doc = xml.dom.minidom.parse(related)
  File "/usr/lib/python2.7/xml/dom/minidom.py", line 1918, in parse
    return expatbuilder.parse(file)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 924, in parse
    result = builder.parseFile(fp)
  File "/usr/lib/python2.7/xml/dom/expatbuilder.py", line 207, in parseFile
    parser.Parse(buffer, 0)
xml.parsers.expat.ExpatError: not well-formed (invalid token): line 84, column 7

5 years agortpvrawpay: preserve GST_BUFFER_FLAG_DISCONT on the first outputted buffer
Antonio Ospite [Mon, 8 Apr 2019 09:35:34 +0000 (11:35 +0200)]
rtpvrawpay: preserve GST_BUFFER_FLAG_DISCONT on the first outputted buffer

If the incoming frame buffer has GST_BUFFER_FLAG_DISCONT set this should
be preserved and set for the first output buffer too, like other
payloaders do.

Spotted with gst-validate-1.0 when adding integration tests for
rtpsession, a minimal test to reproduce the issue is:

$ gst-validate-1.0 videotestsrc num-buffers=1 ! rtpvrawpay ! identity ! fakesink
Starting pipeline
Pipeline started
   warning : Buffer didn't have expected DISCONT flag333 speed: 1.000000 />
             Detected on <identity0:sink>
             Detected on <identity0:src>
             Detected on <fakesink0:sink>
             Description : Buffers after SEGMENT and FLUSH must have a DISCONT flag

Issues found: 1

=======> Test PASSED (Return value: 0)

5 years agortpulpfec*: Replace github URIs with gitlab.fdo ones
Olivier Crête [Fri, 22 Mar 2019 16:42:14 +0000 (12:42 -0400)]
rtpulpfec*: Replace github URIs with gitlab.fdo ones

5 years agortpred*: Add example pipelines
Olivier Crête [Thu, 21 Mar 2019 21:01:11 +0000 (17:01 -0400)]
rtpred*: Add example pipelines

5 years agortpulpfec*: Improve documentation
Olivier Crête [Thu, 21 Mar 2019 20:48:37 +0000 (16:48 -0400)]
rtpulpfec*: Improve documentation

5 years agortpstorage + rtpulpfecdec: Get the storage using a query as fallback
Olivier Crête [Wed, 20 Mar 2019 22:31:48 +0000 (18:31 -0400)]
rtpstorage + rtpulpfecdec: Get the storage using a query as fallback

This allows it to be used using gst-launch for easier testing.