platform/upstream/gst-plugins-bad.git
2 years agowebrtcbin: Call nice_debug_enable() to enable nice debug 14/282314/1 accepted/tizen_6.0_unified tizen_6.0 accepted/tizen/6.0/unified/20221003.125705 submit/tizen_6.0/20220930.063730 submit/tizen_6.0/20221001.125156
YoungHun Kim [Thu, 12 Aug 2021 06:15:21 +0000 (15:15 +0900)]
webrtcbin: Call nice_debug_enable() to enable nice debug

[Version] 1.16.2-22
[Issue Type] Improvement

Change-Id: Ibdb502e357bbe099703dbdff743980d9f1799eb7

3 years agohlsdemux: after update playlist, setup streams if current variant changes 87/273387/2 accepted/tizen/6.0/unified/20220406.134212 submit/tizen_6.0/20220405.092157
Gilbok Lee [Tue, 5 Apr 2022 07:03:05 +0000 (16:03 +0900)]
hlsdemux: after update playlist, setup streams if current variant changes

- If the playlist update fails, the main playlist is downloaded newly
  At this time, a new playlist is created and the previous playlist isn't updated.

Change-Id: I567f3880d047e959d21bfccfea4e1ca4cd9deb71

3 years agohlsdemux: Reset m3u8 sequence when fail three times to get next fragment 68/269068/1 accepted/tizen/6.0/unified/20220118.123645 submit/tizen_6.0/20220112.051846 submit/tizen_6.0/20220117.073131
Gilbok Lee [Thu, 6 Jan 2022 05:21:25 +0000 (14:21 +0900)]
hlsdemux: Reset m3u8 sequence when fail three times to get next fragment

- When media sequence of m3u8 decreases on live stream, fail to get next fragment

Change-Id: Iaae7ba7cf3439fcca5155e9cc7f3a1a95e85909e

3 years agohlsdemux: update segment with valid pos info 17/268217/1 accepted/tizen/6.0/unified/20211221.135048 submit/tizen_6.0/20211217.074716
Eunhye Choi [Fri, 17 Dec 2021 05:48:35 +0000 (14:48 +0900)]
hlsdemux: update segment with valid pos info

- add checking stream type to update segment position
- vtt stream is not proper to construct segment

Change-Id: Ibbdd91c6d75573afd708dc210dac20286290c3be

3 years agompegtsdemux: activate new stream when program update 07/267307/1 accepted/tizen/6.0/unified/20211206.014118 submit/tizen_6.0/20211201.073959 submit/tizen_6.0/20211202.011104
Gilbok Lee [Wed, 1 Dec 2021 04:55:42 +0000 (13:55 +0900)]
mpegtsdemux: activate new stream when program update

Change-Id: If8f299f90e181d47579f143e9671d488f0b2dbe6

3 years agohlsdemux: fix block issue if webvtt data is empty 84/267284/1
Eunhye Choi [Mon, 29 Nov 2021 07:09:19 +0000 (16:09 +0900)]
hlsdemux: fix block issue if webvtt data is empty

- send webvtt dummy buffer to avoid block and
  expose all the hlsdemux pad normally

Change-Id: I5ff48c4498752353ca4fd985a73df0c9bbe914f2

3 years agohlsdemux: set discont. only at start fragment 69/266869/1 accepted/tizen/6.0/unified/20211123.143550 submit/tizen_6.0/20211122.030839
Eunhye Choi [Sat, 20 Nov 2021 05:45:31 +0000 (14:45 +0900)]
hlsdemux: set discont. only at start fragment

- discont have to be set in case of start fragment
  to update pts correctly.

Change-Id: I482dd48012b8dc76d54e97b91e83b3083ad81d5b

3 years agotsdemux: update pmt info 31/266731/1 accepted/tizen/6.0/unified/20211119.062803 submit/tizen_6.0/20211118.033710 submit/tizen_6.0/20211118.094933
Eunhye Choi [Wed, 17 Nov 2021 12:00:30 +0000 (21:00 +0900)]
tsdemux: update pmt info

- to handle new pmt as psi,
  the pmt info have to be removed from the previous pes list

Change-Id: Ibd7df6f945287cb8f1ca8e9b6c6f71c07a3dc486

3 years agohlsdemux: Add condition for setting stream discontinuity 11/266611/2 accepted/tizen/6.0/unified/20211117.211704 submit/tizen_6.0/20211117.042908
Gilbok Lee [Tue, 16 Nov 2021 01:14:04 +0000 (10:14 +0900)]
hlsdemux: Add condition for setting stream discontinuity

- Set stream continuity when fragment time changes

Change-Id: I592f4cd915c2d186462f771714de797c4b424521

3 years agoMerge "hlsdemux: Set stream discontinuity when the last PCR value differs by more... accepted/tizen/6.0/unified/20211115.013212 submit/tizen_6.0/20211112.094314
Gilbok Lee [Fri, 12 Nov 2021 09:42:11 +0000 (09:42 +0000)]
Merge "hlsdemux: Set stream discontinuity when the last PCR value differs by more than 1 second" into tizen_6.0

3 years agotsdemux: Handle invalid PCR_PID streams 58/266458/3
Gilbok Lee [Fri, 12 Nov 2021 03:38:50 +0000 (12:38 +0900)]
tsdemux: Handle invalid PCR_PID streams

- If pcr_pid stream does not have PCR,
  find PCR in all streams and update the program PCR_pid

Change-Id: I53c7fcfc8c405eb9ff162d52000d56d7e9cf3bfb

3 years agohlsdemux: Set stream discontinuity when the last PCR value differs by more than 1... 61/266461/1
Gilbok Lee [Fri, 12 Nov 2021 05:45:42 +0000 (14:45 +0900)]
hlsdemux: Set stream discontinuity when the last PCR value differs by more than 1 second

Change-Id: I1747f7485c9f2eabae67f6f17e11005715a1a081

3 years agotsdemux: Fix the check for the wrong event type 00/263600/1 accepted/tizen/6.0/unified/20210907.065101 submit/tizen_6.0/20210907.025702
Gilbok Lee [Tue, 7 Sep 2021 01:34:49 +0000 (10:34 +0900)]
tsdemux: Fix the check for the wrong event type

Change-Id: I54222748b3432b5f76392bb6567b0359c43dbb90

3 years agotsdemux: Save custom event(HLSMedia info) when program is NULL 52/263552/1 submit/tizen_6.0/20210906.075803
Gilbok Lee [Mon, 6 Sep 2021 04:52:58 +0000 (13:52 +0900)]
tsdemux: Save custom event(HLSMedia info) when program is NULL

Change-Id: Ida60c066ea5d069ccb7a64605317ee24805060bd

3 years agohlsdemux: Send HLSMedia information through custom event 51/263551/1
Gilbok Lee [Tue, 31 Aug 2021 08:22:13 +0000 (17:22 +0900)]
hlsdemux: Send HLSMedia information through custom event

Change-Id: Ibd1845ec1a40c81e026752b1e955cf16644f27bc

3 years agohlsdemux: Don't double-free variant streams on errors 92/262892/1 accepted/tizen/6.0/unified/20210824.123601 submit/tizen_6.0/20210823.073317
Edward Hervey [Wed, 11 Nov 2020 17:07:57 +0000 (18:07 +0100)]
hlsdemux: Don't double-free variant streams on errors

If an error happened switching to a new variant, we switch back to the previous
one ... except it will be unreffed when settin git.

In order to avoid such issues, keep a reference to the old variant until we're
sure we don't need it anymore

Fixes cases of double-free on variants and its contents

Change-Id: I2829e42d87e9d9218073aaa24ca18474748b092f
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1799>

3 years agohlsdemux: Re-use streams if possible 91/262891/1
Edward Hervey [Tue, 3 Nov 2020 16:48:02 +0000 (17:48 +0100)]
hlsdemux: Re-use streams if possible

When switching variants, try to re-use existing streams/pads instead of creating
new ones. When dealing with urisourcebin and decodebin3 this is not only the
expected way but also avoids a lot of buffering/hang issues.

Change-Id: I32cf158a0695e5af7de3a2e6001a0e9748f9e2b3
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>

3 years agom3u8: Make a debug function usable elsewhere 90/262890/1
Edward Hervey [Wed, 4 Nov 2020 09:36:21 +0000 (10:36 +0100)]
m3u8: Make a debug function usable elsewhere

The rest of the code might want to use this

Change-Id: Ica617d702a452e785fb1de16e910a3afcb56232d
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>

3 years agoMerge "tsdemux: Save language tag when program is NULL" into tizen_6.0 accepted/tizen/6.0/unified/20210817.123030 submit/tizen_6.0/20210813.081417
Gilbok Lee [Fri, 13 Aug 2021 08:13:07 +0000 (08:13 +0000)]
Merge "tsdemux: Save language tag when program is NULL" into tizen_6.0

3 years agotsdemux: Save language tag when program is NULL 66/262566/1
Gilbok Lee [Fri, 13 Aug 2021 04:10:06 +0000 (13:10 +0900)]
tsdemux: Save language tag when program is NULL

- When streaming HLS, global_tag release because of the buffer discontinue.
  So, Save and sending pending laguage tag

Change-Id: Ia2823d64894701d27dd47810c0a5a6db385e71b2
(cherry picked from commit 28db6754a720c69a78d9fb45d49dc88cf7b97d09)

3 years agohlsdemux: Save the EXT-X-MEDIA information about embedded stream 65/262565/1
Gilbok Lee [Wed, 11 Aug 2021 08:26:48 +0000 (17:26 +0900)]
hlsdemux: Save the EXT-X-MEDIA information about embedded stream

- And set the tag for embedded stream language code

Change-Id: Ie5336e24d5c09c90324df902b63dfa57324f0dfd
(cherry picked from commit ec9daa30001c24f2e271b87adb5022c1fc33de60)

3 years agovideoparse: Only add a single closed caption meta 81/261281/1 accepted/tizen/6.0/unified/20210715.123937 submit/tizen_6.0/20210715.023716
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

3 years agotsdemux: send converted GST_BUFFER_PTS() when emit stats 41/260641/1 accepted/tizen/6.0/unified/20210712.054543 submit/tizen_6.0/20210702.052219 submit/tizen_6.0/20210709.010045
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

3 years agom3u8: remove unreachable code 54/259854/1 accepted/tizen/6.0/unified/20210616.132637 submit/tizen_6.0/20210616.025748
Eunhye Choi [Tue, 15 Jun 2021 08:09:05 +0000 (17:09 +0900)]
m3u8: remove unreachable code

- fix svace issue

Change-Id: I342e992e126f2d2ffbbaa1a9e47c403f171f6bae

4 years agohlsdemux: add property about live info 30/258230/4 accepted/tizen/6.0/unified/20210517.132233 submit/tizen_6.0/20210513.081543
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

4 years agohlsdemux: push language code tag 67/258267/1
Gilbok Lee [Wed, 12 May 2021 08:11:16 +0000 (17:11 +0900)]
hlsdemux: push language code tag

Change-Id: I0941e39c9384f6c936d8ea736704d2b718902b3c

4 years agohlsdemux: Enable support for external subtitles 23/258123/2
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

4 years agohlsdemux: post first variant bandwidth info 09/257909/1 accepted/tizen/6.0/unified/20210512.125246 submit/tizen_6.0/20210511.044933
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

4 years agohlsdemux: parse cue related tag for AD 67/257467/4 accepted/tizen/6.0/unified/20210427.155033 submit/tizen_6.0/20210427.044240
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

4 years agofixup! adaptive: allow pad switching 09/257209/1 accepted/tizen/6.0/unified/20210422.124720 submit/tizen_6.0/20210421.102630
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>
4 years agohls: support bandwidth limit 76/257176/1
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
(cherry picked from commit 7505e8bf4c866dfabb4d0a83dc50f364d37bd723)

4 years agoadaptive: allow pad switching 11/256811/2 accepted/tizen/6.0/unified/20210416.122313 submit/tizen_6.0/20210414.003927
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

4 years agoh264parse: ignore GST_H264_PARSER_NO_NAL return when last nal type is GST_H264_NAL_SE... 69/251969/1 accepted/tizen/6.0/unified/20210125.082803 submit/tizen_6.0/20210121.080927
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

4 years agowebrtcsdp: Fix memory leaks 68/251968/1
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>
4 years agodashdemux: Check bandwidth instead of video mime-type when storing variant information. 67/250967/1 accepted/tizen/6.0/unified/20210112.063632 submit/tizen_6.0/20210111.004312
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

4 years agoadaptivedemux/mpegdemux : Fix coverity issue (Missing unlock) 25/244125/2 accepted/tizen/6.0/unified/20201030.110835 accepted/tizen/6.0/unified/hotfix/20201102.233423 accepted/tizen/6.0/unified/hotfix/20201103.050319 accepted/tizen/unified/20200916.212647 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:25:49 +0000 (16:25 +0900)]
adaptivedemux/mpegdemux : Fix coverity issue (Missing unlock)

Change-Id: I51fea48a0d00b2a38e136e03fa5f7b3a537440da

4 years ago[SPEC] Enable gst gdp plugin 99/238299/2 accepted/tizen/unified/20200714.134952 submit/tizen/20200713.024249
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>
5 years agoAdd webrtcsendrecv test app to tests/example/webrtc 94/231994/14
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>
5 years agofixup! Enable opusparse plugin 59/231559/2 accepted/tizen/unified/20200423.054557 submit/tizen/20200422.053831
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>
5 years agoEnable opusparse plugin 77/230777/1 accepted/tizen/unified/20200417.152749 submit/tizen/20200416.021254
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>
5 years agosrtp: enable plugins 86/229486/2 accepted/tizen/unified/20200414.034752 submit/tizen/20200413.061815
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>
5 years agoMerge "Remove unrecognized configure options" into tizen accepted/tizen/unified/20200403.034458 submit/tizen/20200401.043141
Gilbok Lee [Tue, 31 Mar 2020 04:55:15 +0000 (04:55 +0000)]
Merge "Remove unrecognized configure options" into tizen

5 years agoRemove unrecognized configure options 99/229199/1
Gilbok Lee [Mon, 30 Mar 2020 08:20:28 +0000 (17:20 +0900)]
Remove unrecognized configure options

Change-Id: I3b2c18c417567ccd00edf50267769df8ddbeb213

5 years agosctp: enable sctpdec and sctpenc plugins 40/228040/2 accepted/tizen/unified/20200331.113953 submit/tizen/20200330.071150 submit/tizen/20200331.035513
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>
5 years agodtls: enable plugins 45/227845/2 accepted/tizen/unified/20200319.131222 submit/tizen/20200319.040207
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>
5 years agowebrtc: modify to allow installation of webrtc plugin 34/227334/2 submit/tizen/20200316.053051
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>
5 years agosoundtouch: fix coverity issue 08/227008/1 accepted/tizen/unified/20200311.130844 submit/tizen/20200309.044950 submit/tizen/20200309.101910 submit/tizen/20200310.083131
Eunhye Choi [Mon, 9 Mar 2020 04:45:03 +0000 (13:45 +0900)]
soundtouch: fix coverity issue

Change-Id: I7290f22c61ffda3f27ea77e5232d332be9d5c3d4

5 years agoMerge branch 'tizen_gst_1.16.2' into tizen 94/225594/1 accepted/tizen/unified/20200304.124000 submit/tizen/20200221.064623 submit/tizen/20200302.032418
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

5 years agopitch: add audio meta 51/225051/3 tizen_gst_1.16.2
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

5 years agoMerge branch 'upstream/1.16' into tizen_gst_1.16.2 52/223352/1
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

5 years agoRelease 1.16.2 upstream/1.16 1.16.2
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:59 +0000 (11:12 +0000)]
Release 1.16.2

5 years agoUpdate docs
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:58 +0000 (11:12 +0000)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Tue, 3 Dec 2019 11:12:56 +0000 (11:12 +0000)]
Update translations

5 years agoavfvideosrc: Explicitly request device video permissions for macOS 10.14+
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.

5 years agoopenexr: Fix check for when to pass -std=c++98
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

5 years agowasapisrc: Correctly handle BUFFERFLAGS_SILENT
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

5 years agowasapisrc: Try harder to avoid debug output in the hot loop
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.

5 years agowasapisrc: Fix capturing from some buggy audio drivers
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

5 years agowasapisrc: Clarify that nBlockAlign is actually bpf
Nirbheek Chauhan [Mon, 25 Nov 2019 15:46:05 +0000 (21:16 +0530)]
wasapisrc: Clarify that nBlockAlign is actually bpf

bpf = bytes per frame.

5 years agowasapisrc: Fix glitching and clock skew issues
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

5 years agowasapi: Move to CoInitializeEx for COM initialization
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.

5 years agowaylandsink: Commit the parent after creating subsurface
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>
5 years agomsdkdec: fix surface leak in msdkdec_handle_frame
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

5 years agotsmux: Fix copying of buffer region
Kyrylo Polezhaiev [Thu, 5 Sep 2019 01:16:28 +0000 (03:16 +0200)]
tsmux: Fix copying of buffer region

5 years agotsdemux: Handle continuity mismatch in more cases
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.

5 years agotsdemux: Always issue a DTS even when it's equal to PTS
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.

5 years agoopenexr: fix compilation with openexr >= 2.4.0 in autotools
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.

5 years agoopenexr: Fix compilation with OpenEXR 2.4
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.

5 years agoccextractor: Remove unused set/get_property() functions
Sebastian Dröge [Mon, 28 Oct 2019 09:25:15 +0000 (11:25 +0200)]
ccextractor: Remove unused set/get_property() functions

5 years agoccextractor: Always forward all sticky events to the caption pad
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.

5 years agopnmdec: Return early on ::finish() if we have no actual data to parse
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

5 years agowasapi: Fix build warnings
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

5 years agowasapi: Don't cast GstDeviceProvider to GstElement
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'

5 years agoass: avoid infinite unref loop with bad data
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.

5 years agofluidsynth: add sf3 to soundfont search path
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).

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

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

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

5 years agoRemove gles20 dependency for headless 83/213783/4 accepted/tizen_5.5_unified_mobile_hotfix tizen_5.5_mobile_hotfix tizen_5.5_tv accepted/tizen/5.5/unified/20191031.005245 accepted/tizen/5.5/unified/mobile/hotfix/20201027.062158 accepted/tizen/unified/20190917.034127 accepted/tizen/unified/20190918.010331 submit/tizen/20190917.001550 submit/tizen/20190917.100430 submit/tizen_5.5/20191031.000006 submit/tizen_5.5_mobile_hotfix/20201026.185106 tizen_5.5.m2_release
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>
5 years agohls: Make crypto dependency optional when hls-crypto is auto
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.

5 years agogst-player: fix bug with changing playback direction
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

5 years agodecklinkaudiosink: Drop late buffers
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.

5 years agodecklink: Allow VANC to be used for all modes
Sebastian Dröge [Mon, 22 Apr 2019 12:42:12 +0000 (15:42 +0300)]
decklink: Allow VANC to be used for all modes

5 years agodecklinkvideosrc: Also set the INTERLACED buffer flag on non-TFF buffers
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

5 years agodecklinkvideosrc: Retrieve mode of the ancillary data from the frame
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

5 years agosrt: Set latency property on SRT socket
Olivier Crête [Fri, 23 Aug 2019 22:40:49 +0000 (18:40 -0400)]
srt: Set latency property on SRT socket

5 years agosrt: Add sender side statistics
Olivier Crête [Fri, 23 Aug 2019 21:54:49 +0000 (17:54 -0400)]
srt: Add sender side statistics

5 years agosrtobject: Remove pointless GMainLoop
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.

5 years agodshowsrcwrapper: fix regression on device selection
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.

5 years agotsdemux: Limit the maximum PES payload size
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.

5 years agoiqa: fix leak of map_meta.data
Mathieu Duponchelle [Fri, 16 Aug 2019 13:22:26 +0000 (15:22 +0200)]
iqa: fix leak of map_meta.data

5 years agoext/wayland: Define libdrm_dep in meson.build
Thomas Coldrick [Wed, 14 Aug 2019 10:24:19 +0000 (11:24 +0100)]
ext/wayland: Define libdrm_dep in meson.build

5 years agosctp: Fix crash on free() when using the MSVC binaries
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.

5 years agowebrtc: Fix signals documentation
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.

5 years agoh264parse: don't critical on VUI parameters > 2^31
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.

5 years agortmp: Fix crash inside free() with MSVC on Windows
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

5 years agod3dvideosink: Fix crash on WinProc handler
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.

5 years agoamc: Fix crash when a sync_meta survives its sink
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.

5 years agopitch: Fix race between putSamples() and setting soundtouch parameters
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.

5 years agowebrtc: fix type of max-retransmits, make it work
David Gunzinger [Tue, 13 Aug 2019 10:10:54 +0000 (12:10 +0200)]
webrtc: fix type of max-retransmits, make it work