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>
Jeongmo Yang [Thu, 23 Mar 2023 10:22:04 +0000 (10:22 +0000)]
Merge "base:cameracontrol: Add new camera control" into tizen
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
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>
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
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>
Gilbok Lee [Wed, 15 Mar 2023 01:43:02 +0000 (10:43 +0900)]
bad/base/good: Fix Coverity issue
Change-Id: I26683a43ff357b2a1ee70d62fccd6da33f9b453f
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
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
Sangchul Lee [Thu, 9 Mar 2023 02:12:47 +0000 (11:12 +0900)]
webrtcbin: Correct logs
Change-Id: I7b84e6499fa6adc5f007b61c04cb11bcfd525009
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
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
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
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>
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
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>
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
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
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
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
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>
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>
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
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
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
Sangchul Lee [Mon, 30 Jan 2023 02:17:45 +0000 (11:17 +0900)]
nice: Sync with libnice 0.1.21's
Change-Id: I9eb5533bff65b614045d08bd8f4d5bf6551f536e
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
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>
Sangchul Lee [Fri, 27 Jan 2023 07:45:12 +0000 (16:45 +0900)]
webrtc: Use nice implementation for WebRTCICE
Change-Id: I414d9dfca5e679efc2d93ca7abd1b82a91f6f3aa
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
Tim-Philipp Müller [Mon, 23 Jan 2023 19:29:34 +0000 (19:29 +0000)]
Release 1.22.0
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Tim-Philipp Müller [Fri, 13 Jan 2023 19:08:48 +0000 (19:08 +0000)]
Release 1.21.90
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Seungha Yang [Thu, 12 Jan 2023 13:14:30 +0000 (22:14 +0900)]
d3d11memory: Remove GstD3D11PoolAllocator::dispose
Clear GstD3D11Device object in finalize method as well
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3715>
Thibault Saunier [Thu, 12 Jan 2023 17:39:20 +0000 (14:39 -0300)]
glbasefilter: Copy metas when they only contain they "video" tag
Same logic as in `GstVideoFilter`
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3716>
Edward Hervey [Wed, 11 Jan 2023 16:30:09 +0000 (17:30 +0100)]
decodebin3: Fix global group-id handling
The goal of the "global" group-id is to fix new inputs that do not come from the
same "source" as others. In order to ensure all "current" streams have the same
group-id we distribute the first valid group-id to all streams.
This commit fixes two issues with that:
* When inputs are unlinked they weren't always properly resetted (it would only
work if parsebin is used, which is no longer the default in
uridecodebin3/playbin3).
* When computing the global group-id, take into account unset
group-id (i.e. GST_GROUP_ID_INVALID).
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1698
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3712>
Tim-Philipp Müller [Wed, 11 Jan 2023 15:41:26 +0000 (15:41 +0000)]
gst-plugins-ugly: update translations
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1575
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Tim-Philipp Müller [Wed, 11 Jan 2023 15:41:21 +0000 (15:41 +0000)]
gst-plugins-bad: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Tim-Philipp Müller [Wed, 11 Jan 2023 15:41:09 +0000 (15:41 +0000)]
gst-plugins-good: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Tim-Philipp Müller [Wed, 11 Jan 2023 15:41:03 +0000 (15:41 +0000)]
gst-plugins-base: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Tim-Philipp Müller [Wed, 11 Jan 2023 15:40:49 +0000 (15:40 +0000)]
gstreamer: update translations
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Tim-Philipp Müller [Wed, 11 Jan 2023 14:53:39 +0000 (14:53 +0000)]
Fix translation pot files when creating dist tarballs
Add version as per Translation Project requirements and
also add a .pot file without the ABI suffix.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3711>
Guillaume Desmottes [Tue, 10 Jan 2023 10:19:12 +0000 (11:19 +0100)]
decodebin3: ensure recalculate_group_id() is called with INPUT lock
This function uses main_input and current_group_id which are protected
by the input lock.
Some calls were already safe but not all.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3702>
Guillaume Desmottes [Wed, 21 Dec 2022 14:35:21 +0000 (15:35 +0100)]
uridecodebin3: fix stream leak
GstSourcePad owns the GstStream but was not unreffing it when being
disposed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3617>
Guillaume Desmottes [Wed, 21 Dec 2022 09:44:40 +0000 (10:44 +0100)]
decodebin3: fix dead lock when removing pad
gst_element_remove_pad() is triggering a call to
gst_decodebin3_input_pad_unlink() which needs the input lock as well,
resulting in a dead lock.
Fix #1667
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3614>
Sebastian Dröge [Wed, 11 Jan 2023 10:17:13 +0000 (12:17 +0200)]
tools: Use `gst_macos_main()` on macOS
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1673
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3709>
Nirbheek Chauhan [Tue, 10 Jan 2023 18:50:42 +0000 (00:20 +0530)]
docs: Need to use versioned paths on macOS
Especially with pkg-config, it needs to be called with the right path
otherwise it might not pick up the prefix correctly.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1677
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3706>
Seungha Yang [Tue, 10 Jan 2023 18:23:57 +0000 (03:23 +0900)]
meson: gst-plugins-bad: Disable spammy MSVC warning
warning C5051: attribute 'noinline' requires at least '/std:c++20';
ignored
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3705>
Tim-Philipp Müller [Tue, 10 Jan 2023 13:06:37 +0000 (13:06 +0000)]
tests: interactive: test-effect-switch: use autovideosink
Also works on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3703>
Sebastian Dröge [Mon, 9 Jan 2023 10:39:55 +0000 (12:39 +0200)]
mxfmux: Add all local tags to the primer
No matter if they're allocated via GSlice or malloc(). The allocator is
completely irrelevant, all local tags need to be in the primer so they
can be handled.
This didn't have any effect in practice because all local tags that
appear in the muxer are allocated via GSlice. Only from the demuxer they
might be allocated via malloc().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3699>
Marek Vasut [Sat, 7 Jan 2023 19:03:31 +0000 (20:03 +0100)]
jpegdec: Disable libjpeg-turbo SIMD acceleration support for now
The libjpeg-turbo SIMD acceleration support suffers from multiple
unresolved cornercases. Disable the libjpeg-turbo for now until
those cornercases are resolved.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3694>
Mathieu Duponchelle [Wed, 4 Jan 2023 14:33:20 +0000 (15:33 +0100)]
ci/README: basic instructions for running locally
These should be extended upon by someone more knowledgeable with the
topic, but that's the basic information I would want to find there
in order to start debugging CI issues locally.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3681>
Guillaume Desmottes [Mon, 9 Jan 2023 12:23:56 +0000 (13:23 +0100)]
libav: avaudec: display flow return name instead of value
More convenient to read in logs. gstavviddec already does it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3700>
Tim-Philipp Müller [Mon, 9 Jan 2023 01:24:57 +0000 (01:24 +0000)]
gst-play: fix command line option string formatting
Add missing space to translated string.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3696>