Projects
Essentials
gstreamer-plugins-bad-codecs
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 24
View file
gstreamer-plugins-bad-codecs.changes
Changed
@@ -1,4 +1,9 @@ ------------------------------------------------------------------- +Mon Aug 5 17:33:08 UTC 2024 - Bjørn Lie <zaitor@opensuse.org> + +- Update to version 1.24.6 + +------------------------------------------------------------------- Fri Jun 28 09:18:37 UTC 2024 - Bjørn Lie <zaitor@opensuse.org> - Update to version 1.24.5
View file
gstreamer-plugins-bad-codecs.spec
Changed
@@ -7,7 +7,7 @@ %define _version 1.24.0 Name: gstreamer-plugins-bad-codecs -Version: 1.24.5 +Version: 1.24.6 Release: 0 Summary: Codecs/plugins for gstreamer-plugins-bad License: LGPL-2.1-or-later @@ -71,7 +71,7 @@ -Drtmp=enabled \ -Dx265=enabled \ -Dopenaptx=enabled \ - -Dvoaacenc=enabled \ + -Dvoaacenc=disabled \ %{nil} %meson_build
View file
gst-plugins-bad-1.24.5.tar.xz/ChangeLog -> gst-plugins-bad-1.24.6.tar.xz/ChangeLog
Changed
@@ -1,3 +1,269 @@ +=== release 1.24.6 === + +2024-07-29 16:41:37 +0100 Tim-Philipp Müller <tim@centricular.com> + + * NEWS: + * RELEASE: + * gst-plugins-bad.doap: + * meson.build: + Release 1.24.6 + +2024-07-29 10:29:11 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/va/gstvaallocator.c: + va: refactor dmabuf handle close + Moved the close loop into a function guarded for non-win32 platforms. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7256> + +2024-07-28 02:01:24 +0900 Seungha Yang <seungha@centricular.com> + + * sys/qsv/gstqsvav1enc.cpp: + * sys/qsv/gstqsvh264enc.cpp: + * sys/qsv/gstqsvh265enc.cpp: + * sys/qsv/gstqsvjpegenc.cpp: + * sys/qsv/gstqsvvp9enc.cpp: + qsv: Fix critical warnings + Fixing warnings + GStreamer-CRITICAL **: 01:21:25.862: gst_value_set_int_range_step: + assertion 'start < end' failed + Although when QSV runtime reports a codec is supported, resolution query + fails sometimes, espeically VP9 encoder case on Windows. + Don't try to register an element if resolution query returned an error + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7252> + +2024-07-27 02:18:45 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * ext/svtav1/gstsvtav1enc.c: + svtav1enc: Fix segfault when flushing + gst_video_encoder_get_oldest_frame() is nullable, and will signal that + all frames are handled by returning NULL. + Fixes #3650 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7251> + +2024-07-25 22:44:51 +1000 Jan Schmidt <jan@centricular.com> + + * gst-libs/gst/va/gstvaallocator.c: + va: Fix dmabuf handle leaks + Close dmabuf handles manually when they're not going to + be passed into GStreamer FD memory, to avoid fd handle + leaks. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7245> + +2024-07-24 22:22:03 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live> + + * ext/qroverlay/gstbaseqroverlay.c: + qroverlay: redraw overlay when caps changes + The position needs to be updated as it depends of the video size. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7234> + +2024-07-24 22:21:41 +0200 Guillaume Desmottes <guillaume.desmottes@onestream.live> + + * ext/qroverlay/gstbaseqroverlay.c: + qroverlay: add some debug logs + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7234> + +2024-07-24 09:16:03 +0200 tomaszmi <257184-tomaszmi@users.noreply.gitlab.freedesktop.org> + + * ext/avtp/gstavtpsink.c: + avtp: Fixed Linux/Alpine 3.20 build + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7227> + +2024-07-24 02:33:50 +0900 Seungha Yang <seungha@centricular.com> + + * gst-libs/gst/cuda/gstcudanvrtc.cpp: + cuda: Fix runtime compiler loading with old CUDA tookit + Fallback to PTX if CUBIN symbol is unavailable + Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3685 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7223> + +2024-07-12 18:10:12 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * ext/vulkan/vkupload.c: + * tests/check/libs/vkvideodecode.c: + vulkan: fix wrong stages or access in barriers + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7202> + +2024-03-19 20:04:15 -0300 L. E. Segovia <amy@centricular.com> + + * ext/isac/meson.build: + isac: Work around upstream having no shared library support for MSVC + None of the symbols in webrtc-audio-coding-1 are marked with + `__declspec(dllexport)`, rendering the library usable only if + it was built with GCC/Clang. + The only fix available (as the pulseaudio copy has not been updated + with Google's upstream) is to ensure the fallback builds statically. + Although this change will also affect webrtcdsp's dependency on + webrtc-audio-processing-1, it does not break its compilation. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7206> + +2024-07-16 23:08:39 +0200 Robert Mader <robert.mader@posteo.de> + + * sys/va/gstvabase.c: + vabase: Stop aligning VideoInfo during DMABUF import + Doing so resets the stride from the VideoMeta and it wasn't done before + the commit below. While on it, drop the plane size check as we can't + reliably predict the correct size when using DRM modifiers. + Fixes: 89b0a6fa23 ("va: refactor buffer import") + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7196> + +2024-07-17 12:45:31 +0200 Robert Mader <robert.mader@posteo.de> + + * sys/va/gstvabase.c: + vabase: Use correct VideoInfo during DMABUF import + The changes to the VideoInfo, notably the stride from the VideoMeta, + were lost. Avoid such mistakes by explicitly using the VideoInfo from + drm_info. + Fixes: 9f5b2c4e25 ("va: use GstVideoInfoDmaDrm when importing buffers") + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7196> + +2024-07-17 23:44:09 +0530 Nirbheek Chauhan <nirbheek@centricular.com> + + * sys/applemedia/avfdeviceprovider.m: + * sys/applemedia/avfvideosrc.h: + * sys/applemedia/avfvideosrc.m: + avfdeviceprovider: Fix debug category initialization + The device monitor calls into avfvideosrc functions without + initializing the debug category, which causes multiple criticals. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7195> + +2024-07-15 12:44:52 +0200 Robert Mader <robert.mader@posteo.de> + + * sys/va/plugin.c: + va: Blocklist i965 driver for encoding + The driver - AKA intel-vaapi-driver - has been unmaintained for four years + now and encoding appears to be broken in various cases. As it's unlikely + that the situation will improve, blocklist the driver for encoding. + Decoding appears to be stable enough to keep it enabled. + The driver can still be used by setting the `GST_VA_ALL_DRIVERS` env + variable. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7186> + +2024-07-16 23:07:50 +0900 Seungha Yang <seungha@centricular.com> + + * sys/d3d12/gstd3d12compositor.cpp: + d3d12compositor: Fix transparent background mode with YUV output + In case of YUV format without alpha channel, zero clear value + for each channle will result in green color. Use calculated black + background color with alpha=0 for transparent background mode instead. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7185> + +2024-07-16 20:38:41 +0900 Seungha Yang <seungha@centricular.com> + + * sys/d3d11/gstd3d11compositor.cpp: + d3d11compositor: Fix transparent background mode with YUV output + In case of YUV format without alpha channel, zero clear value + for each channle will result in green color. Use calculated black + background color with alpha=0 for transparent background mode instead. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7185> + +2024-07-03 22:57:58 +0900 Seungha Yang <seungha@centricular.com> + + * gst-libs/gst/codecs/gsth264decoder.c: + h264decoder: Update output frame duration when second field frame is discarded + In case of an interlaced stream, if each field picture belongs to + different GstVideoCodecFrame, updates output frame's duration + based on discarded second field picture's timestamp information. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7175> + +2024-07-12 12:34:52 +0200 Víctor Manuel Jáquez Leal <vjaquez@igalia.com> + + * gst-libs/gst/va/gstvadisplay.c: + vadisplay: fix minor version check + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7169> + +2024-07-04 02:02:42 +0200 Robert Mader <robert.mader@posteo.de> + + * gst-libs/gst/wayland/gstwlwindow.c: + waylandsink: Fix surface cropping for rotated streams + The wp_viewport source rectangle is applied in surface-local coordinates + after buffer_transform and buffer_scale. Therefore we need to swap width + and height for 90/270 deg. rotations. + This fixes playback of rotated videos such as portrait videos from + mobile devices. + See also: https://wayland.app/protocols/viewporter#wp_viewport + Fixes: 0b648f9a2d ("waylandsink: Crop surfaces to their display width height") + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7160> + +2024-07-04 22:49:38 +0900 Seungha Yang <seungha@centricular.com> + + * gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl: + d3d11converter: Fix runtime compiled shader code + Restore mistakenly deleted code in a previous MR + https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/6803 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7138> + +2024-07-08 15:30:45 +0200 Ruben Gonzalez <rgonzalez@fluendo.com> + + * ext/vulkan/vkh265dec.c: + vkh265dec: Fix H.264 ref in logs + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/7147>
View file
gst-plugins-bad-1.24.5.tar.xz/NEWS -> gst-plugins-bad-1.24.6.tar.xz/NEWS
Changed
@@ -2,11 +2,11 @@ GStreamer 1.24.0 was originally released on 4 March 2024. -The latest bug-fix release in the stable 1.24 series is 1.24.5 and was released on 20 June 2024. +The latest bug-fix release in the stable 1.24 series is 1.24.6 and was released on 29 July 2024. See https://gstreamer.freedesktop.org/releases/1.24/ for the latest version of this document. -Last updated: Wednesday 20 June 2024, 22:35 UTC (log) +Last updated: Monday 29 July 2024, 14:30 UTC (log) ## Introduction @@ -2114,13 +2114,13 @@ Cerbero build tool and packaging changes in 1.24.5 -- No changes +- osxrelocator: Fix RPATHs in deeply nested libraries Contributors to 1.24.5 Angelo Verlain, Chris Del Guercio, Corentin Damman, Edward Hervey, Francisco Javier Velázquez-García, He Junyan, Jakub Adam, -Jakub Vaněk, Khem Raj, Martin Nordholts, Mathieu Duponchelle, Nirbheek Chauhan, Piotr Brzeziński, Samuel Thibault, Sebastian -Dröge, Sergey Krivohatskiy, Seungha Yang, Tim-Philipp Müller, Zach van Rijn, +Jakub Vaněk, Khem Raj, L. E. Segovia, Martin Nordholts, Mathieu Duponchelle, Nirbheek Chauhan, Piotr Brzeziński, Samuel +Thibault, Sebastian Dröge, Sergey Krivohatskiy, Seungha Yang, Tim-Philipp Müller, Zach van Rijn, … and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all! @@ -2129,6 +2129,166 @@ - List of Merge Requests applied in 1.24.5 - List of Issues fixed in 1.24.5 +1.24.6 + +The sixth 1.24 bug-fix release (1.24.6) was released on 29 July 2024. + +This release only contains bugfixes and it should be safe to update from 1.24.x. + +Highlighted bugfixes in 1.24.6 + +- Fix compatibility with FFmpeg 7.0 +- qmlglsink: Fix failure to display content on recent Android devices +- adaptivedemux: Fix handling of closed caption streams +- cuda: Fix runtime compiler loading with old CUDA tookit +- decodebin3 stream selection handling fixes +- d3d11compositor, d3d12compositor: Fix transparent background mode with YUV output +- d3d12converter: Make gamma remap work as intended +- h264decoder: Update output frame duration for interlaced video when second field frame is discarded +- macOS audio device provider now listens to audio devices being added/removed at runtime +- Rust plugins: audioloudnorm, s3hlssink, gtk4paintablesink, livesync and webrtcsink fixes +- videoaggregator: preserve features in non-alpha caps for subclasses with non-system memory sink caps +- vtenc: Fix redistribute latency spam +- v4l2: fixes for complex video formats +- va: Fix strides when importing DMABUFs, dmabuf handle leaks, and blocklist unmaintained Intel i965 driver for encoding +- waylandsink: Fix surface cropping for rotated streams +- webrtcdsp: Enable multi_channel processing to fix handling of stereo streams +- Various bug fixes, memory leak fixes, and other stability and reliability improvements + +gstreamer + +- downloadbuffer: fix push mode +- queue: queue2: multiqueue: Don’t work with segment.position if buffers have no timestamps +- gst-inspect-1.0: Fix leak of plugin/feature + +gst-plugins-base + +- decodebin3: Fix detection of selection done +- glvideomixer: Fix critical when setting start-time-selection +- parsebin: accept-caps handling for elements with unusual sink pad names +- subparse: Don’t use jit for regular expressions when running in valgrind +- subparse: put valgrind header availability define into config.h for subparse +- videoaggregator: preserve features in non-alpha caps +- videoscale: correct classification error +- meson: Fix invalid include flag in uninstalled gl pc file +- Fix various memory leaks + +gst-plugins-good + +- adaptivedemux: Fix handling closed caption streams +- qml/glsink: also support GLES2 needing shader ‘precision’ directives +- v4l2object: use v4l2 reported width for padded_width when complex video formats +- v4l2: meson: fix SIZEOF_OFF_T when cross-compiling with Meson >= 1.3.0 + +gst-plugins-bad + +- svtav1enc: Fix segfault when flushing +- avfdeviceprovider: Fix debug category initialization +- osxaudiodeviceprovider: Listen for audio devices being added/removed +- avtp: Fixed Linux/Alpine 3.20 build +- cuda: Fix runtime compiler loading with old CUDA tookit +- d3d11compositor, d3d12compositor: Fix transparent background mode with YUV output +- d3d11converter: Fix runtime compiled shader code +- d3d12converter: Make gamma remap work as intended +- h264decoder: Update output frame duration when second field frame is discarded +- isac: Work around upstream having no shared library support for MSVC +- lc3: remove bitstream comparison in the tests +- qroverlay: redraw overlay when caps changes +- qsv: Fix critical warnings +- rtmp2: guard against calling gst_amf_node_get_type() with NULL +- srtsrc: fix case fallthrough of authentication param +- va: Blocklist unmaintained i965 driver for encoding +- va: Fix strides when importing DMABUFs +- va: Fix dmabuf handle leaks +- vadisplay: fix minor version check +- vkh265dec: Fix H.264 ref in logs +- vulkan: fix wrong stages or access in barriers +- vtenc: Fix redistribute latency spam +- waylandsink: Fix surface cropping for rotated streams +- webrtcdsp: Enable multi_channel processing + +gst-plugins-ugly + +- asfdemux: Be more lenient towards malformed header, fixes playback of files written by VLC + +GStreamer Rust plugins + +- audioloudnorm: Fix limiter buffer index wraparound off-by-one for the last buffer +- aws: s3hlssink: Do not call abort before finishing uploads +- gtk4paintablesink: Support RGBx formats in SW paths +- gtk4paintablesink: default to force-aspect-ratio=false for Paintable +- livesync: Use the actual output buffer duration of gap filler buffers +- livesync: Allow queueing up to latency buffers, also sync on the first buffer and add sync property +- webrtcsink: fix property types for rav1enc AV1 encoder + +gst-libav + +- Fix compatibility with ffmpeg 7 +- avauddec: Fix crash on stop() +- avmux: Fix crash when muxer doesn’t get codecid + +gst-rtsp-server + +- No changes + +gstreamer-vaapi + +- No changes + +gstreamer-sharp + +- No changes + +gst-omx + +- No changes + +gst-python + +- No changes + +gst-editing-services + +- ges: Various leak fixes + +gst-devtools, gst-validate + gst-integration-testsuites + +- validate: Remove G_REGEX_OPTIMIZE usage, helps avoid valgrind issues + +gst-examples + +- No changes + +Development build environment + +- libgudev wrap: add fallback uri +- liblc3 wrap: update to v1.1.1 + +Cerbero build tool and packaging changes in 1.24.6 + +- meson: Backport fix for Glib including a GCC-only flag in the pkg-config file +- libsoup: Workaround build error with GCC 14 +- libltc: Fix Windows build +- webrtc-audio-processing: Fix MinGW build +- libvpx: Also build a shared lib on macOS +- glib: Fix Windows build +- osxrelocator: Fix framework entrypoints being unable to load dylibs +- gobject-introspection, recipe: Fix more fallout from the Meson dylib ID fixes +- cargo-c.recipe: Ensure that we can change the id and rpath + +Contributors to 1.24.6 + +Chris Spoelstra, Edward Hervey, François Laignel, Guillaume Desmottes, Jakub Adam, Jan Schmidt, Jordan Petridis, L. E. Segovia, +Loïc Yhuel, Matthew Waters, Nirbheek Chauhan, Piotr Brzeziński, Robert Mader, Ruben Gonzalez, Sanchayan Maity, Sebastian Dröge, +Sebastian Gross, Seungha Yang, Shengqi Yu, Taruntej Kanakamalla, Tim-Philipp Müller, tomaszmi, Víctor Manuel Jáquez Leal, + +… and many others who have contributed bug reports, translations, sent suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.24.6 + +- List of Merge Requests applied in 1.24.6 +- List of Issues fixed in 1.24.6 + Schedule for 1.26 Our next major feature release will be 1.26, and 1.25 will be the unstable development version leading up to the stable 1.26
View file
gst-plugins-bad-1.24.5.tar.xz/RELEASE -> gst-plugins-bad-1.24.6.tar.xz/RELEASE
Changed
@@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-bad 1.24.5. +This is GStreamer gst-plugins-bad 1.24.6. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework!
View file
gst-plugins-bad-1.24.5.tar.xz/docs/plugins/gst_plugins_cache.json -> gst-plugins-bad-1.24.6.tar.xz/docs/plugins/gst_plugins_cache.json
Changed
@@ -238705,7 +238705,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "true", + "default": "false", "mutable": "null", "readable": true, "type": "gboolean", @@ -238953,7 +238953,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "true", + "default": "false", "mutable": "null", "readable": true, "type": "gboolean", @@ -239261,7 +239261,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "true", + "default": "false", "mutable": "null", "readable": true, "type": "gboolean", @@ -239498,7 +239498,7 @@ "construct": false, "construct-only": false, "controllable": false, - "default": "true", + "default": "false", "mutable": "null", "readable": true, "type": "gboolean",
View file
gst-plugins-bad-1.24.5.tar.xz/ext/avtp/gstavtpsink.c -> gst-plugins-bad-1.24.6.tar.xz/ext/avtp/gstavtpsink.c
Changed
@@ -44,10 +44,10 @@ */ #include <arpa/inet.h> +#include <net/ethernet.h> #include <linux/errqueue.h> #include <linux/if_packet.h> #include <linux/net_tstamp.h> -#include <net/ethernet.h> #include <net/if.h> #include <stdio.h> #include <string.h>
View file
gst-plugins-bad-1.24.5.tar.xz/ext/hls/m3u8.c -> gst-plugins-bad-1.24.6.tar.xz/ext/hls/m3u8.c
Changed
@@ -1317,7 +1317,7 @@ return GST_HLS_MEDIA_TYPE_VIDEO; if (strcmp (type_name, "SUBTITLES") == 0) return GST_HLS_MEDIA_TYPE_SUBTITLES; - if (strcmp (type_name, "CLOSED_CAPTIONS") == 0) + if (strcmp (type_name, "CLOSED-CAPTIONS") == 0) return GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS; return GST_HLS_MEDIA_TYPE_INVALID; @@ -1406,7 +1406,7 @@ if (media->group_id == NULL || media->name == NULL) goto required_attributes_missing; - if (media->mtype == GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS) + if (media->mtype == GST_HLS_MEDIA_TYPE_CLOSED_CAPTIONS && media->uri != NULL) goto uri_with_cc; GST_DEBUG ("media: %s, group '%s', name '%s', uri '%s', %s %s %s, lang=%s",
View file
gst-plugins-bad-1.24.5.tar.xz/ext/isac/meson.build -> gst-plugins-bad-1.24.6.tar.xz/ext/isac/meson.build
Changed
@@ -1,4 +1,9 @@ -webrtc_audio_coding_dep = dependency('webrtc-audio-coding-1', required: get_option('isac')) +if cc.get_define('_MSC_VER') != '' + webrtc_audio_coding_dep = dependency('webrtc-audio-coding-1', required: get_option('isac'), default_options: 'default_library=static') +else + webrtc_audio_coding_dep = dependency('webrtc-audio-coding-1', required: get_option('isac')) +endif + if webrtc_audio_coding_dep.found() isac_sources =
View file
gst-plugins-bad-1.24.5.tar.xz/ext/qroverlay/gstbaseqroverlay.c -> gst-plugins-bad-1.24.6.tar.xz/ext/qroverlay/gstbaseqroverlay.c
Changed
@@ -125,10 +125,15 @@ { GstBaseQROverlayPrivate *priv = PRIV (self); + GST_DEBUG_OBJECT (self, "%" GST_PTR_FORMAT, caps); + if (gst_video_info_from_caps (&priv->info, caps)) priv->valid = TRUE; else priv->valid = FALSE; + + /* needs to redraw the overlay as its position depends of the video size */ + gst_mini_object_replace (((GstMiniObject **) & priv->prev_overlay), NULL); } static GstVideoOverlayComposition * @@ -192,6 +197,9 @@ y = (int) (priv->info.height - square_size) * (priv->y_percent / 100); y = GST_ROUND_DOWN_4 (y); + GST_DEBUG_OBJECT (self, "draw overlay at (%d,%d) size: %dx%d", x, y, + info.width, info.height); + rect = gst_video_overlay_rectangle_new_raw (buf, x, y, info.width, info.height, GST_VIDEO_OVERLAY_FORMAT_FLAG_NONE); comp = gst_video_overlay_composition_new (rect);
View file
gst-plugins-bad-1.24.5.tar.xz/ext/srt/gstsrtobject.c -> gst-plugins-bad-1.24.6.tar.xz/ext/srt/gstsrtobject.c
Changed
@@ -447,6 +447,7 @@ break; case PROP_AUTHENTICATION: srtobject->authentication = g_value_get_boolean (value); + break; case PROP_AUTO_RECONNECT: srtobject->auto_reconnect = g_value_get_boolean (value); break; @@ -555,7 +556,10 @@ GST_OBJECT_UNLOCK (srtobject->element); break; case PROP_AUTHENTICATION: + GST_OBJECT_LOCK (srtobject->element); g_value_set_boolean (value, srtobject->authentication); + GST_OBJECT_UNLOCK (srtobject->element); + break; case PROP_AUTO_RECONNECT: GST_OBJECT_LOCK (srtobject->element); g_value_set_boolean (value, srtobject->auto_reconnect);
View file
gst-plugins-bad-1.24.5.tar.xz/ext/svtav1/gstsvtav1enc.c -> gst-plugins-bad-1.24.6.tar.xz/ext/svtav1/gstsvtav1enc.c
Changed
@@ -888,8 +888,13 @@ return GST_FLOW_ERROR; } else if (res != EB_NoErrorEmptyQueue && output_frames && output_buf) { // AV1 has no frame re-ordering so always get the oldest frame - frame = - gst_video_encoder_get_oldest_frame (GST_VIDEO_ENCODER (svtav1enc)); + if (!(frame = + gst_video_encoder_get_oldest_frame (GST_VIDEO_ENCODER + (svtav1enc)))) { + svt_av1_enc_release_out_buffer (&output_buf); + break; + } + if (output_buf->pic_type == EB_AV1_KEY_PICTURE || output_buf->pic_type == EB_AV1_INTRA_ONLY_PICTURE) { GST_VIDEO_CODEC_FRAME_SET_SYNC_POINT (frame);
View file
gst-plugins-bad-1.24.5.tar.xz/ext/vulkan/vkh265dec.c -> gst-plugins-bad-1.24.6.tar.xz/ext/vulkan/vkh265dec.c
Changed
@@ -215,7 +215,7 @@ if (!self->decode_queue) { GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND, - ("Failed to create/retrieve vulkan H.264 decoder queue"), (NULL)); + ("Failed to create/retrieve vulkan H.265 decoder queue"), (NULL)); return FALSE; } @@ -223,7 +223,7 @@ VK_VIDEO_CODEC_OPERATION_DECODE_H265_BIT_KHR); if (!self->decoder) { GST_ELEMENT_ERROR (self, RESOURCE, NOT_FOUND, - ("Failed to create vulkan H.264 decoder"), (NULL)); + ("Failed to create vulkan H.265 decoder"), (NULL)); return FALSE; }
View file
gst-plugins-bad-1.24.5.tar.xz/ext/vulkan/vkupload.c -> gst-plugins-bad-1.24.6.tar.xz/ext/vulkan/vkupload.c
Changed
@@ -685,7 +685,7 @@ cmd_buf = raw->exec->cmd_buf; if (!gst_vulkan_operation_add_frame_barrier (raw->exec, *outbuf, - VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_TRANSFER_WRITE_BIT, VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL, NULL)) goto unlock_error;
View file
gst-plugins-bad-1.24.5.tar.xz/ext/webrtcdsp/gstwebrtcdsp.cpp -> gst-plugins-bad-1.24.6.tar.xz/ext/webrtcdsp/gstwebrtcdsp.cpp
Changed
@@ -628,6 +628,9 @@ GST_WEBRTC_ECHO_PROBE_UNLOCK (self->probe); } + config.pipeline.multi_channel_render = (info->channels > 1); + config.pipeline.multi_channel_capture = (probe_info.channels > 1); + /* Setup Filters */ // TODO: expose pre_amplifier
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/codecs/gsth264decoder.c -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/codecs/gsth264decoder.c
Changed
@@ -2180,10 +2180,46 @@ if (picture->second_field && picture->other_field && GST_CODEC_PICTURE_FRAME_NUMBER (picture) != GST_CODEC_PICTURE_FRAME_NUMBER (picture->other_field)) { - GstVideoCodecFrame *frame = gst_video_decoder_get_frame (decoder, + GstVideoCodecFrame *second_field = gst_video_decoder_get_frame (decoder, GST_CODEC_PICTURE_FRAME_NUMBER (picture)); + GstVideoCodecFrame *first_field = gst_video_decoder_get_frame (decoder, + GST_CODEC_PICTURE_FRAME_NUMBER (picture->other_field)); - gst_video_decoder_release_frame (decoder, frame); + /* Update frame duration. since we output a frame for two input field + * pictures, output buffer duration should be first-field-duration + + * second-field-duration */ + if (first_field) { + if (GST_CLOCK_TIME_IS_VALID (first_field->pts) && + GST_CLOCK_TIME_IS_VALID (second_field->pts)) { + GstClockTime first_field_end_time = first_field->pts; + GstClockTime frame_end_time = second_field->pts; + GstClockTime frame_duration; + + if (GST_CLOCK_TIME_IS_VALID (first_field->duration)) + first_field_end_time += first_field->duration; + + if (GST_CLOCK_TIME_IS_VALID (second_field->duration)) + frame_end_time += second_field->duration; + + frame_end_time = MAX (first_field_end_time, frame_end_time); + if (frame_end_time >= first_field->pts) { + frame_duration = frame_end_time - first_field->pts; + + GST_LOG_OBJECT (self, "Updating frame duration %" + GST_TIME_FORMAT " -> %" GST_TIME_FORMAT, + GST_TIME_ARGS (first_field->duration), + GST_TIME_ARGS (frame_duration)); + + first_field->duration = frame_duration; + } + } + gst_video_codec_frame_unref (first_field); + } else { + GST_ERROR_OBJECT (self, "Couldn't get first field codec frame %u", + GST_CODEC_PICTURE_FRAME_NUMBER (picture->other_field)); + } + + gst_video_decoder_release_frame (decoder, second_field); } /* C.4.4 */
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/cuda/gstcudanvrtc.cpp -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/cuda/gstcudanvrtc.cpp
Changed
@@ -45,10 +45,19 @@ } \ } G_STMT_END; +#define LOAD_OPTIONAL_SYMBOL(name,func) G_STMT_START { \ + if (!g_module_symbol (module, G_STRINGIFY (name), (gpointer *) &vtable->func)) { \ + GST_WARNING ("Failed to load '%s', %s", G_STRINGIFY (name), g_module_error()); \ + return TRUE; \ + } \ +} G_STMT_END; + + /* *INDENT-OFF* */ typedef struct _GstCudaNvrtcVTable { gboolean loaded; + gboolean have_cubin; nvrtcResult (*NvrtcCompileProgram) (nvrtcProgram prog, int numOptions, const char **options); @@ -154,6 +163,7 @@ } vtable = &gst_cuda_nvrtc_vtable; + vtable->have_cubin = FALSE; LOAD_SYMBOL (nvrtcCompileProgram, NvrtcCompileProgram); LOAD_SYMBOL (nvrtcCreateProgram, NvrtcCreateProgram); @@ -162,11 +172,12 @@ LOAD_SYMBOL (nvrtcGetPTXSize, NvrtcGetPTXSize); LOAD_SYMBOL (nvrtcGetProgramLog, NvrtcGetProgramLog); LOAD_SYMBOL (nvrtcGetProgramLogSize, NvrtcGetProgramLogSize); - LOAD_SYMBOL (nvrtcGetCUBINSize, NvrtcGetCUBINSize); - LOAD_SYMBOL (nvrtcGetCUBIN, NvrtcGetCUBIN); - vtable->loaded = TRUE; + LOAD_OPTIONAL_SYMBOL (nvrtcGetCUBINSize, NvrtcGetCUBINSize); + LOAD_OPTIONAL_SYMBOL (nvrtcGetCUBIN, NvrtcGetCUBIN); + vtable->have_cubin = TRUE; + return TRUE; error: @@ -387,6 +398,11 @@ if (!gst_cuda_nvrtc_load_library ()) return nullptr; + if (!gst_cuda_nvrtc_vtable.have_cubin) { + GST_DEBUG ("CUBIN related symbols are unavailable"); + return nullptr; + } + GST_TRACE ("CUDA kernel source \n%s", source); curet = CuDeviceGetAttribute (&major,
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/d3d11/hlsl/PSMain_converter.hlsl
Changed
@@ -1630,6 +1630,32 @@ " }\n" "};\n" "\n" +"class ConverterRange : IConverter\n" +"{\n" +" float4 Execute (float4 sample)\n" +" {\n" +" float3 out_space;\n" +" out_space.x = postCoeff.CoeffX.x * sample.x;\n" +" out_space.y = postCoeff.CoeffY.y * sample.y;\n" +" out_space.z = postCoeff.CoeffZ.z * sample.z;\n" +" out_space += postCoeff.Offset;\n" +" return float4 (clamp (out_space, postCoeff.Min, postCoeff.Max), sample.a);\n" +" }\n" +"};\n" +"\n" +"class ConverterSimple : IConverter\n" +"{\n" +" float4 Execute (float4 sample)\n" +" {\n" +" float3 out_space;\n" +" out_space.x = dot (postCoeff.CoeffX, sample.xyz);\n" +" out_space.y = dot (postCoeff.CoeffY, sample.xyz);\n" +" out_space.z = dot (postCoeff.CoeffZ, sample.xyz);\n" +" out_space += postCoeff.Offset;\n" +" return float4 (clamp (out_space, postCoeff.Min, postCoeff.Max), sample.a);\n" +" }\n" +"};\n" +"\n" "class ConverterGamma : IConverter\n" "{\n" " float4 Execute (float4 sample)\n"
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/va/gstvaallocator.c -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/va/gstvaallocator.c
Changed
@@ -543,6 +543,17 @@ return FALSE; } +static void +_close_fds (VADRMPRIMESurfaceDescriptor * desc) +{ +#ifndef G_OS_WIN32 + for (guint32 i = 0; i < desc->num_objects; i++) { + gint fd = desc->objectsi.fd; + close (fd); + } +#endif +} + static gboolean _va_create_surface_and_export_to_dmabuf (GstVaDisplay * display, guint usage_hint, guint64 * modifiers, guint num_modifiers, @@ -628,6 +639,8 @@ failed: { + /* Free DMAbufs on failure */ + _close_fds (&desc); va_destroy_surfaces (display, &surface, 1); return FALSE; } @@ -660,6 +673,8 @@ NULL, 0, &info, &surface, &desc)) return DRM_FORMAT_MOD_INVALID; + /* Close the fds we won't be using */ + _close_fds (&desc); va_destroy_surfaces (display, &surface, 1); return desc.objects0.drm_format_modifier;
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/va/gstvadisplay.c -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/va/gstvadisplay.c
Changed
@@ -480,7 +480,7 @@ if (priv->driver_major < major) return FALSE; - if (priv->driver_minor < minor) + if (priv->driver_major == major && priv->driver_minor < minor) return FALSE; return TRUE;
View file
gst-plugins-bad-1.24.5.tar.xz/gst-libs/gst/wayland/gstwlwindow.c -> gst-plugins-bad-1.24.6.tar.xz/gst-libs/gst/wayland/gstwlwindow.c
Changed
@@ -456,6 +456,8 @@ GstVideoRectangle src = { 0, }; GstVideoRectangle dst = { 0, }; GstVideoRectangle res; + int wp_src_width; + int wp_src_height; switch (priv->buffer_transform) { case WL_OUTPUT_TRANSFORM_NORMAL: @@ -464,6 +466,8 @@ case WL_OUTPUT_TRANSFORM_FLIPPED_180: src.w = priv->scaled_width; src.h = priv->video_height; + wp_src_width = priv->video_width; + wp_src_height = priv->video_height; break; case WL_OUTPUT_TRANSFORM_90: case WL_OUTPUT_TRANSFORM_270: @@ -471,7 +475,11 @@ case WL_OUTPUT_TRANSFORM_FLIPPED_270: src.w = priv->video_height; src.h = priv->scaled_width; + wp_src_width = priv->video_height; + wp_src_height = priv->video_width; break; + default: + g_assert_not_reached (); } dst.w = priv->render_rectangle.w; @@ -481,8 +489,8 @@ if (priv->video_viewport) { gst_video_center_rect (&src, &dst, &res, TRUE); wp_viewport_set_source (priv->video_viewport, wl_fixed_from_int (0), - wl_fixed_from_int (0), wl_fixed_from_int (priv->video_width), - wl_fixed_from_int (priv->video_height)); + wl_fixed_from_int (0), wl_fixed_from_int (wp_src_width), + wl_fixed_from_int (wp_src_height)); wp_viewport_set_destination (priv->video_viewport, res.w, res.h); } else { gst_video_center_rect (&src, &dst, &res, FALSE);
View file
gst-plugins-bad-1.24.5.tar.xz/gst-plugins-bad.doap -> gst-plugins-bad-1.24.6.tar.xz/gst-plugins-bad.doap
Changed
@@ -35,6 +35,16 @@ <release> <Version> + <revision>1.24.6</revision> + <branch>1.24</branch> + <name></name> + <created>2024-07-29</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.24.6.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.24.5</revision> <branch>1.24</branch> <name></name>
View file
gst-plugins-bad-1.24.5.tar.xz/gst/rtmp2/rtmp/amf.c -> gst-plugins-bad-1.24.6.tar.xz/gst/rtmp2/rtmp/amf.c
Changed
@@ -903,7 +903,7 @@ GST_TRACE ("Starting parse with %" G_GSIZE_FORMAT " bytes", parser.size); node = parse_value (&parser); - if (gst_amf_node_get_type (node) == GST_AMF_TYPE_INVALID) { + if (!node || gst_amf_node_get_type (node) == GST_AMF_TYPE_INVALID) { GST_ERROR ("invalid value"); goto out; } @@ -946,13 +946,13 @@ GST_TRACE ("Starting parse with %" G_GSIZE_FORMAT " bytes", parser.size); node1 = parse_value (&parser); - if (gst_amf_node_get_type (node1) != GST_AMF_TYPE_STRING) { + if (!node1 || gst_amf_node_get_type (node1) != GST_AMF_TYPE_STRING) { GST_ERROR ("no command name"); goto out; } node2 = parse_value (&parser); - if (gst_amf_node_get_type (node2) != GST_AMF_TYPE_NUMBER) { + if (!node2 || gst_amf_node_get_type (node2) != GST_AMF_TYPE_NUMBER) { GST_ERROR ("no transaction ID"); goto out; }
View file
gst-plugins-bad-1.24.5.tar.xz/meson.build -> gst-plugins-bad-1.24.6.tar.xz/meson.build
Changed
@@ -1,5 +1,5 @@ project('gst-plugins-bad', 'c', 'cpp', - version : '1.24.5', + version : '1.24.6', meson_version : '>= 1.1', default_options : 'warning_level=1', 'buildtype=debugoptimized' )
View file
gst-plugins-bad-1.24.5.tar.xz/po/gst-plugins-bad-1.0.pot -> gst-plugins-bad-1.24.6.tar.xz/po/gst-plugins-bad-1.0.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-bad-1.24.5\n" +"Project-Id-Version: gst-plugins-bad-1.24.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 12:56+0100\n" +"POT-Creation-Date: 2024-07-29 16:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
gst-plugins-bad-1.24.5.tar.xz/po/gst-plugins-bad.pot -> gst-plugins-bad-1.24.6.tar.xz/po/gst-plugins-bad.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-bad-1.24.5\n" +"Project-Id-Version: gst-plugins-bad-1.24.6\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2024-06-20 12:56+0100\n" +"POT-Creation-Date: 2024-07-29 16:42+0100\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
gst-plugins-bad-1.24.5.tar.xz/sys/applemedia/avfdeviceprovider.m -> gst-plugins-bad-1.24.6.tar.xz/sys/applemedia/avfdeviceprovider.m
Changed
@@ -48,6 +48,8 @@ // https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/886 dm_class->probe = gst_avf_device_provider_probe; + gst_avf_video_src_debug_init (); + gst_device_provider_class_set_static_metadata (dm_class, "AVF Device Provider", "Source/Video", "List and provide AVF source devices",
View file
gst-plugins-bad-1.24.5.tar.xz/sys/applemedia/avfvideosrc.h -> gst-plugins-bad-1.24.6.tar.xz/sys/applemedia/avfvideosrc.h
Changed
@@ -83,6 +83,7 @@ GType gst_avf_video_src_get_type (void); +void gst_avf_video_src_debug_init (void); GstCaps *gst_av_capture_device_get_caps (AVCaptureDevice *device, AVCaptureVideoDataOutput *output, GstAVFVideoSourceOrientation orientation); G_END_DECLS
View file
gst-plugins-bad-1.24.5.tar.xz/sys/applemedia/avfvideosrc.m -> gst-plugins-bad-1.24.6.tar.xz/sys/applemedia/avfvideosrc.m
Changed
@@ -1181,6 +1181,18 @@ static void gst_avf_video_src_set_context (GstElement * element, GstContext * context); +void +gst_avf_video_src_debug_init (void) +{ + static gsize _init = 0; + + if (g_once_init_enter (&_init)) { + GST_DEBUG_CATEGORY_INIT (gst_avf_video_src_debug, "avfvideosrc", + 0, "iOS/MacOS AVFoundation video source"); + g_once_init_leave (&_init, 1); + } +} + static void gst_avf_video_src_class_init (GstAVFVideoSrcClass * klass) { @@ -1277,8 +1289,7 @@ 0, G_MAXUINT, 0, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS)); #endif - GST_DEBUG_CATEGORY_INIT (gst_avf_video_src_debug, "avfvideosrc", - 0, "iOS/MacOS AVFoundation video source"); + gst_avf_video_src_debug_init (); gst_type_mark_as_plugin_api (GST_TYPE_AVF_VIDEO_SOURCE_POSITION, 0); gst_type_mark_as_plugin_api (GST_TYPE_AVF_VIDEO_SOURCE_ORIENTATION, 0);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/applemedia/vtenc.c -> gst-plugins-bad-1.24.6.tar.xz/sys/applemedia/vtenc.c
Changed
@@ -1720,7 +1720,7 @@ } CFNumberGetValue (value, kCFNumberSInt32Type, &frames); - if (self->latency_frames == -1 || self->latency_frames != frames) { + if (MAX (self->latency_frames, frames) != self->latency_frames) { self->latency_frames = frames; if (self->video_info.fps_d == 0 || self->video_info.fps_n == 0) { /* FIXME: Assume 25fps. This is better than reporting no latency at
View file
gst-plugins-bad-1.24.5.tar.xz/sys/d3d11/gstd3d11compositor.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/d3d11/gstd3d11compositor.cpp
Changed
@@ -1544,6 +1544,9 @@ } } } + + self->clear_color2 = self->clear_color0; + self->clear_color2.color03 = 0.0; } static gboolean
View file
gst-plugins-bad-1.24.5.tar.xz/sys/d3d12/gstd3d12compositor.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/d3d12/gstd3d12compositor.cpp
Changed
@@ -1895,6 +1895,9 @@ } } } + + priv->clear_color2 = priv->clear_color0; + priv->clear_color2.color03 = 0.0; } static gboolean
View file
gst-plugins-bad-1.24.5.tar.xz/sys/d3d12/gstd3d12converter.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/d3d12/gstd3d12converter.cpp
Changed
@@ -884,7 +884,7 @@ } auto in_trc = in_info->colorimetry.transfer; - auto out_trc = in_info->colorimetry.transfer; + auto out_trc = out_info->colorimetry.transfer; auto gamma_dec_table = gst_d3d12_converter_get_gamma_dec_table (in_trc); auto gamma_enc_table = gst_d3d12_converter_get_gamma_enc_table (out_trc);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/qsv/gstqsvav1enc.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/qsv/gstqsvav1enc.cpp
Changed
@@ -703,6 +703,9 @@ max_resolution.height = gst_qsv_resolutionsi.height; } + if (max_resolution.width == 0 || max_resolution.height == 0) + return; + GST_INFO ("Maximum supported resolution: %dx%d", max_resolution.width, max_resolution.height);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/qsv/gstqsvh264enc.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/qsv/gstqsvh264enc.cpp
Changed
@@ -2174,6 +2174,9 @@ max_resolution.height = gst_qsv_resolutionsi.height; } + if (max_resolution.width == 0 || max_resolution.height == 0) + return; + GST_INFO ("Maximum supported resolution: %dx%d", max_resolution.width, max_resolution.height);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/qsv/gstqsvh265enc.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/qsv/gstqsvh265enc.cpp
Changed
@@ -1532,6 +1532,9 @@ max_resolution.height = gst_qsv_resolutionsi.height; } + if (max_resolution.width == 0 || max_resolution.height == 0) + return; + GST_INFO ("Maximum supported resolution: %dx%d", max_resolution.width, max_resolution.height);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/qsv/gstqsvjpegenc.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/qsv/gstqsvjpegenc.cpp
Changed
@@ -439,6 +439,9 @@ max_resolution.height = gst_qsv_resolutionsi.height; } + if (max_resolution.width == 0 || max_resolution.height == 0) + return; + GST_INFO ("Maximum supported resolution: %dx%d", max_resolution.width, max_resolution.height);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/qsv/gstqsvvp9enc.cpp -> gst-plugins-bad-1.24.6.tar.xz/sys/qsv/gstqsvvp9enc.cpp
Changed
@@ -922,6 +922,9 @@ max_resolution.height = gst_qsv_resolutionsi.height; } + if (max_resolution.width == 0 || max_resolution.height == 0) + return; + GST_INFO ("Maximum supported resolution: %dx%d", max_resolution.width, max_resolution.height);
View file
gst-plugins-bad-1.24.5.tar.xz/sys/va/gstvabase.c -> gst-plugins-bad-1.24.6.tar.xz/sys/va/gstvabase.c
Changed
@@ -39,39 +39,33 @@ _try_import_dmabuf_unlocked (GstVaBufferImporter * importer, GstBuffer * inbuf) { GstVideoMeta *meta; - GstVideoInfo in_info = *importer->in_info; GstVideoInfoDmaDrm drm_info = *importer->in_drm_info; GstMemory *memsGST_VIDEO_MAX_PLANES; guint i, n_planes, usage_hint; gsize offsetGST_VIDEO_MAX_PLANES; uintptr_t fdGST_VIDEO_MAX_PLANES; - gsize plane_sizeGST_VIDEO_MAX_PLANES; - GstVideoAlignment align = { 0, }; /* This will eliminate most non-dmabuf out there */ if (!gst_is_dmabuf_memory (gst_buffer_peek_memory (inbuf, 0))) return FALSE; - n_planes = GST_VIDEO_INFO_N_PLANES (&in_info); + n_planes = GST_VIDEO_INFO_N_PLANES (&drm_info.vinfo); meta = gst_buffer_get_video_meta (inbuf); /* Update video info importerd on video meta */ if (meta) { - GST_VIDEO_INFO_WIDTH (&in_info) = meta->width; - GST_VIDEO_INFO_HEIGHT (&in_info) = meta->height; + GST_VIDEO_INFO_WIDTH (&drm_info.vinfo) = meta->width; + GST_VIDEO_INFO_HEIGHT (&drm_info.vinfo) = meta->height; g_assert (n_planes == meta->n_planes); for (i = 0; i < n_planes; i++) { - GST_VIDEO_INFO_PLANE_OFFSET (&in_info, i) = meta->offseti; - GST_VIDEO_INFO_PLANE_STRIDE (&in_info, i) = meta->stridei; + GST_VIDEO_INFO_PLANE_OFFSET (&drm_info.vinfo, i) = meta->offseti; + GST_VIDEO_INFO_PLANE_STRIDE (&drm_info.vinfo, i) = meta->stridei; } } - if (!gst_video_info_align_full (&in_info, &align, plane_size)) - return FALSE; - /* Find and validate all memories */ for (i = 0; i < n_planes; i++) { guint length; @@ -79,7 +73,7 @@ gsize mem_skip; if (!gst_buffer_find_memory (inbuf, - GST_VIDEO_INFO_PLANE_OFFSET (&in_info, i), plane_sizei, &mem_idx, + GST_VIDEO_INFO_PLANE_OFFSET (&drm_info.vinfo, i), 1, &mem_idx, &length, &mem_skip)) return FALSE;
View file
gst-plugins-bad-1.24.5.tar.xz/sys/va/plugin.c -> gst-plugins-bad-1.24.6.tar.xz/sys/va/plugin.c
Changed
@@ -174,6 +174,13 @@ GHashTableIter iter; gpointer key, value; + if (GST_VA_DISPLAY_IS_IMPLEMENTATION (device->display, INTEL_I965) + && g_getenv ("GST_VA_ALL_DRIVERS") == NULL) { + gst_plugin_add_status_warning (plugin, + "The Intel i965 VA driver is blocklisted for encoding, use GST_VA_ALL_DRIVERS to overwrite."); + return; + } + g_hash_table_iter_init (&iter, encoders); while (g_hash_table_iter_next (&iter, &key, &value)) { guint32 codec = *((gint64 *) key);
View file
gst-plugins-bad-1.24.5.tar.xz/tests/check/elements/lc3.c -> gst-plugins-bad-1.24.6.tar.xz/tests/check/elements/lc3.c
Changed
@@ -100,71 +100,6 @@ GST_PAD_ALWAYS, GST_STATIC_CAPS (RAW_AUDIO_CAPS_STRING)); -/* a fixed array of the size `frame-bytes` (i.e. 200) - * contains the first few bytes of the encoded output - * for an input buffer containing all 1's e.g. {'1','1','1','1' ....} - */ -static guint8 lc3_encoded_buff_48K200 = { - 0x16, 0x34, 0x7b, 0x8f, 0x5f, 0xd4, 0xf0, 0xa8, 0x34, 0x7f, 0xd1, 0xc7, - 0x55, 0xdc, 0x1a, 0x85, 0x77, 0x8d, 0xb1, 0xb7, 0x78, 0x2c, 0x20, 0x88, - 0x87, 0xd3, 0x4d, 0xb7, 0xf5, 0x1a, 0x15, 0x7d, 0xc1, 0xde, 0x25, 0xca, - 0x94, 0x80, 0x1d, 0x95, 0xbd, 0xf3, 0x50, 0x01, 0x64, 0xe2, 0x60, 0x28, - 0xec, 0xd3, 0xf6, 0x72, 0x2b, 0xf2, 0x6d, 0xf0, 0x83, 0xb4, 0x68, 0x97, - 0x7e, 0x6f, 0x49, 0xc6, 0x38, 0x79, 0x9e, 0xa8, 0x49, 0xab, 0xfc, 0xca, - 0xb8, 0x5c, 0xc6, 0xa5, 0xd9, 0x6e, 0xb4, 0xd2, 0x6a, 0x79, 0x17, 0x29, - 0xac, 0x70, 0x32, 0x6b, 0x13, 0x1b, 0x65, 0xdf, 0xc8, 0x6e, 0x81, 0xa4, - 0xe2, 0x8e, 0xd6, 0x4d, 0xe7, 0x30, 0xdc, 0x02, 0x12, 0xbb, 0x8c, 0x4d, - 0x11, 0x82, 0x66, 0xfa, 0x23, 0xa7, 0xcc, 0xd0, 0x35, 0x2b, 0x1d, 0x30, - 0x09, 0x52, 0x35, 0xf1, 0x3f, 0xc9, 0xb4, 0x52, 0xb5, 0x2b, 0x52, 0xb5, - 0x2b, 0x52, 0xb5, 0x2b, 0x52, 0xb5, 0x2b, 0x52, 0xb5, 0x2b, 0x52, 0xb5, - 0x2b, 0x52, 0xb5, 0x2b, 0x52, 0xb5, 0x55, 0xa9, 0x5a, 0x94, 0x6a, 0x29, - 0x8d, 0x59, 0x4d, 0xd6, 0x75, 0x53, 0x59, 0xd4, 0x4b, 0x64, 0x72, 0xa6, - 0x9d, 0x19, 0x4c, 0xae, 0xea, 0xd1, 0xc5, 0x91, 0x37, 0x50, 0x0e, 0xea, - 0xfb, 0xbb, 0x6b, 0x49, 0xee, 0xe3, 0x91, 0x96, 0xe2, 0x7a, 0x39, 0x84, - 0x1d, 0x17, 0xb8, 0x92, 0x34, 0x3c, 0x86, 0x3c -}; - -static guint8 lc3_encoded_buff_48K_7500us200 = { - 0x08, 0x90, 0x6b, 0x8b, 0x5d, 0x8e, 0x39, 0x55, 0x6c, 0x78, 0xb9, 0xed, - 0x00, 0x10, 0xeb, 0x7a, 0x67, 0x97, 0x4c, 0x59, 0xf4, 0xde, 0x4e, 0xc6, - 0x21, 0x9f, 0xf0, 0x83, 0x63, 0xd1, 0xa3, 0xe2, 0x28, 0x11, 0x30, 0xa0, - 0xf9, 0xa7, 0x6c, 0x38, 0x4c, 0xfb, 0xf0, 0xc3, 0x68, 0x70, 0xa3, 0x6e, - 0x3c, 0x4f, 0x8b, 0xd1, 0xd9, 0x67, 0x9b, 0x2c, 0x2b, 0x03, 0xca, 0xc8, - 0xa6, 0x62, 0xb1, 0xb1, 0xe2, 0x8b, 0x29, 0x5e, 0xd2, 0x6e, 0xaf, 0x3e, - 0xc3, 0x04, 0x0f, 0x16, 0xc8, 0xb4, 0xaf, 0x37, 0x3c, 0x64, 0x99, 0x52, - 0xb8, 0x55, 0x0e, 0x23, 0x6f, 0xf2, 0x1c, 0xc1, 0x10, 0xad, 0xd2, 0x41, - 0x55, 0x2a, 0xad, 0x2a, 0x96, 0xab, 0x4a, 0xa5, 0x55, 0xaa, 0xa5, 0x55, - 0xaa, 0xaa, 0xaa, 0xad, 0x56, 0x95, 0x56, 0xab, 0x4a, 0xd5, 0xab, 0x4a, - 0xd5, 0x68, 0x8b, 0x99, 0x5e, 0xaa, 0x5c, 0x60, 0x83, 0xcd, 0x99, 0x1b, - 0x69, 0xf7, 0xd0, 0xfa, 0x04, 0xeb, 0xb8, 0x24, 0xf1, 0x59, 0x00, 0xca, - 0x20, 0xe8, 0x38, 0x3c, 0x54, 0xac, 0x08, 0x90, 0x6b, 0x8b, 0x5d, 0x8e, - 0x39, 0x55, 0x6c, 0x78, 0xb9, 0xed, 0x00, 0x10, 0xeb, 0x7a, 0x67, 0x97, - 0x4c, 0x59, 0xf4, 0xde, 0x4e, 0xc6, 0x21, 0x9f, 0xf0, 0x83, 0x63, 0xd1, - 0xa3, 0xe2, 0x28, 0x11, 0x30, 0xa0, 0xf9, 0xa7, 0x6c, 0x38, 0x4c, 0xfb, - 0xf0, 0xc3, 0x68, 0x70, 0xa3, 0x6e, 0x3c, 0x4f -}; - - -static guint8 lc3_encoded_buff_24K200 = { - 0x08, 0xb8, 0xd1, 0xf2, 0xa8, 0x25, 0x52, 0x16, 0x75, 0x74, 0xab, 0x3d, - 0xae, 0x0f, 0xed, 0x0a, 0xfe, 0x7a, 0xf4, 0x16, 0x85, 0x14, 0x6f, 0x12, - 0x42, 0x6f, 0xdc, 0xea, 0x7e, 0x55, 0x01, 0x0c, 0x7d, 0x70, 0x91, 0x9d, - 0x42, 0xd9, 0xc2, 0x1e, 0x37, 0xdd, 0x27, 0xb6, 0x6e, 0x21, 0x48, 0xc0, - 0x6d, 0xe8, 0x56, 0xe2, 0x62, 0x56, 0x5b, 0x89, 0x0b, 0x5d, 0x4c, 0xc9, - 0x1e, 0x37, 0xe8, 0x7f, 0xb3, 0xa4, 0x32, 0xee, 0xce, 0x41, 0x26, 0x46, - 0x75, 0x49, 0xec, 0xdd, 0x7e, 0xed, 0x10, 0x84, 0xc8, 0x74, 0xac, 0xbc, - 0xff, 0x7b, 0x3b, 0x9e, 0xf8, 0xb7, 0xee, 0x26, 0xe6, 0xa5, 0xc0, 0xfb, - 0x4b, 0x2f, 0x90, 0x4c, 0x68, 0x7d, 0x57, 0x2e, 0x5a, 0xba, 0xaa, 0x45, - 0xf3, 0xba, 0xae, 0x5c, 0x91, 0xa8, 0xa2, 0x13, 0x74, 0x6c, 0xa2, 0x15, - 0x25, 0x6e, 0xb8, 0x26, 0x79, 0x8c, 0x3a, 0xe5, 0x55, 0x55, 0xcd, 0xb4, - 0xe5, 0x24, 0xd3, 0xfa, 0x89, 0xb0, 0x33, 0x59, 0x55, 0x45, 0x19, 0x92, - 0xad, 0xb2, 0xdb, 0x63, 0xc8, 0x19, 0xae, 0xb2, 0x0e, 0x23, 0xb9, 0x15, - 0x37, 0x16, 0xa4, 0xbc, 0xcc, 0xf4, 0x48, 0x4a, 0x50, 0x8e, 0x20, 0xad, - 0x8c, 0xb5, 0x9c, 0x45, 0xcd, 0xcc, 0xea, 0xd4, 0xc9, 0xa0, 0xc9, 0xac, - 0x57, 0x18, 0x10, 0x9c, 0xc3, 0x1d, 0x2d, 0xb2, 0x87, 0x0c, 0x3b, 0xe9, - 0xe3, 0xbf, 0x24, 0x08, 0x47, 0x07, 0x15, 0xde -}; - static GstElement * setup_lc3enc (GstStaticPadTemplate * srctmpl, GstStaticPadTemplate * sinktmpl) { @@ -215,8 +150,7 @@ } static void -enc_buffer_test (gint rate, gint channels, gint nbuffers, int frame_dur_us, - guint8 * expected_output) +enc_buffer_test (gint rate, gint channels, gint nbuffers, int frame_dur_us) { GstElement *lc3enc; GstBuffer *inbuffer, *outbuffer; @@ -288,27 +222,17 @@ for (i = 0; i < num_buffers; ++i) { GstMapInfo map; gsize size; - guint8 *data; outbuffer = GST_BUFFER (buffers->data); fail_if (outbuffer == NULL); gst_buffer_map (outbuffer, &map, GST_MAP_READ); - data = map.data; size = map.size; /* check the size of each out buffer per channel * is same as frame_bytes */ fail_unless_equals_int (size / channels, frame_bytes); - if (i == 0) { - /* verify the first channel data */ - fail_unless (0 == memcmp (data, expected_output, frame_bytes)); - - /* verify the first channel data */ - fail_unless (0 == memcmp (data + (frame_bytes * (channels - 1)), - expected_output, frame_bytes)); - } gst_buffer_unmap (outbuffer, &map); @@ -396,21 +320,21 @@ GST_START_TEST (test_48k_8ch_10000us) { - enc_buffer_test (48000, 8, 100, 10000, lc3_encoded_buff_48K); + enc_buffer_test (48000, 8, 100, 10000); } GST_END_TEST; GST_START_TEST (test_48k_8ch_7500us) { - enc_buffer_test (48000, 8, 100, 7500, lc3_encoded_buff_48K_7500us); + enc_buffer_test (48000, 8, 100, 7500); } GST_END_TEST; GST_START_TEST (test_24k_4ch_10000us) { - enc_buffer_test (24000, 4, 150, 10000, lc3_encoded_buff_24K); + enc_buffer_test (24000, 4, 150, 10000); } GST_END_TEST;
View file
gst-plugins-bad-1.24.5.tar.xz/tests/check/libs/vkvideodecode.c -> gst-plugins-bad-1.24.6.tar.xz/tests/check/libs/vkvideodecode.c
Changed
@@ -129,7 +129,7 @@ gst_vulkan_image_buffer_pool_config_set_allocation_params (config, usage, VK_MEMORY_PROPERTY_DEVICE_LOCAL_BIT, - VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR, VK_ACCESS_TRANSFER_WRITE_BIT); + VK_IMAGE_LAYOUT_VIDEO_DECODE_DST_KHR, VK_ACCESS_NONE); gst_vulkan_image_buffer_pool_config_set_decode_caps (config, profile_caps); gst_caps_unref (profile_caps); @@ -186,8 +186,7 @@ VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, VK_PIPELINE_STAGE_TRANSFER_BIT); gst_vulkan_operation_add_frame_barrier (exec, pic->out, - VK_PIPELINE_STAGE_ALL_COMMANDS_BIT, - VK_PIPELINE_STAGE_COMPUTE_SHADER_BIT, + VK_PIPELINE_STAGE_TRANSFER_BIT, VK_ACCESS_TRANSFER_READ_BIT, VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL, NULL); barriers = gst_vulkan_operation_retrieve_image_barriers (exec);
Locations
Projects
Search
Status Monitor
Help
Open Build Service
OBS Manuals
API Documentation
OBS Portal
Reporting a Bug
Contact
Mailing List
Forums
Chat (IRC)
Twitter
Open Build Service (OBS)
is an
openSUSE project
.