From ppachang at qti.qualcomm.com Wed Jun 11 06:32:07 2025 From: ppachang at qti.qualcomm.com (Pratik Pachange) Date: Wed, 11 Jun 2025 06:32:07 +0000 Subject: v4l2 encoder: size in info object not updated if capture port sizeimage is changed in driver Message-ID: Hi, In gstv4l2videoenc, gst_v4l2_video_enc_set_format(), S_FMT is called on CAPTURE port first and then later, on the OUTPUT port. Initially, on capture port, the width and height values set using S_FMT call are ignored by the driver and it returns default values. (https://docs.kernel.org/userspace-api/media/v4l/dev-encoder.html#initialization) Later, when S_FMT is called on output port, video driver internally reconfigures the capture port with the desired width and height and updates the sizeimage of the capture buffers. But this updated sizeimage value is not updated in the Gstvideoinfo of v4l2object of capture side and the bufferpool created during decide_allocation remains with the older value. This is causing assertions when the encoded output is of bigger size than the gst buffers of v4l2bufferpool. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4409 1. sizeimage that we get from video driver [cid:image001.png at 01DBDAC4.66AEF9B0] 2. The buffers allocated on capture queue are of bigger size. [cid:image002.png at 01DBDAC4.66AEF9B0] 3. Gst v4l2bufferpool is unaware of the change in size. [cid:image003.png at 01DBDAC4.66AEF9B0] 4. If the encoded output size is greater than the size of gstbuffer in v4l2bufferpool, there are assertion while trying to copy the buffers. [cid:image004.png at 01DBDAC4.66AEF9B0] How can we address this issue, because decide_allocation is completed before s_fmt is called on output queue. Thanks Pratik -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 78514 bytes Desc: image001.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.png Type: image/png Size: 95512 bytes Desc: image002.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 31153 bytes Desc: image003.png URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.png Type: image/png Size: 7434 bytes Desc: image004.png URL: From nicolas at ndufresne.ca Wed Jun 11 12:43:53 2025 From: nicolas at ndufresne.ca (Nicolas Dufresne) Date: Wed, 11 Jun 2025 08:43:53 -0400 Subject: v4l2 encoder: size in info object not updated if capture port sizeimage is changed in driver In-Reply-To: References: Message-ID: Hi Pratik, Le mer. 11 juin 2025, 02 h 32, Pratik Pachange a ?crit : > Hi, > > > > In gstv4l2videoenc, gst_v4l2_video_enc_set_format(), S_FMT is called on > CAPTURE port first and then later, on the OUTPUT port. > > > > Initially, on capture port, the width and height values set using S_FMT > call are ignored by the driver and it returns default values. ( > https://docs.kernel.org/userspace-api/media/v4l/dev-encoder.html#initialization > ) > It's a very bad spec decision clearly, since it imply doing back and forth, doing useless ioctl. I'll have to check if we can change that, it's possible it miss-match with actual code. Later, when S_FMT is called on output port, video driver internally > reconfigures the capture port with the desired width and height and updates > the sizeimage of the capture buffers > But this updated sizeimage value is not updated in the Gstvideoinfo of > v4l2object of capture side and the bufferpool created during > decide_allocation remains with the older value. > This is not specced apparently. I pretty much dislike a flow that requires going backward. Originally, it's application task to guess the compressed buffer size. I'm pretty sure GStreamer simply assumed this size (2M or more, would have to check) will be used. In GStreamer itself, due to lack of spec, all I can do is increased/ improved the requested size image. Nicolas > This is causing assertions when the encoded output is of bigger size than > the gst buffers of v4l2bufferpool. > > https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/4409 > > > 1. sizeimage that we get from video driver > > > > > 2. The buffers allocated on capture queue are of bigger size. > > > > > 3. Gst v4l2bufferpool is unaware of the change in size. > > > > > 4. If the encoded output size is greater than the size of gstbuffer in > v4l2bufferpool, there are assertion while trying to copy the buffers. > > > > > > > > How can we address this issue, because decide_allocation is completed > before s_fmt is called on output queue. > > > > > Thanks > Pratik > > > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.png Type: image/png Size: 78514 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image002.png Type: image/png Size: 95512 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image003.png Type: image/png Size: 31153 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image004.png Type: image/png Size: 7434 bytes Desc: not available URL: From t.i.m at zen.co.uk Wed Jun 11 16:36:58 2025 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Wed, 11 Jun 2025 17:36:58 +0100 Subject: GStreamer 1.24.13 old-stable bug fix release Message-ID: The GStreamer team is pleased to announce another (and probably the last) bug fix release in the old-stable 1.24 release series. This release only contains bug fixes and security fixes. It should be safe to upgrade from 1.24.x and we would recommend you update at your earliest convenience. Release notes?with details about changes and fixed bugs can be found at: https://gstreamer.freedesktop.org/releases/1.24/#1.24.13 Our latest security advisories can be found at: https://gstreamer.freedesktop.org/security/ The 1.24 stable series is no longer actively maintained and has been superseded by the?GStreamer 1.26 stable series [1]?now. Highlights: * d3d12: Fix shaders failing to compile with newer dxc versions * decklinkvideosink: Fix handling of caps framerate in auto mode; also a decklinkaudiosink fix * devicemonitor: Fix potential crash macOS when a device is unplugged * gst-libav: Fix crash in audio encoders like avenc_ac3 if input data has insufficient alignment * gst-libav: Fix build against FFmpeg 4.2 as in Ubuntu 20.04 * gst-editing-services: Fix Python library name fetching on Windows * netclientclock: Don't store failed internal clocks in the cache, so applications can re-try later * oggdemux: Seeking and duration fixes * osxaudiosrc: Fixes for failing init/no output on recent iOS versions * qtdemux: Use mvhd transform matrix and support for flipping * rtpvp9pay: Fix profile parsing * splitmuxsrc: Fix use with decodebin3 which would occasionally fail with an assertion when seeking * tsdemux: Fix backwards PTS wraparound detection with ignore-pcr=true * video-overlay-composition: Declare the video/size/orientation tags for the meta and implement scale transformations * vtdec: Fix seeks occasionally hanging on macOS due to a race condition when draining * webrtc: Fix duplicate payload types with RTX and multiple video codecs * win32-pluginloader: Make sure not to create any windows when inspecting plugins * wpe: Various fixes for re-negotiation, latency reporting, progress messages on startup * x264enc: Add missing data to AvcDecoderConfigurationRecord in codec_data for high profile variants * cerbero: Support using ccache with cmake if enabled * Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements Binaries for Android, iOS, Mac OS X and Windows should be available soon. As always, please let us know of any issues you run into by filing an issue or Merge Request in?GitLab [2]: Thanks! [1] GStreamer 1.26 stable series https://gstreamer.freedesktop.org/releases/1.26/ [2] GitLab https://gitlab.freedesktop.org/gstreamer/gstreamer/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.24.13.tar.xz ed4678e1d0708db01a469ae5dd31c10cac73c0fb3f7c2c471b0d3cab0affc7d1 https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.24.13.tar.xz 31a4a34e02df0471274fd0e8016495475b670320d20a3349faf0634340166c42 https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.24.13.tar.xz 574ac6f9fd84b32eb04e80572391d6762df6f9802a47bc0386cd6cc48c14d08b https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.24.13.tar.xz dc08bb11dce0a43453466fb9034e4fe06709fb5af68475bcf6d288693b661a5d https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.24.13.tar.xz 3cbe7d7cec5db958781f7ab66caa5afd67b133c223fde71f0403277731f0cc4d https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.24.13.tar.xz 150e2b70588fa32a1294f42665756f2175417ce4b5988e2c2081b683719aa6c1 https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.24.13.tar.xz e8dd102a3d1026414f0048daed91078e7958012b56efea7e45fe2b3448b42d6f https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.24.13.tar.xz e9792ecff0df0b1dbbf90cfb271b9ce840bc048148c2d9d49fb6c6062bd18f4d https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.24.13.tar.xz abb9a1edc11d67a463b6cef7b74a8b10ea6c342760c012d597102a7bfb7e09da https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.24.13.tar.xz b92c008841387043aec83b08b1fa8cf41e7866a106311a7d99e274e7d24ddc47 https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.24.13.tar.xz 2485b30dfb94b65e2e4befb0b9367fbecbfcf2102b24fa9138df4403497e7b73 https://gstreamer.freedesktop.org/src/gstreamer-sharp/gstreamer-sharp-1.24.13.tar.xz b76107251b6448762a2ed00c9d2b376fd631525b5bd1860aa6c9dc808403cbd5 https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.24.13.tar.xz e82bcf0b22a712be98b9d20dd10b6229f8559a2fc2f0df926ca9ede31f58a3da -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: This is a digitally signed message part URL: From t.i.m at zen.co.uk Thu Jun 26 23:29:29 2025 From: t.i.m at zen.co.uk (Tim-Philipp =?ISO-8859-1?Q?M=FCller?=) Date: Fri, 27 Jun 2025 00:29:29 +0100 Subject: GStreamer 1.26.3 stable bug fix release Message-ID: <9c3bf513f1867e2770d3ee83d312d448cd6aa85d.camel@zen.co.uk> The GStreamer team is pleased to announce another bug fix release in the stable 1.26 release series. This release only contains bug fixes as well as a security fix and some important playback fixes. It should be safe to upgrade from 1.26.x and we would recommend you update at your earliest convenience. Release notes?with details about changes and fixed bugs can be found at: https://gstreamer.freedesktop.org/releases/1.26/#1.26.3 Highlights: * Security fix [1]?for the H.266 video parser * Fix regression for WAV files with acid chunks * Fix high memory consumption caused by a text handling regression in uridecodebin3 and playbin3 * Fix panic on late GOP in fragmented MP4 muxer * Closed caption conversion, rendering and muxing improvements * Decklink video sink preroll frame rendering and clock drift handling fixes * MPEG-TS demuxing and muxing fixes * MP4 muxer fixes for creating very large files with faststart support * New thread-sharing 1:N inter source and sink elements, and a ts- rtpdtmfsrc * New speech synthesis element around ElevenLabs API * RTP H.265 depayloader fixes and improvements, as well as TWCC and GCC congestion control fixes * Seeking improvements in DASH client for streams with gaps * WebRTC sink and source fixes and enhancements, including to LiveKit and WHIP signallers * The macOS osxvideosink now posts navigation messages * QtQML6GL video sink input event handling improvements * Overhaul detection of hardware-accelerated video codecs on Android * Video4Linux capture source fixes and support for BT.2100 PQ and 1:4:5:3 colorimetry * Vulkan buffer upload and memory handling regression fixes * gst-python: fix various regressions introduced in 1.26.2 * cerbero: fix text relocation issues on 32-bit Android and fix broken VisualStudio VC templates * packages: ship pbtypes plugin and update openssl to 3.5.0 LTS * Various bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements Our latest security advisories can be found at: https://gstreamer.freedesktop.org/security/ Binaries for Android, iOS, Mac OS X and Windows should be available soon. As always, please let us know of any issues you run into by filing an issue or Merge Request in?GitLab [2]: Thanks! [1] Security fix https://gstreamer.freedesktop.org/security/sa-2025-0007.html [2] GitLab https://gitlab.freedesktop.org/gstreamer/gstreamer/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- https://gstreamer.freedesktop.org/src/gstreamer/gstreamer-1.26.3.tar.xz dc661603221293dccc740862425eb54fbbed60fb29d08c801d440a6a3ff82680 https://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-1.26.3.tar.xz 4ef9f9ef09025308ce220e2dd22a89e4c992d8ca71b968e3c70af0634ec27933 https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.26.3.tar.xz fe4ec9670edfe6bb1e5f27169ae145b5ac2dd218ac98bd8251c8fba41ad33c53 https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.3.tar.xz 417f5ee895f734ac0341b3719c175fff16b4c8eae8806e29e170b3bcb3d9dba5 https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.26.3.tar.xz 95c48dacaf14276f4e595f4cbca94b3cfebfc22285e765e2aa56d0a7275d7561 https://gstreamer.freedesktop.org/src/gst-libav/gst-libav-1.26.3.tar.xz 3ada7e50a3b9b8ba3e405b14c4021e25fbb10379f77d2ce490aa16523ed2724d https://gstreamer.freedesktop.org/src/gst-rtsp-server/gst-rtsp-server-1.26.3.tar.xz 415e8a53a9844789770dd4f116ac2e3a4a33de42673c57acc25c5ba0f4406fc5 https://gstreamer.freedesktop.org/src/gst-editing-services/gst-editing-services-1.26.3.tar.xz dd20a93d2c3468b6a1024ff0c927886b21937bd13b8cb8f175f8637360d16fd2 https://gstreamer.freedesktop.org/src/gst-python/gst-python-1.26.3.tar.xz 9343b9a7c45f472498c24ddb6fea9aba5f1a24395ddbc0b79da6e485e42d1b12 https://gstreamer.freedesktop.org/src/gstreamer-vaapi/gstreamer-vaapi-1.26.3.tar.xz 2d643fbd1420297da5a4d6945d11f0a5b4f82feea54ea6aec9368d42995d8b03 https://gstreamer.freedesktop.org/src/gst-devtools/gst-devtools-1.26.3.tar.xz 4fde19c3c144834f8cb05c2ca3f14b3a50d395bad203d17f98a6e70c1672f2ba https://gstreamer.freedesktop.org/src/gstreamer-sharp/gstreamer-sharp-1.26.3.tar.xz 1b7c360dcaab32bb731aa2c3688e76e6344fbf11dfec3f26913f57ab41682053 https://gstreamer.freedesktop.org/src/gstreamer-docs/gstreamer-docs-1.26.3.tar.xz 92b4ad2f0e9e719aa729848e1a5d116e1ae36c9d46612b01234d47c89af70087 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 833 bytes Desc: This is a digitally signed message part URL: