platform/upstream/gst-plugins-good.git
2 years agoSend seek event to baseparse when aacparse seek failed in push mode 84/269484/3 accepted/tizen_unified tizen accepted/tizen/unified/20220207.045137 submit/tizen/20220204.073655
Gilbok Lee [Mon, 17 Jan 2022 02:07:07 +0000 (11:07 +0900)]
Send seek event to baseparse when aacparse seek failed in push mode

Change-Id: Ifcbb545a3d68c110a5442db216ec23ead9a9ca26

2 years agoext/cairo: pack gstcairo plugin in default 98/268198/3
Inki Dae [Fri, 17 Dec 2021 02:57:50 +0000 (11:57 +0900)]
ext/cairo: pack gstcairo plugin in default

Native applications which use GStreamer API need gst cairo plugin
library to draw graphic primitives on Cairo surface. So pack gst cario
plugin library in default.

Change-Id: I152eb1407448794892942d9c77ebb1dce4f7d78a
Signed-off-by: Inki Dae <inki.dae@samsung.com>
2 years agopulsesink: Revise condition to set mute in the initial stage 83/266883/1 accepted/tizen/unified/20211123.020006 submit/tizen/20211122.082556
Sangchul Lee [Mon, 22 Nov 2021 04:49:39 +0000 (13:49 +0900)]
pulsesink: Revise condition to set mute in the initial stage

If gst_pulseringbuffer_acquire() is called after _release() due
to any reason (e.g. caps changes), mute was not applied properly
with the current value. It is now fixed.

Note that the condition is slightly changed from upstream codes
especially on the mute_set variable.

Change-Id: I7b81160d12f30fbf1e872212b051adafeb2c50aa
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agoqtdemux: Determine duration with reference to track header duration 79/265979/1 accepted/tizen/unified/20211109.042824 submit/tizen/20211108.033958
Gilbok Lee [Wed, 3 Nov 2021 06:30:32 +0000 (15:30 +0900)]
qtdemux: Determine duration with reference to track header duration

- The maximum value of the duration of each tkhd is decided with the total duration.

Change-Id: I8a88cd63ed58ce6677b70943d71ee5df8bfa2013

2 years ago[effectv] Enable effectv for Media Editing FW 84/265884/1 submit/tizen/20211102.002506
Haesu Gwon [Mon, 1 Nov 2021 08:28:54 +0000 (17:28 +0900)]
[effectv] Enable effectv for Media Editing FW

Change-Id: I8f0920bb96f3b93eb60f61052a54d5a0c80414ea

2 years agortpsource: Report for which local SSRC is a remote RB reporting on 75/262775/2 accepted/tizen/6.5/unified/20211029.013354 accepted/tizen/unified/20210826.014227 submit/tizen/20210824.072619 submit/tizen_6.5/20211028.163401 tizen_6.5.m2_release
Olivier Crête [Fri, 16 Oct 2020 01:42:40 +0000 (21:42 -0400)]
rtpsource: Report for which local SSRC is a remote RB reporting on

This is useful in the Bundle case because there may be multiple local
and remote SSRCs in the same session.

Change-Id: I069e36b0e16e5b0056fbfc7014d664846e25d442
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/776>

2 years agov4l2: Fix undefined reference error when libv4l2 is not used 96/262796/1 accepted/tizen/unified/20210823.124242 submit/tizen/20210820.045028
Jeongmo Yang [Fri, 20 Aug 2021 01:52:46 +0000 (10:52 +0900)]
v4l2: Fix undefined reference error when libv4l2 is not used

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

Change-Id: I5c70393cc6910cf5b7a0c87544376ea0b4ef497e
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agortpbin : Re-adding use-rtsp-buffering property removed by gstreamer update 94/262294/3 submit/tizen/20210806.055423
Hyunil [Fri, 6 Aug 2021 04:23:04 +0000 (13:23 +0900)]
rtpbin : Re-adding use-rtsp-buffering property removed by gstreamer update

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

Change-Id: I29c98700a8f9298af475d5d6b04b9aeb315fc84c
Signed-off-by: Hyunil <hyunil46.park@samsung.com>
2 years agov4l2videodec: Add ref/unref code to avoid crash 00/260700/1 accepted/tizen/unified/20210707.070822 submit/tizen/20210702.012922 submit/tizen/20210705.030138
Jeongmo Yang [Thu, 1 Jul 2021 08:06:46 +0000 (17:06 +0900)]
v4l2videodec: Add ref/unref code to avoid crash

- The crash could be occurred when a buffer from v4l2allocator is returned after the element is released.
- This patch prevents release of element until all buffers are returned.

[Version] 1.16.2-28
[Issue Type] Improvement

Change-Id: I5a17788254e30d0601bd6463f9b84c539f1815a6
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agogstvpxdec: Call vpx_img_free() after log message 88/260088/2 accepted/tizen/unified/20210621.123033 submit/tizen/20210618.084529
Sangchul Lee [Fri, 18 Jun 2021 08:29:51 +0000 (17:29 +0900)]
gstvpxdec: Call vpx_img_free() after log message

[Version] 1.16.2-27
[Issue Type] SVACE (DEREF_AFTER_FREE.EX)

Change-Id: Ia9c3626041e7cb6f49a95562f5ac0eb79bcdedcf
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agoApply __TIZEN__ definition in spec file 85/260085/1 submit/tizen/20210618.081844
Sangchul Lee [Fri, 18 Jun 2021 08:10:40 +0000 (17:10 +0900)]
Apply __TIZEN__ definition in spec file

[Version] 1.16.2-26
[Issue Type] Improvement

Change-Id: I916c260eac56c2e5e06266f08865aecf2e0a89c5
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agoRemove unused definition in spec file 54/259654/2 accepted/tizen/unified/20210616.132553 accepted/tizen/unified/20210618.120900 submit/tizen/20210611.061001 submit/tizen/20210615.230132
Sangchul Lee [Thu, 10 Jun 2021 11:02:23 +0000 (20:02 +0900)]
Remove unused definition in spec file

Change-Id: Icd89c1603e63e34ee459ce2b141821d70f0e3c17
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agortpstats: Casting with gfloat before division 36/258036/1 accepted/tizen/unified/20210608.130933 submit/tizen/20210607.082714
Sangchul Lee [Mon, 10 May 2021 00:44:06 +0000 (09:44 +0900)]
rtpstats: Casting with gfloat before division

[Version] 1.16.2-25
[Issue Type] SVACE (NO_CAST.INTEGER_DIVISION)

Change-Id: I5f37717e07a12746a4d20355e8058cdd327f206a
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agortpjitterbuffer: Check if item is not null before dereferencing it 35/258035/1
Sangchul Lee [Sun, 9 May 2021 23:51:09 +0000 (08:51 +0900)]
rtpjitterbuffer: Check if item is not null before dereferencing it

[Version] 1.16.2-24
[Issue Type] SVACE (DEREF_AFTER_NULL)

Change-Id: I595e4cd750b7a2f51ee66cbf9e37a17388f7437e
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
2 years agortp: Update codes based on 1.18.4 02/248402/4 accepted/tizen/unified/20210428.040408 submit/tizen/20210423.074026 submit/tizen/20210423.074051
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>
2 years agortpmanager: Update codes based on 1.18.4 01/248401/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 90/257090/1 accepted/tizen/unified/20210421.002300 submit/tizen/20210419.092717
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 79/254079/1 accepted/tizen/unified/20210225.130544 submit/tizen/20210224.020456
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 02/253602/1
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 97/253597/1
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 63/253263/2 accepted/tizen/unified/20210210.052227 submit/tizen/20210209.050024
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 02/253102/3
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 76/252676/1 accepted/tizen/unified/20210204.134615 submit/tizen/20210201.120533 submit/tizen/20210203.063117
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 58/252158/1 accepted/tizen/unified/20210127.024855 submit/tizen/20210125.065536 submit/tizen/20210126.070903
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 04/248104/13 accepted/tizen/unified/20201228.130117 submit/tizen/20201224.112819
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>
3 years agortpv8depay: Add property for waiting until the next keyframe after packet loss 95/246795/7 accepted/tizen/unified/20201224.151524 submit/tizen/20201110.045527 submit/tizen/20201223.091035
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>
3 years agoActivate plug-in for Gstreamer Editing Services 66/246466/4
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>
3 years ago[v4l2] Revice log for device open failure 53/246153/1 accepted/tizen/unified/20201028.123948 submit/tizen/20201026.104640
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>
3 years agov4l2: Support additional V4L2 CIDs 89/244789/2
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>
3 years agoavidemux: Fix coverity issue (Resource leak) 28/244128/1 accepted/tizen/6.0/unified/20201030.110342 accepted/tizen/6.0/unified/hotfix/20201102.233449 accepted/tizen/6.0/unified/hotfix/20201103.051021 accepted/tizen/unified/20200916.212652 submit/tizen/20200916.082856 submit/tizen_6.0/20201029.205502 submit/tizen_6.0_hotfix/20201102.192902 submit/tizen_6.0_hotfix/20201103.115102 tizen_6.0.m2_release
Gilbok Lee [Tue, 15 Sep 2020 07:29:40 +0000 (16:29 +0900)]
avidemux: Fix coverity issue (Resource leak)

Change-Id: I28674d2e37e814039506f08de96ae0f49b3cef25

3 years agoaacparse: Check aacparse seekable to byte, in the push mode 18/244018/4 accepted/tizen/unified/20200915.014518 submit/tizen/20200914.081919
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

3 years agov4l2src: Add new property for auto scan device feature 12/243012/5 accepted/tizen/unified/20200904.035426 submit/tizen/20200903.054554
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>
3 years agopulsesink: Unset missing stream callbacks 80/239980/1 accepted/tizen/unified/20200803.122153 submit/tizen/20200731.081305
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>
3 years agopulsesink: Add null check to fix crash 66/239966/1
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>
3 years agosouphttpsrc: Remove cookie_jar patch 33/238433/2 submit/tizen/20200728.023312
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

3 years agortspsrc: use use-rtsp-buffering property of rtpbin 25/234125/3 accepted/tizen/unified/20200723.161246 submit/tizen/20200713.061214 submit/tizen/20200722.045405
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>
3 years agoEnable VPx encoder/decoder 01/233901/4
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>
3 years agortpbin: Add use-rtsp-buffering property 28/234028/8
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>
3 years agortspsrc: increase plugin rank 27/233927/4
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 23/228623/2 accepted/tizen/unified/20200325.055653 submit/tizen/20200324.013709
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... submit/tizen/20200312.101118
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 61/227261/1 submit/tizen/20200311.075310
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... 89/225889/4
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 21/226021/1 accepted/tizen/unified/20200304.124009 submit/tizen/20200221.064623 submit/tizen/20200302.032418
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 92/225592/1
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 34/225234/1
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 33/224833/1 tizen_gst_1.16.2
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 03/224503/1 accepted/tizen/unified/20200213.121605 submit/tizen/20200211.080304
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 37/223037/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 upstream/1.16 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.

4 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

4 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

4 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.

4 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.

4 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

4 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

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

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

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

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

4 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.

4 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

4 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.

4 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)'

4 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.

4 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.

4 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

4 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

4 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

4 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

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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.

4 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

4 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.

4 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

4 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

4 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

4 years agosouphttpsrc: get seekable info from dlna op code 50/210250/3 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix tizen_5.5_tv accepted/tizen/5.5/unified/20191031.005754 accepted/tizen/5.5/unified/mobile/hotfix/20201027.062832 accepted/tizen/unified/20190729.081000 submit/tizen/20190723.041031 submit/tizen/20190725.100239 submit/tizen_5.5/20191031.000006 submit/tizen_5.5_mobile_hotfix/20201026.185106 tizen_5.5.m2_release
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

4 years agopulsesink: Apply individual volume ratio to volume/mute properties 55/205755/2 accepted/tizen/unified/20190513.082534 submit/tizen/20190510.023327
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>
4 years agopulseutil: Add API for setting volume ratio 14/205414/2
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>
4 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