platform/upstream/gstreamer.git
2 months agoh264parser: Adjust NAL unit size for SEQ_END and STREAM_END nal types 22/321722/1 tizen_8.0
Gilbok Lee [Thu, 27 Mar 2025 02:29:02 +0000 (11:29 +0900)]
h264parser: Adjust NAL unit size for SEQ_END and STREAM_END nal types

- When dummy data is included in SEQ_END or STREAM_END NAL types,
  errors occur during parsing operations for the remaining dummy data.

[Version] 1.22.0-41
[Issue Type] Fix bugs

Change-Id: Iba33d6f4db7028b80afafb72be69f66e1f1e7a37

10 months agoaacparser: Revert 'Add codec_data in caps, even if stream-format is adts' 54/314554/1 accepted/tizen_8.0_unified accepted/tizen/8.0/unified/20240718.144428
Gilbok Lee [Mon, 15 Jul 2024 07:25:16 +0000 (16:25 +0900)]
aacparser: Revert 'Add codec_data in caps, even if stream-format is adts'

- revert 0cee0329b1e88a86fd63dd032f43f923da898abc commit in
gst-plugins-good
- When decoding 8-channel ADTS contents in avdec, an error occurs.

Change-Id: I14ec9dbc2f816ec415bcca1eb0fd5934de09358b

12 months agobase:subparse: fix invalid mem access issue 48/311948/1 accepted/tizen/8.0/unified/20240603.162507
Eunhye Choi [Thu, 30 May 2024 11:13:29 +0000 (20:13 +0900)]
base:subparse: fix invalid mem access issue

- alloc memory include extra to avoid invalid memory access
  during looping based on attr[idx]

Change-Id: I52e164f26748483331361849a56c8a0bedd8f312

14 months agolibav:avviddec: Add videometa if there is no videometa in output buffer 19/308819/1 accepted/tizen/8.0/unified/20240404.155006
Jeongmo Yang [Fri, 29 Mar 2024 03:07:06 +0000 (12:07 +0900)]
libav:avviddec: Add videometa if there is no videometa in output buffer

- The buffer from internal pool in avviddec has video meta,
  but, the output buffer is not from internal pool in avviddec
  and it's from other buffer pool which is made in gst_video_decoder_decide_allocation_default().
  As a result, the output buffer does not have video meta.

[Version] 1.22.0-38
[Issue Type] Improvement

Change-Id: I678ec172fdd92eddfe1a281f23d81f4106489f15
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
14 months agoappsrc: clear eos flag on flush stop event 95/308695/1 accepted/tizen/8.0/unified/20240401.145034
Jeongki Kim [Thu, 22 Feb 2024 14:41:12 +0000 (23:41 +0900)]
appsrc: clear eos flag on flush stop event

Change-Id: Ide8dc2f41eca33470ef3401d3d45a7811c3dd3cc
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6186>
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
17 months agofixup! Apply GStreamer 1.22.0 into Tizen 01/303701/1 accepted/tizen/8.0/unified/20240105.070013
Seungbae Shin [Wed, 3 Jan 2024 11:51:25 +0000 (20:51 +0900)]
fixup! Apply GStreamer 1.22.0 into Tizen

Add missing pie option for ges-launch

Change-Id: I4a6ec30c41a94b47afab662dca98bf8ba0d79bd7

18 months agobase:tizenmemory: Export gst_tizen_video_meta_map/unmap API and fix memory leak 68/302468/1 accepted/tizen/8.0/unified/20231208.171931
Jeongmo Yang [Tue, 5 Dec 2023 06:15:43 +0000 (15:15 +0900)]
base:tizenmemory: Export gst_tizen_video_meta_map/unmap API and fix memory leak

- Fixed memory leak
 : The return value of "gst_buffer_get_memory()" should be released after use, but it was not.
   This patch replaces it by "gst_buffer_peek_memory()" and we don't need to release it.

[Version] 1.22.0-37
[Issue Type] API export

Change-Id: I09e00e2282706e8d4e7a5ddf7cf87313b86277b0
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
18 months agospec: remove excluding the debug path 51/301451/2 accepted/tizen/8.0/unified/20231117.165416
Eunhye Choi [Thu, 16 Nov 2023 04:54:59 +0000 (13:54 +0900)]
spec: remove excluding the debug path

- if debug path is excluded, debug info is added in main rpm
  that is not intended and the info is added in /usr/lib/debug/.build-id/xx
- can not exclude /usr/lib/debug/.build-id/ explicitly
  because the path is not recognized.
  warning : file / dir not found

Change-Id: Id6a5774460c31a6401823e6080fcf188b47b3f89

19 months agogood:rtsp: Remove unnecessary const 11/300411/2 accepted/tizen/8.0/unified/20231031.064240
jiyong.min [Tue, 24 Oct 2023 07:24:03 +0000 (16:24 +0900)]
good:rtsp: Remove unnecessary const

Change-Id: Id43291c576ffc137217571640289936faca228b5

19 months agogood:rtsp: Fix the issue that gst_uri_join_strings() construct missing uri 97/300397/7
jiyong.min [Mon, 23 Oct 2023 23:09:33 +0000 (08:09 +0900)]
good:rtsp: Fix the issue that gst_uri_join_strings() construct missing uri

Change-Id: I09177a09255de0ec05cf70d06b1f4d83c9dafd7f

21 months agobase:tizenmemory: Fix build warning and add exception handling code 27/297727/1 accepted/tizen/8.0/unified/20231005.094934 accepted/tizen/unified/20230825.044244 tizen_8.0_m2_release
Jeongmo Yang [Wed, 23 Aug 2023 08:50:46 +0000 (17:50 +0900)]
base:tizenmemory: Fix build warning and add exception handling code

[Version] 1.22.0-34
[Issue Type] Improvement

Change-Id: I59dba405807aa4f600da7f24f096d04b64bc427f
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
22 months agowebrtcstats: Fix duplicated set of codec-id, kind in inbound-rtp 53/296953/2 accepted/tizen/unified/20230814.121006
Sangchul Lee [Thu, 27 Jul 2023 08:08:07 +0000 (17:08 +0900)]
webrtcstats: Fix duplicated set of codec-id, kind in inbound-rtp

Change-Id: I8b4c595058793896f16ea1a2353a7be56339cc13
Signed-off-by: Sangchul Lee <sc11.lee@samsung.com>
23 months agogood:adaptivedemux: Add max video width/height limit property 55/295355/11 accepted/tizen/unified/20230726.020643
Gilbok Lee [Thu, 6 Jul 2023 01:24:22 +0000 (10:24 +0900)]
good:adaptivedemux: Add max video width/height limit property

[Version] 1.22.0-33
[Issue Type] New feature

Change-Id: I3a067c94f9bea023e6c3b0cd7d55258c79dd3b23

23 months agodecodebin3: support decoding regardless of property 21/294821/2 accepted/tizen/unified/20230711.091724
Eunhye Choi [Tue, 27 Jun 2023 05:59:20 +0000 (14:59 +0900)]
decodebin3: support decoding regardless of property

- support decoding regardless of property setting.
- sw decoder have higher priority if force-sw-decoders property is set.
- if there is no sw decoder when the force-sw-decoders-for-audio/video is enabled,
  use hw decoder instead.

Change-Id: I829fe390e5cb8bf21149c036e3b1ce9d5ae70f85

23 months agodecodebin3: remove force_sw_decoder property 80/294780/2
Eunhye Choi [Mon, 26 Jun 2023 12:13:55 +0000 (21:13 +0900)]
decodebin3: remove force_sw_decoder property

- sync with upstream
- force_sw_decoder property has been removed and
  tizen use other property to control the each stream type
- the new interface to select codec type will be added at 1.24

Change-Id: I3b0ae87813a4705acef065a4d7cc8482c9f0da83

2 years agogood:videoflip: Support SN12 format 54/293054/4 accepted/tizen/unified/20230605.170352
Jeongmo Yang [Fri, 19 May 2023 02:29:15 +0000 (11:29 +0900)]
good:videoflip: Support SN12 format

[Version] 1.22.0-30
[Issue Type] New feature

Change-Id: I9193e1333e46b33955a8686951e8e8fc309c330f
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agovideoconvertscale: Fix prepare output buffer error 08/293008/1
Jeongmo Yang [Thu, 18 May 2023 03:14:50 +0000 (12:14 +0900)]
videoconvertscale: Fix prepare output buffer error

- It's not considered that tizen buffer pool is not created.

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

Change-Id: I073c2374a9a6a49b1f71ddd00d4c6f2fecf2b96a
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agofixup! good:pulse: add null check for mainloop access while handling of query caps 79/292379/1
Seungbae Shin [Thu, 4 May 2023 11:07:29 +0000 (20:07 +0900)]
fixup! good:pulse: add null check for mainloop access while handling of query caps

Change-Id: I1827f37b103e0b40fa13e7931362686e21e93da5

2 years agogood:pulse: add null check for mainloop access while handling of query caps 40/292140/1
Seungbae Shin [Thu, 27 Apr 2023 12:05:53 +0000 (21:05 +0900)]
good:pulse: add null check for mainloop access while handling of query caps

[Version] 1.22.0-28
[Issue Type] Bug fix

Change-Id: I7d80321f1ae0041407a6a6f429767f8eaf92fc0b

2 years agogood:rtsp: Modify the wrong property type 23/291223/1
jiyong.min [Wed, 12 Apr 2023 05:39:29 +0000 (14:39 +0900)]
good:rtsp: Modify the wrong property type

[Version] 1.22.0-27
[Issue Type] Bug fix

Change-Id: I8770a2d991b2082b8d68fa4cf6fdb5cc59268643

2 years agompegtsbase: remember stream pid before remove stream 80/290480/3
Gilbok Lee [Mon, 27 Mar 2023 08:12:49 +0000 (17:12 +0900)]
mpegtsbase: remember stream pid before remove stream

when do MPEGTS_BIT_UNSET, stream->pid is used but stream is already freed

[Version] 1.22.0-26
[Issue Type] Bug fix

Change-Id: Iebc891e86a975280abe67f24ee5d0f5b66e3c05c

2 years agoUpversion for version conflict 50/290350/1 accepted/tizen/unified/20230327.143737
Jeongmo Yang [Thu, 23 Mar 2023 10:25:22 +0000 (19:25 +0900)]
Upversion for version conflict

[Version] 1.22.0-25
[Issue Type] Version

Change-Id: I97f8631d646b0432bf8fc01733ce9d468abce4af
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agoMerge "base:cameracontrol: Add new camera control" into tizen
Jeongmo Yang [Thu, 23 Mar 2023 10:22:04 +0000 (10:22 +0000)]
Merge "base:cameracontrol: Add new camera control" into tizen

2 years agoadaptivedemux/rtpmanager: Fix Coverity issues 95/290295/1 accepted/tizen/unified/20230323.172522
Gilbok Lee [Thu, 23 Mar 2023 00:50:55 +0000 (09:50 +0900)]
adaptivedemux/rtpmanager: Fix Coverity issues

- adaptivedemux: missing GST_API_UNLOCK()
- rtpmanager: missing config header

[Version] 1.22.0-24
[Issue Type] Bug fix

Change-Id: Id23a8a8faa40bce5110a2f5d8e2f420eaef20634

2 years agobase:cameracontrol: Add new camera control 60/290260/1
Jeongmo Yang [Wed, 22 Mar 2023 06:48:28 +0000 (15:48 +0900)]
base:cameracontrol: Add new camera control

- GST_CAMERA_CONTROL_GAIN

[Version] 1.22.0-24
[Issue Type] New feature

Change-Id: Icf0e958e5b2b1bcea02a7441665a41276b461411
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agortp/rtpmanager: Fix coverity issues 82/290082/1 tizen_avp accepted/tizen/unified/20230321.123150
Gilbok Lee [Mon, 20 Mar 2023 06:04:59 +0000 (15:04 +0900)]
rtp/rtpmanager: Fix coverity issues

[Version] 1.22.0-23
[Issue Type] Bug fix

Change-Id: Icf0d13883b071cc87c6279ae578adcc4e2bb2144

2 years agogood:v4l2bufferpool: Add missed header file 66/290066/1
Jeongmo Yang [Mon, 20 Mar 2023 03:38:22 +0000 (12:38 +0900)]
good:v4l2bufferpool: Add missed header file

[Version] 1.22.0-22
[Issue Type] Bug fix

Change-Id: I638d1ef56bf259d654914a018775fd22504210ba
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agobad/base/good: Fix Coverity issue 59/289859/3
Gilbok Lee [Wed, 15 Mar 2023 01:43:02 +0000 (10:43 +0900)]
bad/base/good: Fix Coverity issue

Change-Id: I26683a43ff357b2a1ee70d62fccd6da33f9b453f

2 years agowebrtc: Add null check and remove unreachable code 81/289781/2 accepted/tizen/unified/20230320.164214 accepted/tizen/unified/20230321.035421
Sangchul Lee [Tue, 14 Mar 2023 08:37:23 +0000 (17:37 +0900)]
webrtc: Add null check and remove unreachable code

[Version] 1.22.0-20
[Issue Type] Coverity defects

Change-Id: I7eecb9dbacd16aaf2ff00bbee018416389fd0480

2 years agoAdd "stream-info-message" property for GSTRTSPSRC 94/289594/1 accepted/tizen/unified/20230316.045739
jiyong.min [Fri, 10 Mar 2023 06:06:08 +0000 (15:06 +0900)]
Add "stream-info-message" property for GSTRTSPSRC

- The rtspsrc sent stream info message when stream open is completed.
  But rtspsrc wait until stream open is completed in READY_TO_PAUSE case.
  As a result, READY_TO_PAUSE state is changed lately.
- The added "stream-info-message" property allow the user to select the
  above action.
- The default is TRUE.

[Version] 1.22.0-19
[Issue Type] Bug fix

Change-Id: I258b070156f5d485014fc2e692edffa5919383be

2 years agowebrtcbin: Correct logs 02/289502/1 accepted/tizen/unified/20230313.022913
Sangchul Lee [Thu, 9 Mar 2023 02:12:47 +0000 (11:12 +0900)]
webrtcbin: Correct logs

Change-Id: I7b84e6499fa6adc5f007b61c04cb11bcfd525009

2 years agobad: fix svace issue 09/288809/2 accepted/tizen/unified/20230227.042020
Eunhye Choi [Thu, 23 Feb 2023 08:26:31 +0000 (17:26 +0900)]
bad: fix svace issue

- build option will be removed
  after contribution to upstream

Change-Id: I6b99117c49dc76d7b1cb604359576347b6f6749f

2 years agobuild: update meson required version 92/288692/1 accepted/tizen/unified/20230223.162157
Eunhye Choi [Tue, 21 Feb 2023 10:01:36 +0000 (19:01 +0900)]
build: update meson required version

- update meson required version as upstream
  because tizen meson upgrade is completed.

Change-Id: I95a80f67f46497f39a485368174cd88a960935fc

2 years agotsdemux: check pcr_pid when calculating stream time 18/288418/3
Gilbok Lee [Thu, 16 Feb 2023 08:43:32 +0000 (17:43 +0900)]
tsdemux: check pcr_pid when calculating stream time

- if the pcr_pid is 0x1fff, the pcr value is ignored
  and last_pcrtime is also invalid value.

Change-Id: I257dfe547a71d4092cade2743c37752a7a48828a

2 years agoAdd new package for V4L2 plugin 41/288441/2 accepted/tizen/unified/20230220.092901
Jeongmo Yang [Thu, 16 Feb 2023 03:00:17 +0000 (12:00 +0900)]
Add new package for V4L2 plugin

- The V4L2 elements are loaded automatically after scan device nodes in target,
  but, in some targets, they are not supported although they are loaded.
  As a result, the loaded elements can be used and it fails to work.
- This new package will be added to supported targets only.
- New package name/file : gst-plugins-good-v4l2/libgstvideo4linux2.so
- Additional change
 : Do not create empty gst-plugins-good-cairo package for TV profile.

[Version] 1.22.0-14
[Issue Type] New package

Change-Id: I3fc5842ae97f0c2c75ba79123b3226039086da77
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agowebrtcbin: Post error message when a RTP session ssrc timeout happens 98/288398/1
Sangchul Lee [Thu, 16 Feb 2023 06:14:33 +0000 (15:14 +0900)]
webrtcbin: Post error message when a RTP session ssrc timeout happens

If rtp session emits this notification with session_id and ssrc, forwards it
to let a user know this situation via message.

Change-Id: I49b63f34f6ea4033e6d63f6b5bfc80ed2123ffc5

2 years agoFix build error with tizen_profile_name "tv" 58/288358/1
Jeongmo Yang [Wed, 15 Feb 2023 11:57:05 +0000 (20:57 +0900)]
Fix build error with tizen_profile_name "tv"

- "gstva_dep" is not defined with tizen_profile_name "tv",
  but it's not excluded.
- The files related "cuda" should also excluded with tizen_profile_name "tv".

[Version] 1.22.0-12
[Issue Type] Build error

Change-Id: I94e9d4a67d2e42dc3ec1866d1e33d115155841e7
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agoplayback: fix autoplugging block issue 66/288266/3 accepted/tizen/unified/20230215.155637
Eunhye Choi [Tue, 14 Feb 2023 08:08:19 +0000 (17:08 +0900)]
playback: fix autoplugging block issue

- autoplugging is blocked by blocking pad.
- parsebin: if expose_pad is called even if end_pad already exist,
            parsebin srcpad is locked and never be unlocked.
- decodebin3: if identity state is changed to ready, the sinkpad
              is not activated and autoplugging is blocked.

Change-Id: I335914d2d90783bdc1dd05dc3badd8fa7277378d

2 years agowebrtc/nice: Enable nice debug log 23/288223/1
Sangchul Lee [Tue, 14 Feb 2023 03:11:01 +0000 (12:11 +0900)]
webrtc/nice: Enable nice debug log

It has been omitted since it was updated to gst 1.22 version.

Change-Id: I721c195ce30116dade93ef5b23ad9f060c57c026

2 years agoavvidenc: Don't take ffmpeg timestamps verbatim but only use them to calculate DTS 79/288179/3
jiyong.min [Mon, 13 Feb 2023 05:39:45 +0000 (14:39 +0900)]
avvidenc: Don't take ffmpeg timestamps verbatim but only use them to calculate DTS

The ffmpeg timestamps are inaccurate and only in framerate granularity.
To avoid generating inaccurate output timestamps, especially with
variable framerate streams, only use the ffmpeg timestamps for
calculating the DTS.

Fixes #1544(https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1544)
again.

Part-of: <!3808>

Change-Id: I7bf166986e5fc9b9a43a62eb32c496d4459cd445

2 years agoMerge branch 'tizen_gst_1.22.0' into tizen 24/287924/1
Gilbok Lee [Tue, 7 Feb 2023 22:54:00 +0000 (07:54 +0900)]
Merge branch 'tizen_gst_1.22.0' into tizen

Change-Id: I1e1e80c68f113d92fc502d6e23ba151ce941fdef

2 years agovideoconvertscale: Support I420-to-SN12 converting 42/287742/3 tizen_gst_1.22.0
Jeongmo Yang [Fri, 3 Feb 2023 09:43:23 +0000 (18:43 +0900)]
videoconvertscale: Support I420-to-SN12 converting

- Additional change
 : Enable videoconvertscale.
 : Remove unused directory(videoconvert, videoscale) which are already removed from upstream.

[Version] 1.22.0-8
[Issue Type] Update

Change-Id: I6d8635c0717b81d70a6eaa39cedb827111cf0f5b
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agov4l2h264dec: Fix Raspberry Pi4 will not play video in application 99/287599/1
Pawel Stawicki [Wed, 25 Jan 2023 00:52:28 +0000 (00:52 +0000)]
v4l2h264dec: Fix Raspberry Pi4 will not play video in application

Ensure object v4l2object->pool will be released by
correctly releasing the temporary thread-safety lock

Fixes issue #1729

Change-Id: Ib28d0eb58fb6f280542af1e2fb9cc43142120336
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3786>

2 years agogood: enable adaptivedemux2 84/287584/3
Eunhye Choi [Wed, 1 Feb 2023 03:06:42 +0000 (12:06 +0900)]
good: enable adaptivedemux2

- good: enable adaptivedemux2 to support hls playback
  with uridecodebin3 which does not use old hlsdemux
- good/adaptivedemux2: make post variant info at new hls plugin
- base/uridecodebin3: make post buffering msg without drop
  to control buffering at libmm-player

Change-Id: I94c310ceefe57efeba439112d1d0fe4f3e38553f

2 years agogst-plugins-bad: Fix pkgconfig file issue 29/287529/1
Sangchul Lee [Tue, 31 Jan 2023 03:25:31 +0000 (12:25 +0900)]
gst-plugins-bad: Fix pkgconfig file issue

pc files from this project could not be found when compiling other
packages using these pc files as BuildRequires.
As a result, some Tizen native packages could not be built well.
e.g.) capi-media-webrtc, capi-media-streamer

This issue is related to the meson version. See below.
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3061

It is fixed as per the current circumstance of Tizen dev.

Change-Id: Iad46fa21d87416b4b3bec0d90f538dfff74a83d1

2 years agofixup! Apply GStreamer 1.22.0 into Tizen 70/287470/1
Sangchul Lee [Mon, 30 Jan 2023 09:24:41 +0000 (18:24 +0900)]
fixup! Apply GStreamer 1.22.0 into Tizen

A crash issue related to webrtcbin is fixed.

Change-Id: Ie91cad999bb7ec1168c98cb7f5179d81e23c60ec

2 years agonice: Sync with libnice 0.1.21's 60/287460/2
Sangchul Lee [Mon, 30 Jan 2023 02:17:45 +0000 (11:17 +0900)]
nice: Sync with libnice 0.1.21's

Change-Id: I9eb5533bff65b614045d08bd8f4d5bf6551f536e

2 years agoavenc_mpeg2video:Apply the patch for breaking some encoders 58/287458/2
jiyong.min [Mon, 30 Jan 2023 06:05:39 +0000 (15:05 +0900)]
avenc_mpeg2video:Apply the patch for breaking some encoders

- https://github.com/GStreamer/gstreamer/commit/5372b77987cbdf16f681526152325bee8388ab62
Revert "avvidenc: Set timebase in the ffmpeg context to nanoseconds a…
…nd set framerate"

This reverts commit 50db594.

This broke the MPEG-1 video encoder as it requires the framerate to be
used for the timebase.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1734
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3780>

Change-Id: I40383d874e929d1eade6f586e5a977631d4d556e

2 years agov4l2videodec: Add removed tizen feature code by conflict 74/287374/1
Jeongmo Yang [Fri, 27 Jan 2023 08:47:13 +0000 (17:47 +0900)]
v4l2videodec: Add removed tizen feature code by conflict

- It fixes failure of player API.

Change-Id: Id9e0820daf65fa398755c24b39945e1a8e399142
Signed-off-by: Jeongmo Yang <jm80.yang@samsung.com>
2 years agowebrtc: Use nice implementation for WebRTCICE 63/287363/1
Sangchul Lee [Fri, 27 Jan 2023 07:45:12 +0000 (16:45 +0900)]
webrtc: Use nice implementation for WebRTCICE

Change-Id: I414d9dfca5e679efc2d93ca7abd1b82a91f6f3aa

2 years agoApply GStreamer 1.22.0 into Tizen 72/287272/5
Eunhye Choi [Wed, 25 Jan 2023 04:26:41 +0000 (13:26 +0900)]
Apply GStreamer 1.22.0 into Tizen

- gbs build works : both full and each plugin

Change-Id: I7d4948119a07a67efd66b129e9dd65d70c4230ce

2 years agoRelease 1.22.0 1.22.0
Tim-Philipp Müller [Mon, 23 Jan 2023 19:29:34 +0000 (19:29 +0000)]
Release 1.22.0

2 years agogst-plugins-ugly: update translations
Tim-Philipp Müller [Mon, 23 Jan 2023 16:28:13 +0000 (16:28 +0000)]
gst-plugins-ugly: update translations

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2 years agogst-plugins-bad: update translations
Tim-Philipp Müller [Mon, 23 Jan 2023 16:28:08 +0000 (16:28 +0000)]
gst-plugins-bad: update translations

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2 years agogst-plugins-good: update translations
Tim-Philipp Müller [Mon, 23 Jan 2023 16:27:56 +0000 (16:27 +0000)]
gst-plugins-good: update translations

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2 years agogst-plugins-base: update translations
Tim-Philipp Müller [Mon, 23 Jan 2023 16:27:50 +0000 (16:27 +0000)]
gst-plugins-base: update translations

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2 years agogstreamer: update translations
Tim-Philipp Müller [Mon, 23 Jan 2023 16:27:36 +0000 (16:27 +0000)]
gstreamer: update translations

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3773>

2 years agod3d11compositor: Workaround blending artifacts on Intel platform
Seungha Yang [Mon, 23 Jan 2023 14:29:08 +0000 (23:29 +0900)]
d3d11compositor: Workaround blending artifacts on Intel platform

Disable vendor implemented converter in d3d11compositor to workaround
artifacts

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3770>

2 years agoglvideomixer: Fixing error with mouse navigation events when no pixel-aspect-ratio
Ruben Gonzalez [Sat, 21 Jan 2023 23:52:56 +0000 (00:52 +0100)]
glvideomixer: Fixing error with mouse navigation events when no pixel-aspect-ratio

Handling mouse navigation events in glvideomixer element, if no
pixel-aspect-ratio info in the caps, an assertion error is produced
inside gst_util_fraction_multiply because default denominator is zero.

Error fixed:
```
(gst-launch-1.0:102654): GStreamer-CRITICAL **: 00:47:51.598: gst_util_fraction_multiply: assertion 'b_d != 0' failed
```

Simple pipeline to reproduce the issue:
```
gst-launch-1.0 -v glvideomixer name=mix ! glimagesinkelement  gltestsrc  ! mix.sink_0
```

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3766>

2 years agoplayback: New playback elements are no longer experimental
Edward Hervey [Fri, 20 Jan 2023 08:59:06 +0000 (09:59 +0100)]
playback: New playback elements are no longer experimental

The API is not expected to change and it has been used extensively since 1.18.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3761>

2 years agoexamples: webrtc: rust: Update dependencies
Sebastian Dröge [Fri, 20 Jan 2023 11:06:47 +0000 (13:06 +0200)]
examples: webrtc: rust: Update dependencies

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: multiparty-sendrecv: rust: Remove unnecessary macro recursion limit...
Sebastian Dröge [Fri, 20 Jan 2023 10:55:50 +0000 (12:55 +0200)]
examples: webrtc: multiparty-sendrecv: rust: Remove unnecessary macro recursion limit annotation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: sendrecv: rust: Implement `OFFER_REQUEST` handling
Sebastian Dröge [Fri, 20 Jan 2023 10:25:23 +0000 (12:25 +0200)]
examples: webrtc: sendrecv: rust: Implement `OFFER_REQUEST` handling

Allow requesting an offer from the peer if we're joining a call with a
peer, and allow the peer to request an offer from us if waiting for an
incoming call.

This implements all 4 variants the protocol allows for.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: sendrecv: rust: Allow providing our ID via the commandline
Sebastian Dröge [Fri, 20 Jan 2023 10:23:36 +0000 (12:23 +0200)]
examples: webrtc: sendrecv: rust: Allow providing our ID via the commandline

Otherwise it continues to use a random ID as before.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: sendrecv: rust: Implement TWCC support in both directions
Sebastian Dröge [Thu, 19 Jan 2023 18:56:44 +0000 (20:56 +0200)]
examples: webrtc: sendrecv: rust: Implement TWCC support in both directions

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: rust: Set keyframe-max-dist=2000 and picture-id-mode=15-bit for...
Sebastian Dröge [Thu, 19 Jan 2023 18:38:41 +0000 (20:38 +0200)]
examples: webrtc: rust: Set keyframe-max-dist=2000 and picture-id-mode=15-bit for VP8 and perfect-timestamps=true for audio

This makes it in sync with the C sendrecv and generally behaves better.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agoexamples: webrtc: sendrecv: rust: Use the correct payload types if the remote is...
Sebastian Dröge [Thu, 19 Jan 2023 18:38:12 +0000 (20:38 +0200)]
examples: webrtc: sendrecv: rust: Use the correct payload types if the remote is the offerer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3758>

2 years agowpe: Add 'run-javascript' action signal
Jonas Danielsson [Thu, 19 Jan 2023 14:24:05 +0000 (15:24 +0100)]
wpe: Add 'run-javascript' action signal

Introduce way of running a script in the context of the internal
webView.

Fixes #1722

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3753>

2 years agodecodebin3: Remove failing stream from selection
Edward Hervey [Thu, 19 Jan 2023 15:35:08 +0000 (16:35 +0100)]
decodebin3: Remove failing stream from selection

If no decoder is present for a given stream, remove it from the requested
selection.

Fixes #1581 and #1662

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754>

2 years agodecodebin3: Don't intercept queries if no parsebin present
Edward Hervey [Thu, 19 Jan 2023 15:27:57 +0000 (16:27 +0100)]
decodebin3: Don't intercept queries if no parsebin present

If we don't use a parsebin, we forward the queries as-is from upstream. There is
no reconfiguration possible within identity.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754>

2 years agodecodebin3: Don't insert parsebin if input is already parsed
Edward Hervey [Thu, 19 Jan 2023 15:25:51 +0000 (16:25 +0100)]
decodebin3: Don't insert parsebin if input is already parsed

This is a temporary workaround until we find a generic solution to indicate that
a stream has already been "parsed".

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3754>

2 years agowin32ipcvideosrc: Fix leak in fallback copy path
Seungha Yang [Thu, 19 Jan 2023 13:40:36 +0000 (22:40 +0900)]
win32ipcvideosrc: Fix leak in fallback copy path

Clear shared memory after use

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3751>

2 years agova: Fix path leak
Edward Hervey [Thu, 19 Jan 2023 14:36:40 +0000 (15:36 +0100)]
va: Fix path leak

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3755>

2 years agogst: Mark caps parameters in ALLOCATION query API as nullable
Sebastian Dröge [Thu, 19 Jan 2023 14:01:21 +0000 (16:01 +0200)]
gst: Mark caps parameters in ALLOCATION query API as nullable

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3752>

2 years agogst-play: add --no-position
Guillaume Desmottes [Mon, 9 Jan 2023 10:36:38 +0000 (11:36 +0100)]
gst-play: add --no-position

It can be useful to reduce or remove the clutter in logs due to those
queries when debugging.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3698>

2 years agomatroska: Add `stream-format = (string) obu-stream` to AV1 caps
Sebastian Dröge [Tue, 17 Jan 2023 15:51:16 +0000 (17:51 +0200)]
matroska: Add `stream-format = (string) obu-stream` to AV1 caps

Anything else is not allowed in Matroska/WebM.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3740>

2 years agoisomp4: Add `stream-format = (string) obu-stream` to AV1 caps
Sebastian Dröge [Tue, 17 Jan 2023 15:50:27 +0000 (17:50 +0200)]
isomp4: Add `stream-format = (string) obu-stream` to AV1 caps

Anything else is not allowed in MP4.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3740>

2 years agogst-examples: Update Rust dependencies
Sebastian Dröge [Thu, 19 Jan 2023 08:40:32 +0000 (10:40 +0200)]
gst-examples: Update Rust dependencies

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3750>

2 years agogleglimage: Fix GL_OES_EGL_image_external name in debug trace
Nicolas Dufresne [Wed, 18 Jan 2023 21:39:03 +0000 (16:39 -0500)]
gleglimage: Fix GL_OES_EGL_image_external name in debug trace

There is a debug log when this extension is missing, but it was
reporting the wrong extension name, which was confusing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3748>

2 years agoinput-selector: Take the object lock while iterating sinkpads
Jan Alexander Steffens (heftig) [Wed, 18 Jan 2023 15:07:39 +0000 (16:07 +0100)]
input-selector: Take the object lock while iterating sinkpads

Otherwise we can race with pad removal and crash from use-after-free.

Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1717
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3745>

2 years agoglvideomixer: don't clear pad->geometry_change when setting an identical value
Michiel Konstapel [Mon, 16 Jan 2023 10:43:37 +0000 (11:43 +0100)]
glvideomixer: don't clear pad->geometry_change when setting an identical value

Closes #1715

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3733>

2 years agogst-docs: include dmabuf and gapless playback design docs
Tim-Philipp Müller [Wed, 18 Jan 2023 13:42:38 +0000 (13:42 +0000)]
gst-docs: include dmabuf and gapless playback design docs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3744>

2 years agouridecodebin3: clear subitem if suburi is set to NULL
Tim-Philipp Müller [Sat, 14 Jan 2023 16:16:49 +0000 (16:16 +0000)]
uridecodebin3: clear subitem if suburi is set to NULL

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1649

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3730>

2 years agoqtdemux: Add basic support for AVC-Intra video
Jan Alexander Steffens (heftig) [Tue, 17 Jan 2023 14:04:10 +0000 (15:04 +0100)]
qtdemux: Add basic support for AVC-Intra video

AVC-Intra is a range of H.264-compliant intra-only codecs from
Panasonic. The codes and descriptions have been taken from VLC.

The (encumbered) sample I have here produces byte-stream H.264,
including SPS and PPS and no `avcC` box.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3739>

2 years agogl: Fix crash in cocoa due to race in gst_gl_context_activate()
Nirbheek Chauhan [Mon, 16 Jan 2023 10:25:56 +0000 (15:55 +0530)]
gl: Fix crash in cocoa due to race in gst_gl_context_activate()

We create a new context in `gst_gl_context_create_thread()` and then
activate it on the current thread. Thereafter we assume that the
current thread continues to be the active thread for that context and
call `gst_gl_context_fill_info()` which asserts that the current
thread is the active thread.

However, if at the same time a different thread calls
`send_message_async()`, it will call into
`gst_gl_window_cocoa_send_message_async()` which will schedule the
message to be invoked using GCD. That anonymous function will also
call `gst_gl_context_activate()`, which creates a race, which can lead
to:

```
gst_gl_context_fill_info: assertion 'context->priv->active_thread == g_thread_self ()' failed
```

Fix it by using `gst_gl_context_thread_add()` to invoke `fill_info()`
on the context.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3732>

2 years agoges: smart-mixer: Avoid video freeze on NLE stack changes
Thibault Saunier [Thu, 12 Jan 2023 14:52:21 +0000 (11:52 -0300)]
ges: smart-mixer: Avoid video freeze on NLE stack changes

Since we support "nested compositors"[0] we were not finalizing the pads_infos
and thus not releasing the mixer pad on stack change, meaning that
the following stacks were never prerolling.

[0] https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2094

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3738>

2 years agoges: Fix issues avoiding to use `operator` when unavailable on mixer
Thibault Saunier [Thu, 12 Jan 2023 14:07:45 +0000 (11:07 -0300)]
ges: Fix issues avoiding to use `operator` when unavailable on mixer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3738>

2 years agogl/cocoa: Store a weak reference to the `GstGLWindow` instead of the `GstGLContext`
Sebastian Dröge [Sat, 14 Jan 2023 10:46:39 +0000 (16:16 +0530)]
gl/cocoa: Store a weak reference to the `GstGLWindow` instead of the `GstGLContext`

We can't rely on the `GstGLContext` to stay alive and need to keep track
of it. For that we keep track of the `GstGLWindow` in a weak reference
to avoid a reference cycle, and get the corresponding `GstGLContext`
whenever needed.

With contributions from Nirbheek Chauhan.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1697

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3729>

2 years agoRelease 1.21.90
Tim-Philipp Müller [Fri, 13 Jan 2023 19:08:48 +0000 (19:08 +0000)]
Release 1.21.90

2 years agoavvidenc: Offset PTS to zero to fix bitrate control
Sebastian Dröge [Fri, 13 Jan 2023 10:43:30 +0000 (12:43 +0200)]
avvidenc: Offset PTS to zero to fix bitrate control

Otherwise ffmpeg's rate control algorithm will not work correctly as
it is based on the absolute PTS values.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-libav/-/issues/91

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3718>

2 years agourisourcebin: Cleanup on failure
Edward Hervey [Fri, 13 Jan 2023 15:39:51 +0000 (16:39 +0100)]
urisourcebin: Cleanup on failure

This ensures there is a source present/valid *ONLY* in PAUSED and above.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720>

2 years agourisourcebin: Unset locked state
Edward Hervey [Fri, 13 Jan 2023 15:37:03 +0000 (16:37 +0100)]
urisourcebin: Unset locked state

Some elements still had it in failure cases

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720>

2 years agouridecodebin3: Handle state synchronization failures
Edward Hervey [Fri, 13 Jan 2023 15:34:45 +0000 (16:34 +0100)]
uridecodebin3: Handle state synchronization failures

Properly reset and remove the failing urisourcebin if we failed bringing them up
to the same state as ourselves.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1708

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3720>

2 years agortopuspay: Use GstStaticCaps to cache parsed caps
Olivier Crête [Thu, 12 Jan 2023 19:32:30 +0000 (14:32 -0500)]
rtopuspay: Use GstStaticCaps to cache parsed caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674>

2 years agortopuspay: Ignore the stereo parameter in multiopus caps
Olivier Crête [Thu, 12 Jan 2023 19:25:52 +0000 (14:25 -0500)]
rtopuspay: Ignore the stereo parameter in multiopus caps

Also add unit tests for the various variants

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674>

2 years agortpopuspay: Leave original caps as-is
Olivier Crête [Tue, 3 Jan 2023 23:55:24 +0000 (18:55 -0500)]
rtpopuspay: Leave original caps as-is

This should make it work if someone specifies stereo with MULTIOPUS
somehow.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674>

2 years agortpopuspay: Return upstream channel filter based on OPUS vs MULTICAPS
Olivier Crête [Tue, 3 Jan 2023 23:06:56 +0000 (18:06 -0500)]
rtpopuspay: Return upstream channel filter based on OPUS vs MULTICAPS

Only allow 1 or 2 channels if the caps are OPUS, or 3+ if they are
MULTIOPUS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674>

2 years agortpopus: Put MULTIOPUS in all caps
Olivier Crête [Tue, 3 Jan 2023 22:44:37 +0000 (17:44 -0500)]
rtpopus: Put MULTIOPUS in all caps

The RTP payload encoding-name are always in caps in GStreamer.
In SDP, they are not case-sensitive, but since caps are, we need to pick
a caps, and we picked upper-case along time ago.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3674>

2 years agoandroid: Update minimum SDK version to Android 21
Sebastian Dröge [Thu, 12 Jan 2023 19:33:25 +0000 (21:33 +0200)]
android: Update minimum SDK version to Android 21

Otherwise we can't bump the minimum version of the cerbero build without
it breaking linking of the applications.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3717>

2 years agod3d11memory: Fix potential crash in GstD3D11PoolAllocator
Seungha Yang [Thu, 12 Jan 2023 13:17:24 +0000 (22:17 +0900)]
d3d11memory: Fix potential crash in GstD3D11PoolAllocator

Allocator object can be the final refcount holder, when a GstD3D11Memory
is being released. Do unref allocator once there's no more
remaining operation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>