Projects
home:enzokiel:branches:Essentials
gstreamer-plugins-ugly-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
Difference Between Revision 3 and
Essentials
/
gstreamer-plugins-ugly-codecs
View file
gstreamer-plugins-ugly-codecs.changes
Changed
@@ -1,44 +1,4 @@ ------------------------------------------------------------------- -Thu Sep 17 06:58:56 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.7 - -------------------------------------------------------------------- -Thu Sep 10 21:15:04 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.6 - -------------------------------------------------------------------- -Tue Jul 14 09:58:14 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.5 - -------------------------------------------------------------------- -Thu Apr 16 08:36:06 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.2 - -------------------------------------------------------------------- -Mon Mar 2 13:16:14 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.1 - -------------------------------------------------------------------- -Thu Feb 12 09:43:51 UTC 2026 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.28.0 - -------------------------------------------------------------------- -Tue Dec 30 09:52:00 UTC 2025 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.26.10 - -------------------------------------------------------------------- -Fri Dec 12 16:57:11 UTC 2025 - Bjørn Lie <zaitor@opensuse.org> - -- Update to version 1.26.9 - -------------------------------------------------------------------- Tue Oct 21 08:10:51 UTC 2025 - Bjørn Lie <zaitor@opensuse.org> - Update to version 1.26.7
View file
gstreamer-plugins-ugly-codecs.spec
Changed
@@ -7,7 +7,7 @@ %define _version 1.28.0 Name: gstreamer-plugins-ugly-codecs -Version: 1.28.7 +Version: 1.26.7 Release: 0 Summary: Codecs/plugins for gstreamer-plugins-ugly License: LGPL-2.1-or-later
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/AUTHORS
Added
@@ -0,0 +1,21 @@ +Erik Walthinsen <omega@temple-baptist.com> +Matt Howell <mhowell@users.sourceforge.net> +Brent Bradburn <bbradburn@users.sourceforge.net> +Wim Taymans <wim.taymans@chello.be> +Richard Boulton <richard@tartarus.org> +Zaheer Abbas Merali <zaheerabbas at merali dot org> +David I. Lehn <dlehn@users.sourceforge.net> +Chris Emerson <chris@tartarus.org> +Jens Thiele <karme@unforgettable.com> +Thomas Nyberg <thomas@codefactory.se> +Bastien Nocera <hadess@hadess.net> +Christian Fredrik Kalager Schaller <Uraeus@linuxrising.org> +Thomas Vander Stichele <thomas@apestaart.org> +Andy Wingo <wingo@pobox.com> +Cameron Hutchison <camh@xdna.net> +David Schleef <ds@schleef.org> +Benjamin Otte <in7y118@public.uni-hamburg.de> +Ronald Bultje <rbultje@ronald.bitfreak.net> +Julien MOUTTE <julien@moutte.net> +Jan Schmidt <thaytan@mad.scientist.com> +Arwed v. Merkatz <v.merkatz@gmx.net>
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/ChangeLog -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/ChangeLog
Changed
@@ -1,506 +1,356 @@ -=== release 1.28.7 === +=== release 1.26.7 === -2026-09-07 20:11:13 +0100 Tim-Philipp Müller <tim@centricular.com> +2025-10-14 18:25:43 +0100 Tim-Philipp Müller <tim@centricular.com> + * NEWS: + * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.28.7 + Release 1.26.7 -2026-08-05 13:04:46 +0100 Tim-Philipp Müller <tim@centricular.com> +2025-09-14 13:19:28 +0100 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development after 1.28.6 + Back to development after 1.26.6 -=== release 1.28.6 === +=== release 1.26.6 === -2026-08-05 12:59:39 +0100 Tim-Philipp Müller <tim@centricular.com> +2025-09-14 13:13:58 +0100 Tim-Philipp Müller <tim@centricular.com> + * NEWS: + * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.28.6 - -2026-07-08 11:16:30 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Clarify comment for gst_rtp_asf_depay_update_padding() - It was not exactly clear from the previous comment what this function actually - does and why that is necessary. - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-03 12:20:52 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Map buffer used for padding updating read-write - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-03 12:08:19 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Don't forget to unmap RTP packet if we don't have a full packet - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-03 12:03:54 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Prevent out-of-bounds reads and writes when updating padding on malformed packets - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-03 11:18:51 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Drop packets that are larger than the negotiated maximum packet size - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5185 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-03 11:18:35 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Check for enough data before reading - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> + Release 1.26.6 -2026-07-03 11:18:05 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstrtpasfdepay.c: - rtpasfdepay: Fix debug logs - Use %u for printing unsigned integers and actually print the expected header - size instead of a static 4. - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12236> - -2026-07-28 17:11:12 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/asfdemux/gstasfdemux.c: - asfdemux: Avoid integer overflows during bounds checks - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5230 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12243> - -2026-07-13 14:10:40 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/dvdsub/gstdvdsubdec.c: - dvdsubdec: Check correct offset value against available data size - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12240> - -2026-07-13 14:09:28 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/dvdsub/gstdvdsubdec.c: - dvdsubdec: Clip subpicture rectangle to the frame size - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5197 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12240> - -2026-07-13 14:07:51 +0300 Sebastian Dröge <sebastian@centricular.com> +2025-09-01 21:02:22 +0530 Nirbheek Chauhan <nirbheek@centricular.com> - * gst/dvdsub/gstdvdsubdec.c: - dvdsubdec: Ensure enough data is available when skipping over SPU_WIPE - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12240> + * ext/x264/meson.build: + meson: Convert all remaining fallback: usages to provide + Only commonly-used plugin deps like pango, orc, openh264, libvpx, + libnice are enabled by default. + Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1788 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/9637> -2026-07-08 23:48:39 +0200 Tim-Philipp Müller <tim@centricular.com> +2025-08-07 19:15:29 +0100 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development after 1.28.5 + Back to development after 1.26.5 -=== release 1.28.5 === +=== release 1.26.5 === -2026-07-08 23:42:39 +0200 Tim-Philipp Müller <tim@centricular.com> +2025-08-07 19:06:46 +0100 Tim-Philipp Müller <tim@centricular.com> + * NEWS: + * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.28.5 - -2026-06-23 11:14:59 +0300 Sebastian Dröge <sebastian@centricular.com> + Release 1.26.5 - * gst/asfdemux/asfpacket.c: - asfdemux: Ensure that enough data is available for reading all replicated extensions - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5159 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12072> - -2026-06-12 13:27:54 +0100 Tim-Philipp Müller <tim@centricular.com> +2025-07-16 15:33:19 +0200 Tim-Philipp Müller <tim@centricular.com> * meson.build: - Back to development after 1.28.4 + Back to development after 1.26.4 -=== release 1.28.4 === +=== release 1.26.4 === -2026-06-12 13:19:43 +0100 Tim-Philipp Müller <tim@centricular.com> +2025-07-16 15:26:21 +0200 Tim-Philipp Müller <tim@centricular.com> + * NEWS: + * RELEASE: * gst-plugins-ugly.doap: * meson.build: - Release 1.28.4 - -2026-06-11 15:38:36 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Keep of copy of the stream's extra_data - The pointer will become invalid after unmapping the adapter. While it is only - accessed before unmapping, let's avoid future mistakes. - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11826> - -2026-06-11 16:23:34 +0300 Sebastian Dröge <sebastian@centricular.com> + Release 1.26.4 - * gst/realmedia/rmdemux.c: - rmdemux: Check for enough data when descrambling audio packets - And discard broken packets instead of erroring out. - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11826> - -2026-06-11 15:31:55 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - * gst/realmedia/rmdemux.h: - rmdemux: Check that enough data is available before parsing header data - And skip over invalid header packets. - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5039 - Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/work_items/5038 - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11826> - -2026-06-11 14:25:10 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Use gsize for length parameters - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11826> - -2026-06-11 14:17:05 +0300 Sebastian Dröge <sebastian@centricular.com> - - * gst/realmedia/rmdemux.c: - rmdemux: Catch short reads instead of reading from less data than expected - Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/11826> - -2026-06-11 13:51:03 +0300 Sebastian Dröge <sebastian@centricular.com> -
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/MAINTAINERS -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/MAINTAINERS
Changed
@@ -1,8 +1,11 @@ GStreamer is currently maintained by the consensus of a number -of people. The current list of maintainers is the developers, maintainers -and owners in the GitLab GStreamer project at: +of people, including, but not limited to: -https://gitlab.freedesktop.org/groups/gstreamer/-/group_members + Jan Schmidt <thaytan@noraisin.net> + Wim Taymans <wim.taymans@gmail.com> + David Schleef <ds@schleef.org> + Tim-Philipp Müller <tim centricular net> + Sebastian Dröge <slomo@coaxion.net> Maintainer-related issues should be addressed to:
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/NEWS
Added
@@ -0,0 +1,2784 @@ +GStreamer 1.26 Release Notes + +GStreamer 1.26.0 was originally released on 11 March 2025. + +The latest bug-fix release in the stable 1.26 series is 1.26.7 and was released on 14 October 2025. + +See https://gstreamer.freedesktop.org/releases/1.26/ for the latest version of this document. + +Last updated: Tuesday 14 October 2025, 16:30 UTC (log) + +## Introduction + +The GStreamer team is proud to announce a new major feature release in the stable 1.x API series of your favourite +cross-platform multimedia framework! + +As always, this release is again packed with many new features, bug fixes, and other improvements. + +## Highlights + +- H.266 Versatile Video Coding (VVC) codec support +- Low Complexity Enhancement Video Coding (LCEVC) support +- Closed captions: H.264/H.265 extractor/inserter, cea708overlay, cea708mux, tttocea708 and more +- New hlscmafsink, hlssink3, and hlsmultivariantsink; HLS/DASH client and dashsink improvements +- New AWS and Speechmatics transcription, translation and TTS services elements, plus translationbin +- Splitmux lazy loading and dynamic fragment addition support +- Matroska: H.266 video and rotation tag support, defined latency muxing +- MPEG-TS: support for H.266, JPEG XS, AV1, VP9 codecs and SMPTE ST-2038 and ID3 meta; mpegtslivesrc +- ISO MP4: support for H.266, Hap, Lagarith lossless codecs; raw video support; rotation tags +- SMPTE 2038 ancillary data streams support +- JPEG XS image codec support +- Analytics: New TensorMeta; N-to-N relationships; Mtd to carry segmentation masks +- ONVIF metadata extractor and conversion to/from relation metas +- New originalbuffer element that can restore buffers again after transformation steps for analytics +- Improved Python bindings for analytics API +- Lots of Vulkan integration and Vulkan Video decoder/encoder improvements +- OpenGL integration improvements, esp. in glcolorconvert, gldownload, glupload +- Qt5/Qt6 QML GL sinks now support direct DMABuf import from hardware decoders +- CUDA: New compositor, Jetson NVMM memory support, stream-ordered allocator +- NVCODEC AV1 video encoder element, and nvdsdewarp +- New Direct3D12 integration support library +- New d3d12swapchainsink and d3d12deinterlace elements and D3D12 sink/source for zero-copy IPC +- Decklink HDR support (PQ + HLG) and frame scheduling enhancements +- AJA capture source clock handling and signal loss recovery improvements +- RTP and RTSP: New rtpbin sync modes, client-side MIKEY support in rtspsrc +- New Rust rtpbin2, rtprecv, rtpsend, and many new Rust RTP payloaders and depayloaders +- webrtcbin support for basic rollbacks and other improvements +- webrtcsink: support for more encoders, SDP munging, and a built-in web/signalling server +- webrtcsrc/sink: support for uncompressed audio/video and NTP & PTP clock signalling and synchronization +- rtmp2: server authentication improvements incl. Limelight CDN (llnw) authentication +- New Microsoft WebView2 based web browser source element +- The GTK3 plugin has gained support for OpenGL/WGL on Windows +- Many GTK4 paintable sink improvements +- GstPlay: id-based stream selection and message API improvements +- Real-time pipeline visualization in a browser using a new dots tracer and viewer +- New tracers for tracking memory usage, pad push timings, and buffer flow as pcap files +- VA hardware-acclerated H.266/VVC decoder, VP8 and JPEG encoders, VP9/VP8 alpha decodebins +- Video4Linux2 elements support DMA_DRM caps negotiation now +- V4L2 stateless decoders implement inter-frame resolution changes for AV1 and VP9 +- Editing services: support for reverse playback and audio channel reordering +- New QUIC-based elements for working with raw QUIC streams, RTP-over-QUIC (RoQ) and WebTransport +- Apple AAC audio encoder and multi-channel support for the Apple audio decoders +- cerbero: Python bindings and introspection support; improved Windows installer based on WiX5 +- Lots of new plugins, features, performance improvements and bug fixes + +## Major new features and changes + +### H.266 Versatile Video Coding (VVC) codec support + +- The H.266 / VVC video codec is a successor to H.265 / HEVC and is standardised in ISO/IEC 23090-3. + +- A new h266parse element was added, along with parsing API, typefinding support and some codec utility functions in the + gst-plugins-base utility library. + +- A H.266 decoder base class for hardware-accelerated decoders was added and used to implement a VA-API-based + hardware-accelerated H.266 decoder. + +- The FFmpeg H.266 decoder is exposed now (from FFmpeg 7.0 onwards). + +- H.266 / VVC muxing and demuxing support was implemented for MP4, Matroska and MPEG-TS containers. + +- A VVdeC-based H.266 decoder element was added to the Rust plugins, based on the Fraunhofer Versatile Video Decoder library. + +### JPEG XS image codec support + +- JPEG XS is a visually lossless, low-latency, intra-only video codec for video production workflows, standardised in ISO/IEC + 21122. + +- JPEG XS encoder and decoder elements based on the SVT JPEG XS library were added, including support for muxing JPEG XS into + MPEG-TS and demuxing it. Both interlaced and progressive modes are supported. + +### Low Complexity Enhancement Video Coding (LCEVC) support + +- LCEVC is a codec that provides an enhancement layer on top of another codec such as H.264 for example. It is standardised as + MPEG-5 Part 2. + +- LCEVC encoder and decoder elements based on V-Nova’s SDK libraries were added, including support in h264parse for extracting + the enhancement layer from H.264 and decoding it via a lcevch264decodebin element. + +### Closed captions improvements + +- New H.264 and H.265 closed captions extractor and inserter elements. + + - These extractor elements don’t actually extract captions from the bitstream, but rely on parser elements to do that and + add them to buffers in form of caption metas. The problem is that streams might contain B-frames, in which case the + captions in the bitstream will not be in presentation order and extracting them requires frame-reordering in the same + way that a decoder would do. These new elements will do exactly that and allow you to extract captions in presentation + order without having to decode the stream. + + - The inserter elements do something similar and insert caption SEIs into the H.264 or H.265 bitstream, taking into + account frame ordering. + + - This is useful if one wants to extract, process and re-insert captions into an existing video bitstream without decoding + and re-encoding it (in which case the decoder and encoder would handle the caption reordering). + +- cdpserviceinject: New element for injecting a CDP service descriptor into closed caption CDP packets + +- cea708overlay: New element for overlaying CEA608 / CEA708 closed captions over video streams. + +- The cc708overlay element has been deprecated in favour of the cea708overlay element from the Rust plugins set. + +- cea608mux gained a "force-live" property to make it always in live mode and aggregate on timeout regardless of whether any + live sources are linked upstream. + +- cea708mux: New element that allows to mux multiple CEA708 services into a single stream. + +- cccombiner has two new properties: + + - "input-meta-processing" controls how input closed caption metas are processed and can be used to e.g. discard closed + captions from the input pad if the matching video buffer already has closed caption on it. + + - "schedule-timeout" to support timing out captions without EOS + +- tttocea708: New element for converting timed-text to CEA708 closed captions + +- Miscellaneous improvements and spec compliance fixes + +### Speech to Text, Translation and Speech Synthesis + +- awstranscriber2, awstranslate: New elements around the AWS transcription and translation services. + +- polly: New element around the AWS text-to-speech polly services + +- speechmatics: New transcriber / speech-to-text and translation element + +- translationbin: Helper bin around translation elements, similar to the already existing transcriberbin for transcriptions. + +### HLS DASH adaptive streaming improvements + +- The adaptivedemux2 client implementation gained support for file:// URIs and as such the ability to play HLS and DASH from + local files. It also no longer sends spurious flush events when it loses sync in live streams, as that is unexpected and + will be handled poorly in non-playback scenarios. Lastly, support for HTTP request retries was added via the "max-retries" + property, along with some exponential backoff logic which can be fine-tuned via properties. + +- dashsink has received period duration fixes for dynamic MPDs and some memory leak fixes. + +- hlscmafsink, hlssink3: New single-variant HLS sink elements that can output CMAF (fMP4) or MPEG-TS fragments. + +- hlsmultivariantsink: New sink element that can output an HLS stream with multiple variants + +### splitmuxsrc, splitmuxsink: lazy loading and dynamic fragment addition + +- splitmuxsrc and splitmuxsink were originally designed to handle a small number of large file fragments, e.g. for situations + where one doesn’t want to exceed a certain file size when recording to legacy file systems. It was also designed for playing + back a static set of file fragments that have been created by an earlier recording session and no longer changes. Over time + people have found more applications and use cases for the splitmux elements and have been deploying them in different + scenarios, exposing the limits of the current implementation. + +- In this release, splitmuxsink and splitmuxsrc gained new abilities aimed at improving support for recordings with a large + number of files, and for adding fragments on the fly to allow playback of ongoing recordings: + + - You can now add fragments directly to splitmuxsrc and provide the offset and duration in the stream: + + - Providing offset and duration means splitmuxsrc doesn’t need to scan the file to measure it and calculate it. That + makes for much faster startup. + + - The new "add-fragment" signal can be used to add files to the set dynamically - allowing to be playing an ongoing + recording and adding files to the playback set as they are finished. + + - splitmuxsrc no longer keeps all files open, but instead only keeps 100 files open by default, configurable with the + "num-open-fragments" property. + + - There is a new "num-lookahead" property on splitmuxsrc to trigger (re)opening files a certain distance ahead of the play + position. + + - splitmuxsink will report fragment offset and fragment duration via a message on the bus when closing a file. This + information can then be used to add the new fragment to a splitmuxsrc. + +### MPEG-TS container format improvements + +- The MPEG-TS muxer and demuxer gained support for + + - H.266 / VVC video muxing and demuxing + - JPEG-XS video muxing and demuxing + - VP9 video muxing and demuxing (using a custom mapping) + - AV1 video muxing and demuxing (using a custom mapping, since the work-in-progress specification effort doesn’t seem to + be going anywhere anytime soon) + - SMPTE ST-2038 ancillary metadata streams (see section above) + +- mpegtsmux gained support for muxing ID3 metadata into the TS stream, as well as SMPTE 302M audio.
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/README.md -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/README.md
Changed
@@ -1,8 +1,12 @@ -# GStreamer +GStreamer 1.26.x stable series + +WHAT IT IS +---------- This is GStreamer, a framework for streaming media. -## Where to start +WHERE TO START +-------------- We have a website at @@ -24,598 +28,169 @@ https://matrix.to/#/#gstreamer:gstreamer.org -This repository contains all official modules supported by the GStreamer -community which can be found in the `subprojects/` directory. - -## Getting started - -### Install git and python 3.8+ - -If you're on Linux, you probably already have these. On macOS, new versions of -Xcode ship Python 3 already. If you're on an older Xcode, you can use the -official Python installer(https://www.python.org/downloads/mac-osx/). - -You can find instructions for Windows below(#windows-prerequisites-setup). - -### Install meson and ninja - -Meson 1.1 or newer is required. - -On Linux and macOS you can get meson through your package manager or using: - -``` -$ pip3 install --user meson -``` - -This will install meson into `~/.local/bin` which may or may not be included -automatically in your PATH by default. - -You should get `ninja` using your package manager or download the official -release(https://github.com/ninja-build/ninja/releases) and put the `ninja` -binary in your PATH. - -You can find instructions for Windows below(#windows-prerequisites-setup). - - -If you used the official Python installer on macOS instead of the Python -3 shipped with Xcode, you might need to execute "Install Certificates.command" -from the Python folder in the user Applications folder: - -``` -$ /Applications/Python\ 3.*/Install\ Certificates.command -``` - -Otherwise you will get this error when downloading meson wraps: - -``` -urllib.error.URLError: urlopen error SSL: CERTIFICATE_VERIFY_FAILED certificate verify failed -``` - -### Build GStreamer and its modules - -You can get all GStreamer built running: - -``` -meson setup builddir -meson compile -C builddir -``` - -This will automatically create the `builddir` directory and build everything -inside it. - -NOTE: On Windows, meson will automatically detect and use the latest Visual -Studio if GCC, clang, etc are not available in `PATH`. Use the `--vsenv` -argument to force the use of Visual Studio. - -NOTE: Meson will not update subprojects automatically once a subproject has -been fetched. Remember to update subprojects if wrap files are updated. - -``` -meson subprojects update -``` - -### External dependencies - -All mandatory dependencies of GStreamer are included as meson subprojects(https://mesonbuild.com/Subprojects.html): -libintl, zlib, libffi, glib. Some optional dependencies are also included as -subprojects, such as ffmpeg, x264, json-glib, graphene, openh264, orc, etc. - -Mandatory dependencies will be automatically built if meson cannot find them on -your system using pkg-config. The same is true for optional dependencies that -are included as subprojects. You can find a full list by looking at the -`subprojects` directory. - -Plugins that need optional dependencies that aren't included can only be built -if they are provided by the system. Instructions on how to build some common -ones such as Qt5/QML are listed below. If you do not know how to provide an -optional dependency needed by a plugin, you should use Cerbero(https://gitlab.freedesktop.org/gstreamer/cerbero/#description) -which handles this for you automatically. - -Plugins will be automatically enabled if possible, but you can ensure that -a particular plugin (especially if it has external dependencies) is built by -enabling the gstreamer repository that ships it and the plugin inside it. For -example, to enable the Qt5 plugin in the gst-plugins-good repository, you need -to run meson as follows: - -``` -meson -Dgood=enabled -Dgst-plugins-good:qt5=enabled builddir -``` - -This will cause Meson to error out if the plugin could not be enabled. You can -also flip the default and disable all plugins except those explicitly enabled -like so: - -``` -meson -Dauto_features=disabled -Dgstreamer:tools=enabled -Dbad=enabled -Dgst-plugins-bad:openh264=enabled -``` - -This will disable all optional features and then enable the `openh264` plugin -and the tools that ship with the core gstreamer repository: `gst-inspect-1.0`, -`gst-launch-1.0`, etc. As usual, you can change these values on a builddir that -has already been setup with `meson configure -Doption=value`. - -### Building the Qt5 QML plugin - -If `qmake` is not in `PATH` and pkgconfig files are not available, you can -point the `QMAKE` env var to the Qt5 installation of your choosing before -running `meson` as shown above. - -The plugin will be automatically enabled if possible, but you can ensure that -it is built by passing `-Dgood=enabled -Dgst-plugins-good:qt5=enabled` to `meson`. - -### Building the Intel MSDK plugin - -On Linux, you need to have development files for `libmfx` installed. On -Windows, if you have the Intel Media SDK(https://software.intel.com/en-us/media-sdk), -it will set the `INTELMEDIASDKROOT` environment variable, which will be used by -the build files to find `libmfx`. - -The plugin will be automatically enabled if possible, but you can ensure it by -passing `-Dbad=enabled -Dgst-plugins-bad:msdk=enabled` to `meson`. - -### Building plugins with (A)GPL-licensed dependencies - -Some plugins have GPL- or AGPL-licensed dependencies and will only be built -if you have explicitly opted in to allow (A)GPL-licensed dependencies by -passing `-Dgpl=enabled` to Meson. - -List of plugins with (A)GPL-licensed dependencies (non-exhaustive) in gst-plugins-bad: - - dts (DTS audio decoder plugin) - - faad (Free AAC audio decoder plugin) - - iqa (Image quality assessment plugin based on dssim-c) - - mpeg2enc (MPEG-2 video encoder plugin) - - mplex (audio/video multiplexer plugin) - - ofa (Open Fingerprint Architecture library plugin) - - resindvd (Resin DVD playback plugin) - - x265 (HEVC/H.265 video encoder plugin) - -List of plugins with (A)GPL-licensed dependencies (non-exhaustive) in gst-plugins-ugly: - - a52dec (Dolby Digital (AC-3) audio decoder plugin) - - cdio (CD audio source plugin based on libcdio) - - dvdread (DVD video source plugin based on libdvdread) - - mpeg2dec (MPEG-2 video decoder plugin based on libmpeg2) - - sidplay (Commodore 64 audio decoder plugin based on libsidplay) - - x264 (H.264 video encoder plugin based on libx264) - -### Static build - -Since *1.18.0*, when doing a static build using `--default-library=static`, -a shared library `gstreamer-full-1.0`, in addition to a package config file, -will be produced and includes all enabled GStreamer plugins and libraries. -A list of libraries that needs to be exposed in `gstreamer-full-1.0` -ABI can be set using `gst-full-libraries` option. -glib-2.0, gobject-2.0 and gstreamer-1.0 are always included. - -``` -meson setup --default-library=static -Dgst-full-libraries=gstreamer-app-1.0,gstreamer-video-1.0 builddir -``` - -GStreamer *1.18* requires applications using gstreamer-full-1.0 to initialize -static plugins by calling `gst_init_static_plugins()` after `gst_init()`. That -function is defined in `gst/gstinitstaticplugins.h` header file. - -Since *1.20.0*, `gst_init_static_plugins()` is called automatically by -`gst_init()` and applications don't have to call it manually any more. -The header file has been removed from public API. - -One can use the `gst-full-version-script` option to pass a -version script(https://www.gnu.org/software/gnulib/manual/html_node/LD-Version-Scripts.html) -to the linker. This can be used to control the exact symbols that are exported by -the `gstreamer-full` library, allowing the linker to garbage collect unused code -and so, reduce the total library size. A default script -`gstreamer-full-default.map` declares only glib/gstreamer symbols as public. -
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/RELEASE -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/RELEASE
Changed
@@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-ugly 1.28.7 +This is GStreamer gst-plugins-ugly 1.26.7. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! @@ -6,12 +6,12 @@ As always, this release is again packed with new features, bug fixes and other improvements. -The 1.28 release series adds new features on top of the 1.26 series and is +The 1.26 release series adds new features on top of the 1.24 series and is part of the API and ABI-stable 1.x release series. Full release notes can be found at: - https://gstreamer.freedesktop.org/releases/1.28/ + https://gstreamer.freedesktop.org/releases/1.26/ Binaries for Android, iOS, Mac OS X and Windows will usually be provided shortly after the release. @@ -42,6 +42,10 @@ where you can find audio and video decoders and encoders for a wide variety of formats including H.264, AAC, etc. + - gstreamer-vaapi: hardware-accelerated video decoding and encoding using + VA-API on Linux. Primarily for Intel graphics hardware. + (Deprecated, use the new "va" plugin instead) + - gst-rtsp-server: library to serve files or streaming pipelines via RTSP - gst-editing-services: library an plugins for non-linear editing
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/REQUIREMENTS
Added
@@ -0,0 +1,46 @@ +GStreamer uses a *large* array of tools and libraries, most of which are +optional. We have attempted to make sure that any code that depends on +optional libraries doesn't get built unless you have those libraries. If +you find this not to be the case, please, let us know by filing a bug +report at http://bugzilla.gnome.org/. + + +Required tools: +=============== + +An extra set of tools is required if you wish to build GStreamer out of +git (using autogen.sh): + +autoconf 2.52 or better +automake 1.5 +gettext 0.11.5 +libtool v1.4 or better +pkgconfig 0.9.0 or better (http://www.freedesktop.org/software/pkgconfig/) + +Required libraries: +=================== + +The core GStreamer libraries. See the gstreamer/ module in GStreamer cvs, or +the version that corresponds to this plugin release. + +Optional libraries: +=================== + +This file lists supporting libraries for which gst-plugins contains plugins, +as well as their minimum version. You can find the corresponding plugins in +ext/(library) + +a52dec (for the a52dec AC-3 decoder) + http://liba52.sourceforge.net/ +libdvdread (for the dvdreadsrc) + http://www.dtek.chalmers.se/groups/dvd/ + (optional: libcss for encrypted DVDs) +mpeg2dec (for mpeg2 related plugins and dvd playback) + http://libmpeg2.sourceforge.net/ +liborc (for the liborc optimization library) + http://code.entropywave.com/download/orc/ +cdio (for the cdio CDDA CD audio source) + http://savannah.gnu.org/projects/libcdio/ +x264 (for the x264enc H.264 encoder) + http://www.videolan.org/developers/x264.html +sidplay FIXME
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/docs/random
Added
+(directory)
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/docs/random/LICENSE
Added
@@ -0,0 +1,18 @@ +/* GStreamer + * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, + * Boston, MA 02110-1301, USA. + */
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/docs/random/PORTED_09
Added
@@ -0,0 +1,17 @@ +When porting a plugin start with 0.8 CVS head, not the old code in this module. There are many bugfixes which have gone into 0.8 which you want to keep. + +List of ported plugins (update when you commit a ported plugin): +effectv (wim) +mad (wim) +videofilter (wim) +aalib (wim) +libcaca (zeeshan) +law (wim) +shout2 (zaheer) - not fully tested +esdsink (arwed) + +osssink is partially done in the threaded branch (wim) + +- Remember that some plugins are already ported and now in the gst-plugins-base module. + +When you have ported a plugin remember to copy the relevant parts from configure.ac.orig into configure.ac and re-enable it in the Makefile.am files.
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/ext/a52dec/gsta52dec.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/ext/a52dec/gsta52dec.c
Changed
@@ -51,6 +51,10 @@ #endif #include "gsta52dec.h" +#if HAVE_ORC +#include <orc/orc.h> +#endif + #ifdef LIBA52_DOUBLE #define SAMPLE_WIDTH 64 #define SAMPLE_FORMAT GST_AUDIO_NE(F64) @@ -138,12 +142,7 @@ GObjectClass *gobject_class; GstElementClass *gstelement_class; GstAudioDecoderClass *gstbase_class; - -#if !defined(A52_ACCEL_DETECT) - const gboolean cpuid_mmx = gst_cpuid_supports_x86_mmx (); - const gboolean cpuid_3dnow = gst_cpuid_supports_x86_3dnow (); - const gboolean cpuid_mmxext = gst_cpuid_supports_x86_mmxext (); -#endif + guint cpuflags = 0; gobject_class = (GObjectClass *) klass; gstelement_class = (GstElementClass *) klass; @@ -210,18 +209,18 @@ klass->a52_cpuflags = 0; #endif -#if !defined(A52_ACCEL_DETECT) - if (cpuid_mmx) +#if HAVE_ORC && !defined(A52_ACCEL_DETECT) + cpuflags = orc_target_get_default_flags (orc_target_get_by_name ("mmx")); + if (cpuflags & ORC_TARGET_MMX_MMX) klass->a52_cpuflags |= MM_ACCEL_X86_MMX; - if (cpuid_3dnow) + if (cpuflags & ORC_TARGET_MMX_3DNOW) klass->a52_cpuflags |= MM_ACCEL_X86_3DNOW; - if (cpuid_mmxext) + if (cpuflags & ORC_TARGET_MMX_MMXEXT) klass->a52_cpuflags |= MM_ACCEL_X86_MMXEXT; - - GST_LOG ("CPU flags: a52=%08x, cpuid: mmx=%x, mmxext=%x, 3dnow=%x", - klass->a52_cpuflags, cpuid_mmx, cpuid_mmxext, cpuid_3dnow); #endif + GST_LOG ("CPU flags: a52=%08x, orc=%08x", klass->a52_cpuflags, cpuflags); + gst_type_mark_as_plugin_api (GST_TYPE_A52DEC_MODE, 0); } @@ -482,7 +481,7 @@ gint channels, i; gboolean need_reneg = FALSE; gint chans; - gint length GST_UNUSED_ASSERT = 0, flags, sample_rate, bit_rate; + gint length = 0, flags, sample_rate, bit_rate; GstMapInfo map; GstFlowReturn result = GST_FLOW_OK; GstBuffer *outbuf; @@ -828,6 +827,10 @@ static gboolean a52_element_init (GstPlugin * plugin) { +#if HAVE_ORC + orc_init (); +#endif + return gst_element_register (plugin, "a52dec", GST_RANK_SECONDARY, GST_TYPE_A52DEC); }
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/ext/a52dec/meson.build -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/ext/a52dec/meson.build
Changed
@@ -29,7 +29,7 @@ a52dec_sources, c_args : ugly_args, include_directories : configinc, - dependencies : gstaudio_dep, a52_dep, + dependencies : gstaudio_dep, orc_dep, a52_dep, install : true, install_dir : plugins_install_dir, )
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/ext/mpeg2dec/gstmpeg2dec.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/ext/mpeg2dec/gstmpeg2dec.c
Changed
@@ -129,9 +129,6 @@ (mpeg2dec), TRUE); GST_PAD_SET_ACCEPT_TEMPLATE (GST_VIDEO_DECODER_SINK_PAD (mpeg2dec)); - g_warning_once - ("The `mpeg2dec` plugin is deprecated and will be removed in the next release cycle. `avdec_mpeg2video` from gst-libav should be used instead"); - /* initialize the mpeg2dec acceleration */ } @@ -259,11 +256,6 @@ GstStructure *config; pool = gst_video_buffer_pool_new (); - { - gchar *name = g_strdup_printf ("mpeg2dec-%p-pool", pool); - g_object_set (pool, "name", name, NULL); - g_free (name); - } config = gst_buffer_pool_get_config (pool); gst_buffer_pool_config_set_allocator (config, allocator, params); @@ -1180,8 +1172,6 @@ static gboolean plugin_init (GstPlugin * plugin) { - gst_plugin_add_status_warning (plugin, - "The `mpeg2dec` plugin is deprecated and will be removed in the next release cycle. `avdec_mpeg2video` from gst-libav should be used instead"); return GST_ELEMENT_REGISTER (mpeg2dec, plugin); }
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/ext/mpeg2dec/meson.build -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/ext/mpeg2dec/meson.build
Changed
@@ -23,7 +23,6 @@ mpeg2_dep = dependency('libmpeg2', version : '>= 0.4.0', required : mpeg2dec_opt) if mpeg2_dep.found() - warning('The `mpeg2dec` plugin is deprecated and will be removed in the next release cycle. `avdec_mpeg2video` from gst-libav should be used instead') mpeg2dec = library('gstmpeg2dec', mpeg2dec_sources, c_args : ugly_args,
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst-plugins-ugly.doap -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst-plugins-ugly.doap
Changed
@@ -35,121 +35,71 @@ <release> <Version> - <revision>1.28.7</revision> - <branch>1.28</branch> + <revision>1.26.7</revision> + <branch>1.26</branch> <name></name> - <created>2026-09-07</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.7.tar.xz" /> + <created>2025-10-14</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.7.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.6</revision> - <branch>1.28</branch> + <revision>1.26.6</revision> + <branch>1.26</branch> <name></name> - <created>2026-08-05</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.6.tar.xz" /> + <created>2025-09-14</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.6.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.5</revision> - <branch>1.28</branch> + <revision>1.26.5</revision> + <branch>1.26</branch> <name></name> - <created>2026-07-08</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.5.tar.xz" /> + <created>2025-08-07</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.5.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.4</revision> - <branch>1.28</branch> + <revision>1.26.4</revision> + <branch>1.26</branch> <name></name> - <created>2026-06-12</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.4.tar.xz" /> + <created>2025-07-16</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.4.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.3</revision> - <branch>1.28</branch> + <revision>1.26.3</revision> + <branch>1.26</branch> <name></name> - <created>2026-05-11</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.3.tar.xz" /> + <created>2025-06-26</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.3.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.2</revision> - <branch>1.28</branch> + <revision>1.26.2</revision> + <branch>1.26</branch> <name></name> - <created>2026-04-07</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.2.tar.xz" /> + <created>2025-05-29</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.2.tar.xz" /> </Version> </release> <release> <Version> - <revision>1.28.1</revision> - <branch>1.28</branch> + <revision>1.26.1</revision> + <branch>1.26</branch> <name></name> - <created>2026-02-26</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.1.tar.xz" /> - </Version> - </release> - - <release> - <Version> - <revision>1.28.0</revision> - <branch>main</branch> - <name></name> - <created>2026-01-27</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.28.0.tar.xz" /> - </Version> - </release> - - <release> - <Version> - <revision>1.27.90</revision> - <branch>main</branch> - <name></name> - <created>2026-01-05</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.27.90.tar.xz" /> - </Version> - </release> - - <release> - <Version> - <revision>1.27.50</revision> - <branch>main</branch> - <name></name> - <created>2025-12-09</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.27.50.tar.xz" /> - </Version> - </release> - - <release> - <Version> - <revision>1.27.2</revision> - <branch>main</branch> - <name></name> - <created>2025-09-07</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.27.2.tar.xz" /> - </Version> - </release> - - <release> - <Version> - <revision>1.27.1</revision> - <branch>main</branch> - <name></name> - <created>2025-07-08</created> - <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.27.1.tar.xz" /> + <created>2025-04-24</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-ugly/gst-plugins-ugly-1.26.1.tar.xz" /> </Version> </release>
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/asfdemux/asfpacket.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/asfdemux/asfpacket.c
Changed
@@ -289,10 +289,6 @@ for (ext = stream->ext_props.payload_extensions; ext->len > 0; ++ext) { ext_len = ext->len; if (ext_len == 0xFFFF) { /* extension length is determined by first two bytes in replicated data */ - if (off + 2 > payload->rep_data_len) { - GST_WARNING ("not enough replicated data for reading extension length"); - return; - } ext_len = GST_READ_UINT16_LE (payload->rep_data + off); off += 2; } @@ -321,7 +317,7 @@ GST_DEBUG ("SYSTEM_CONTENT: interlaced:%d, rff:%d, tff:%d", payload->interlaced, payload->rff, payload->tff); } else { - GST_WARNING ("unexpected SYSTEM_CONTENT extensions len %u", ext_len); + GST_WARNING ("unexpected SYSTEM_CONTE extensions len %u", ext_len); } break; case ASF_PAYLOAD_EXTENSION_SYSTEM_PIXEL_ASPECT_RATIO: @@ -335,17 +331,14 @@ } break; case ASF_PAYLOAD_EXTENSION_TIMING: - /* FIXME: Is this always 48 bytes? */ - if (G_LIKELY (ext_len >= 16)) { - /* dvr-ms timing - this will override packet timestamp */ - guint64 time = GST_READ_UINT64_LE (payload->rep_data + off + 8); - if (time != 0xFFFFFFFFFFFFFFFF) - payload->ts = time * 100; - else - payload->ts = GST_CLOCK_TIME_NONE; - } else { - GST_WARNING ("unexpected TIMING extensions len %u", ext_len); - } + { + /* dvr-ms timing - this will override packet timestamp */ + guint64 time = GST_READ_UINT64_LE (payload->rep_data + off + 8); + if (time != 0xFFFFFFFFFFFFFFFF) + payload->ts = time * 100; + else + payload->ts = GST_CLOCK_TIME_NONE; + } break; default: GST_LOG ("UNKNOWN PAYLOAD EXTENSION!"); @@ -403,15 +396,8 @@ return FALSE; } - /* FIXME: The specification says that this is a uint16 but all our code here - * assumes it's at most 255 bytes */ - if (G_UNLIKELY (payload.rep_data_len > G_MAXUINT8)) { - GST_WARNING_OBJECT (demux, "Too long rep data! rep_data_len=%u", - payload.rep_data_len); - return FALSE; - } - - memcpy (payload.rep_data, *p_data, payload.rep_data_len); + memcpy (payload.rep_data, *p_data, + MIN (sizeof (payload.rep_data), payload.rep_data_len)); *p_data += payload.rep_data_len; *p_size -= payload.rep_data_len;
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/asfdemux/gstasfdemux.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/asfdemux/gstasfdemux.c
Changed
@@ -2381,7 +2381,7 @@ } static inline gboolean -gst_asf_demux_skip_bytes (guint64 num_bytes, guint8 ** p_data, guint64 * p_size) +gst_asf_demux_skip_bytes (guint num_bytes, guint8 ** p_data, guint64 * p_size) { if (*p_size < num_bytes) return FALSE; @@ -2616,9 +2616,6 @@ { AsfStream *stream; - /* Checked in the callers */ - g_assert (demux->num_streams < G_N_ELEMENTS (demux->stream)); - gst_pad_use_fixed_caps (src_pad); gst_pad_set_caps (src_pad, caps); @@ -3074,12 +3071,6 @@ case ASF_STREAM_AUDIO:{ asf_stream_audio audio_object; - if (demux->num_streams >= G_N_ELEMENTS (demux->stream)) { - GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), - ("File has too many streams")); - return NULL; - } - if (!gst_asf_demux_get_stream_audio (&audio_object, &data, &size)) goto not_enough_data; @@ -3158,18 +3149,9 @@ asf_stream_video video_object; guint16 vsize; - if (demux->num_streams >= G_N_ELEMENTS (demux->stream)) { - GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL), - ("File has too many streams")); - return NULL; - } - if (!gst_asf_demux_get_stream_video (&video_object, &data, &size)) goto not_enough_data; - if (video_object.size < 40) - goto not_enough_data; - vsize = video_object.size - 40; /* Byte order gets offset by single byte */ GST_INFO ("object is a video stream with %u bytes of " @@ -3651,9 +3633,8 @@ for (i = 0; i < blockcount; ++i) { GstStructure *s; - guint16 stream_num, data_type, lang_idx G_GNUC_UNUSED; - guint32 ival; - guint64 name_len, data_len; + guint16 stream_num, name_len, data_type, lang_idx G_GNUC_UNUSED; + guint32 data_len, ival; gchar *name_utf8; if (size < (2 + 2 + 2 + 2 + 4)) @@ -3694,8 +3675,6 @@ ival = gst_asf_demux_get_uint32 (&data, &size); /* skip anything else there may be, just in case */ - if (data_len < 4) - goto not_enough_data; gst_asf_demux_skip_bytes (data_len - 4, &data, &size); s = gst_asf_demux_get_metadata_for_stream (demux, stream_num); @@ -4512,9 +4491,6 @@ return GST_FLOW_ERROR; gst_asf_demux_skip_bytes (ASF_OBJECT_HEADER_SIZE, p_data, p_size); - if (obj.size < ASF_OBJECT_HEADER_SIZE) - return GST_FLOW_ERROR; - obj_data_size = obj.size - ASF_OBJECT_HEADER_SIZE; if (*p_size < obj_data_size)
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/asfdemux/gstrtpasfdepay.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/asfdemux/gstrtpasfdepay.c
Changed
@@ -245,18 +245,16 @@ } } -/* Update the packet with the required amount of padding. For RTP packets the - * padding is stripped off and here we need to add it back to create valid - * ASF packets again. This requires allocating a packet_size large buffer, - * adding zero padding and rewriting the padding length field with the correct - * value. */ +/* Set the padding field to te correct value as the spec + * says it should be se to 0 in the rtp packets + */ static GstBuffer * gst_rtp_asf_depay_update_padding (GstRtpAsfDepay * depayload, GstBuffer * buf) { GstBuffer *result; GstMapInfo map; guint8 *data; - guint offset = 0; + gint offset = 0; guint8 aux; guint8 seq_type; guint8 pad_type; @@ -270,20 +268,18 @@ padding = depayload->packet_size - plen; GST_LOG_OBJECT (depayload, - "padding buffer size %" G_GSIZE_FORMAT " to packet size %u", plen, + "padding buffer size %" G_GSIZE_FORMAT " to packet size %d", plen, depayload->packet_size); result = gst_buffer_new_and_alloc (depayload->packet_size); - gst_buffer_map (result, &map, GST_MAP_READWRITE); + gst_buffer_map (result, &map, GST_MAP_READ); data = map.data; memset (data + plen, 0, padding); gst_buffer_extract (buf, 0, data, plen); gst_buffer_unref (buf); - if (offset + 1 > depayload->packet_size) - goto malformed; aux = dataoffset++; if (aux & 0x80) { guint8 err_len = 0; @@ -297,8 +293,6 @@ err_len = aux & 0x0F; offset += err_len; - if (offset + 1 > depayload->packet_size) - goto malformed; aux = dataoffset++; } seq_type = (aux >> 1) & 0x3; @@ -313,22 +307,16 @@ switch (pad_type) { /* DWORD */ case 3: - if (offset + 4 > depayload->packet_size) - goto malformed; GST_WRITE_UINT32_LE (&(dataoffset), padding); break; /* WORD */ case 2: - if (offset + 2 > depayload->packet_size) - goto malformed; GST_WRITE_UINT16_LE (&(dataoffset), padding); break; /* BYTE */ case 1: - if (offset + 1 > depayload->packet_size) - goto malformed; dataoffset = (guint8) padding; break; @@ -340,14 +328,6 @@ gst_buffer_unmap (result, &map); return result; - -malformed: - { - GST_WARNING_OBJECT (depayload, "ASF packet too small to contain header"); - gst_buffer_unmap (result, &map); - gst_buffer_unref (result); - return NULL; - } } /* Docs: 'RTSP Protocol PDF' document from http://sdp.ppona.com/ (page 8) */ @@ -364,7 +344,6 @@ guint len_offs; GstClockTime timestamp; GstRTPBuffer rtpbuf = { NULL }; - guint packet_len = 0; depay = GST_RTP_ASF_DEPAY (depayload); @@ -386,14 +365,14 @@ outbufs = gst_buffer_list_new (); do { - hdr_len = 4; + guint packet_len; /* packet header is at least 4 bytes */ - if (payload_len < hdr_len) + if (payload_len < 4) goto too_small; /* 1 2 3 - * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * |S|L|R|D|I|RES | Length/Offset | * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ @@ -419,34 +398,33 @@ D = ((payload0 & 0x10) != 0); I = ((payload0 & 0x08) != 0); + hdr_len = 4; + len_offs = (payload1 << 16) | (payload2 << 8) | payload3; if (R) { - hdr_len += 4; - if (payload_len < hdr_len) - goto too_small; GST_DEBUG ("Relative timestamp field present : %u", - GST_READ_UINT32_BE (payload + hdr_len - 4)); + GST_READ_UINT32_BE (payload + hdr_len)); + hdr_len += 4; } if (D) { - hdr_len += 4; - if (payload_len < hdr_len) - goto too_small; GST_DEBUG ("Duration field present : %u", - GST_READ_UINT32_BE (payload + hdr_len - 4)); + GST_READ_UINT32_BE (payload + hdr_len)); + hdr_len += 4; } if (I) { - hdr_len += 4; - if (payload_len < hdr_len) - goto too_small; GST_DEBUG ("LocationId field present : %u", - GST_READ_UINT32_BE (payload + hdr_len - 4)); + GST_READ_UINT32_BE (payload + hdr_len)); + hdr_len += 4; } GST_LOG_OBJECT (depay, "S %d, L %d, R %d, D %d, I %d", S, L, R, D, I); - GST_LOG_OBJECT (depay, "payload_len:%u, hdr_len:%u, len_offs:%u", + GST_LOG_OBJECT (depay, "payload_len:%d, hdr_len:%d, len_offs:%d", payload_len, hdr_len, len_offs); + if (payload_len < hdr_len) + goto too_small; + /* skip headers */ payload_len -= hdr_len; payload += hdr_len; @@ -464,9 +442,6 @@ if (packet_len > payload_len) packet_len = payload_len; - if (packet_len > depay->packet_size) - goto too_big; - GST_LOG_OBJECT (depay, "packet len %u, payload len %u, packet_size:%u", packet_len, payload_len, depay->packet_size); @@ -485,12 +460,6 @@ gst_adapter_push (depay->adapter, sub); /* RTP marker bit M is set if this is last fragment */ if (gst_rtp_buffer_get_marker (&rtpbuf)) { - if (available + packet_len > depay->packet_size) { - /* Update packet_len for the debug log further below */ - packet_len = available + packet_len; - gst_adapter_clear (depay->adapter); - goto too_big; - } GST_LOG_OBJECT (depay, "last fragment, assembling packet"); outbuf = gst_adapter_take_buffer (depay->adapter, available + packet_len); @@ -512,17 +481,11 @@ /* If we haven't completed a full ASF packet, return but first push what we have so far */ if (!outbuf) { - gst_rtp_buffer_unmap (&rtpbuf); gst_rtp_base_depayload_push_list (depayload, outbufs); return NULL; } outbuf = gst_rtp_asf_depay_update_padding (depay, outbuf); - if (!outbuf) {
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/dvdsub/gstdvdsubdec.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/dvdsub/gstdvdsubdec.c
Changed
@@ -342,8 +342,6 @@ GST_WARNING_OBJECT (dec, "SPU_WIPE not yet implemented"); length = (buf1 << 8) | (buf2); - - PARSE_BYTES_NEEDED (1 + length); buf += 1 + length; dec->buf_dirty = TRUE; @@ -503,9 +501,8 @@ target = state->target; - /* If left/right is still outside the frame, clip it off */ - x = CLAMP (dec->left, 0, dec->in_width - 1); - right = MIN (dec->right + 1, dec->in_width); + x = dec->left; + right = dec->right + 1; while (x < right) { gboolean in_hl; @@ -639,15 +636,13 @@ hl_top = -1; hl_bottom = -1; } + last_y = MIN (dec->bottom, dec->in_height); - /* If top/bottom is still outside the frame, clip it off */ - last_y = MIN (dec->bottom, dec->in_height - 1); - y = CLAMP (dec->top, 0, dec->in_height - 1); - + y = dec->top; state.target = Y_data + 4 * dec->left + (y * Y_stride); /* Now draw scanlines until we hit last_y or end of RLE data */ - for (; ((state.offsetstate.id < dec->data_size + 2) && (y <= last_y)); y++) { + for (; ((state.offset1 < dec->data_size + 2) && (y <= last_y)); y++) { /* Set up to draw the highlight if we're in the right scanlines */ if (y > hl_bottom || y < hl_top) { state.hl_left = -1;
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/realmedia/rademux.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/realmedia/rademux.c
Changed
@@ -342,30 +342,6 @@ return GST_FLOW_OK; } - /* Check if enough data is available to parse the header */ - switch (demux->ra_version) { - case 3: - /* Nothing is parsed */ - break; - case 4: - if (avail < demux->data_offset - 6 + 63) { - GST_DEBUG_OBJECT (demux, "Need %u bytes, but only %u available now", - demux->data_offset - 6 + 63, avail); - return GST_FLOW_OK; - } - break; - case 5: -#if 0 - /* Unsupported for now */ - if (avail < demux->data_offset - 6 + 64) { - GST_DEBUG_OBJECT (demux, "Need %u bytes, but only %u available now", - demux->data_offset - 6 + 64, avail); - return GST_FLOW_OK; - } -#endif - break; - } - data = gst_adapter_map (demux->adapter, demux->data_offset - 6); g_assert (data); @@ -390,9 +366,6 @@ demux->sample_width = GST_READ_UINT16_BE (data + 46); demux->channels = GST_READ_UINT16_BE (data + 48); demux->fourcc = GST_READ_UINT32_LE (data + 56); - // FIXME: This is broken. We need to make sure that the whole packet - // is available to be sure we can actually read all tags. This now - // randomly cuts off the tags depending on input buffer chunking. demux->pending_tags = gst_rm_utils_read_tags (data + 63, demux->data_offset - 63, gst_rm_utils_read_string8); if (demux->pending_tags)
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/realmedia/rmdemux.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/realmedia/rmdemux.c
Changed
@@ -74,9 +74,8 @@ guint16 leaf_size; /* subpacket_size */ guint32 packet_size; /* coded_frame_size */ guint16 version; - gsize extra_data_size; /* codec_data_length */ + guint32 extra_data_size; /* codec_data_length */ guint8 *extra_data; /* extras */ - gsize extra_data_offset; /* offset into extra_data */ guint32 bitrate; gboolean needs_descrambling; @@ -151,22 +150,22 @@ static gboolean gst_rmdemux_perform_seek (GstRMDemux * rmdemux, GstEvent * event); -static gboolean gst_rmdemux_parse__rmf (GstRMDemux * rmdemux, - const guint8 * data, gsize length); -static gboolean gst_rmdemux_parse_prop (GstRMDemux * rmdemux, - const guint8 * data, gsize length); -static gboolean gst_rmdemux_parse_mdpr (GstRMDemux * rmdemux, - const guint8 * data, gsize length); -static gboolean gst_rmdemux_parse_indx (GstRMDemux * rmdemux, - const guint8 * data, gsize length, gsize * index_length); -static gboolean gst_rmdemux_parse_data (GstRMDemux * rmdemux, - const guint8 * data, gsize length); -static gboolean gst_rmdemux_parse_cont (GstRMDemux * rmdemux, - const guint8 * data, gsize length); +static void gst_rmdemux_parse__rmf (GstRMDemux * rmdemux, const guint8 * data, + int length); +static void gst_rmdemux_parse_prop (GstRMDemux * rmdemux, const guint8 * data, + int length); +static void gst_rmdemux_parse_mdpr (GstRMDemux * rmdemux, + const guint8 * data, int length); +static guint gst_rmdemux_parse_indx (GstRMDemux * rmdemux, const guint8 * data, + int length); +static void gst_rmdemux_parse_data (GstRMDemux * rmdemux, const guint8 * data, + int length); +static void gst_rmdemux_parse_cont (GstRMDemux * rmdemux, const guint8 * data, + int length); static GstFlowReturn gst_rmdemux_parse_packet (GstRMDemux * rmdemux, GstBuffer * in, guint16 version); -static gboolean gst_rmdemux_parse_indx_data (GstRMDemux * rmdemux, - const guint8 * data, gsize length); +static void gst_rmdemux_parse_indx_data (GstRMDemux * rmdemux, + const guint8 * data, int length); static void gst_rmdemux_stream_clear_cached_subpackets (GstRMDemux * rmdemux, GstRMDemuxStream * stream); static GstRMDemuxStream *gst_rmdemux_get_stream_by_id (GstRMDemux * rmdemux, @@ -374,11 +373,6 @@ rmdemux->offset); return FALSE; } - if (gst_buffer_get_size (buffer) < 4) { - gst_buffer_unref (buffer); - GST_DEBUG_OBJECT (rmdemux, "Short read at offset %d", rmdemux->offset); - return FALSE; - } /* TODO: Can we also be seeking to a 'DATA' chunk header? Check this. * Also, for the case we currently handle, can we check any more? It's pretty * sucky to not be validating a little more heavily than this... */ @@ -733,7 +727,6 @@ if (stream->subpackets) g_ptr_array_free (stream->subpackets, TRUE); g_free (stream->index); - g_free (stream->extra_data); g_free (stream); } @@ -1067,22 +1060,13 @@ switch (rmdemux->state) { case RMDEMUX_STATE_HEADER: { - guint32 size; if (gst_adapter_available (rmdemux->adapter) < HEADER_SIZE) goto unlock; data = gst_adapter_map (rmdemux->adapter, HEADER_SIZE); rmdemux->object_id = RMDEMUX_FOURCC_GET (data + 0); - size = RMDEMUX_GUINT32_GET (data + 4); - if (size < HEADER_SIZE) { - GST_WARNING_OBJECT (rmdemux, "Bogus looking header, too small size"); - gst_adapter_unmap (rmdemux->adapter); - gst_adapter_flush (rmdemux->adapter, 4); - - break; - } - rmdemux->size = size - HEADER_SIZE; + rmdemux->size = RMDEMUX_GUINT32_GET (data + 4) - HEADER_SIZE; rmdemux->object_version = RMDEMUX_GUINT16_GET (data + 8); /* Sanity-check. We assume that the FOURCC is printable ASCII */ @@ -1101,7 +1085,7 @@ GST_LOG_OBJECT (rmdemux, "header found with object_id=%" GST_FOURCC_FORMAT - " size=%08" G_GSIZE_FORMAT " object_version=%d", + " size=%08x object_version=%d", GST_FOURCC_ARGS (rmdemux->object_id), rmdemux->size, rmdemux->object_version); @@ -1152,8 +1136,7 @@ if ((rmdemux->object_version == 0) || (rmdemux->object_version == 1)) { data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse__rmf (rmdemux, data, rmdemux->size)) - GST_WARNING_OBJECT (rmdemux, "Failed parsing _rmf"); + gst_rmdemux_parse__rmf (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size); } else { @@ -1168,8 +1151,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_prop (rmdemux, data, rmdemux->size)) - GST_WARNING_OBJECT (rmdemux, "Failed parsing prop"); + gst_rmdemux_parse_prop (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size); @@ -1182,8 +1164,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_mdpr (rmdemux, data, rmdemux->size)) - GST_WARNING_OBJECT (rmdemux, "Failed parsing mdpr"); + gst_rmdemux_parse_mdpr (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size); @@ -1196,8 +1177,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_cont (rmdemux, data, rmdemux->size)) - GST_WARNING_OBJECT (rmdemux, "Failed parsing cont"); + gst_rmdemux_parse_cont (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size); @@ -1206,8 +1186,6 @@ } case RMDEMUX_STATE_HEADER_DATA: { - gsize orig_size; - /* If we haven't already done so then signal there are no more pads */ if (!rmdemux->have_pads) { GST_LOG_OBJECT (rmdemux, "no more pads"); @@ -1216,7 +1194,6 @@ } /* The actual header is only 8 bytes */ - orig_size = rmdemux->size; rmdemux->size = DATA_SIZE; GST_LOG_OBJECT (rmdemux, "data available %" G_GSIZE_FORMAT, gst_adapter_available (rmdemux->adapter)); @@ -1224,14 +1201,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_data (rmdemux, data, rmdemux->size)) { - GST_WARNING_OBJECT (rmdemux, "Failed parsing header data"); - gst_adapter_unmap (rmdemux->adapter); - /* skip over whole packet size */ - gst_adapter_flush (rmdemux->adapter, orig_size); - rmdemux->state = RMDEMUX_STATE_HEADER; - break; - } + gst_rmdemux_parse_data (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size); @@ -1244,15 +1214,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_indx (rmdemux, data, rmdemux->size, - &rmdemux->size)) { - GST_WARNING_OBJECT (rmdemux, "Failed parsing header indx"); - gst_adapter_unmap (rmdemux->adapter); - /* skip over whole packet size */ - gst_adapter_flush (rmdemux->adapter, rmdemux->size); - rmdemux->state = RMDEMUX_STATE_HEADER; - break; - } + rmdemux->size = gst_rmdemux_parse_indx (rmdemux, data, rmdemux->size); /* Only flush the header */ gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, HEADER_SIZE); @@ -1268,8 +1230,7 @@ goto unlock; data = gst_adapter_map (rmdemux->adapter, rmdemux->size); - if (!gst_rmdemux_parse_indx_data (rmdemux, data, rmdemux->size)) - GST_WARNING_OBJECT (rmdemux, "Failed parsing indx data"); + gst_rmdemux_parse_indx_data (rmdemux, data, rmdemux->size); gst_adapter_unmap (rmdemux->adapter); gst_adapter_flush (rmdemux->adapter, rmdemux->size);
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/realmedia/rmdemux.h -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/realmedia/rmdemux.h
Changed
@@ -128,7 +128,7 @@ int chunk_index; guint32 object_id; - gsize size; + guint32 size; guint16 object_version; /* container tags for all streams */
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/realmedia/rmutils.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/realmedia/rmutils.c
Changed
@@ -25,10 +25,10 @@ #include "rmutils.h" gchar * -gst_rm_utils_read_string8 (const guint8 * data, gsize datalen, - gsize * p_total_len) +gst_rm_utils_read_string8 (const guint8 * data, guint datalen, + guint * p_total_len) { - gsize length; + gint length; if (p_total_len) *p_total_len = 0; @@ -47,10 +47,10 @@ } gchar * -gst_rm_utils_read_string16 (const guint8 * data, gsize datalen, - gsize * p_total_len) +gst_rm_utils_read_string16 (const guint8 * data, guint datalen, + guint * p_total_len) { - gsize length; + gint length; if (p_total_len) *p_total_len = 0; @@ -69,7 +69,7 @@ } GstTagList * -gst_rm_utils_read_tags (const guint8 * data, gsize datalen, +gst_rm_utils_read_tags (const guint8 * data, guint datalen, GstRmUtilsStringReadFunc read_string_func) { const gchar *gst_tags = { GST_TAG_TITLE, GST_TAG_ARTIST, @@ -80,13 +80,13 @@ g_assert (read_string_func != NULL); - GST_DEBUG ("File Content : (CONT) len = %" G_GSIZE_FORMAT, datalen); + GST_DEBUG ("File Content : (CONT) len = %d", datalen); tags = gst_tag_list_new_empty (); for (i = 0; i < G_N_ELEMENTS (gst_tags); ++i) { gchar *str = NULL; - gsize total_length = 0; + guint total_length = 0; str = read_string_func (data, datalen, &total_length); data += total_length; @@ -146,7 +146,7 @@ } static void -gst_rm_utils_swap_nibbles (guint8 * data, gsize idx1, gsize idx2, gint len) +gst_rm_utils_swap_nibbles (guint8 * data, gint idx1, gint idx2, gint len) { guint8 *d1, *d2, tmp1 = 0, tmp2, tmp1n, tmp2n; @@ -207,7 +207,7 @@ } } -static const gsize sipr_swap_index382 = { +static const gint sipr_swap_index382 = { {0, 63}, {1, 22}, {2, 44}, {3, 90}, {5, 81}, {7, 31}, {8, 86}, {9, 58}, {10, 36}, {12, 68}, {13, 39}, {14, 73}, @@ -224,23 +224,15 @@ gst_rm_utils_descramble_sipr_buffer (GstBuffer * buf) { GstMapInfo map; - gint n; - gsize size, bs; + gint n, bs; + gsize size; size = gst_buffer_get_size (buf); /* split the packet in 96 blocks of nibbles */ - if (size > G_MAXSIZE / 2) { - gst_buffer_unref (buf); - return NULL; - } bs = size * 2 / 96; if (bs == 0) return buf; - if (bs > G_MAXINT) { - gst_buffer_unref (buf); - return NULL; - } buf = gst_buffer_make_writable (buf); @@ -248,7 +240,7 @@ /* we need to perform 38 swaps on the blocks */ for (n = 0; n < 38; n++) { - gsize idx1, idx2; + gint idx1, idx2; /* get the indexes of the blocks of nibbles that need swapping */ idx1 = bs * sipr_swap_indexn0;
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/gst/realmedia/rmutils.h -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/gst/realmedia/rmutils.h
Changed
@@ -24,18 +24,18 @@ G_BEGIN_DECLS -typedef gchar * (*GstRmUtilsStringReadFunc) (const guint8 * data, gsize datalen, gsize * p_strlen); +typedef gchar * (*GstRmUtilsStringReadFunc) (const guint8 * data, guint datalen, guint * p_strlen); gchar *gst_rm_utils_read_string8 (const guint8 * data, - gsize datalen, - gsize * p_totallen); + guint datalen, + guint * p_totallen); gchar *gst_rm_utils_read_string16 (const guint8 * data, - gsize datalen, - gsize * p_totallen); + guint datalen, + guint * p_totallen); GstTagList *gst_rm_utils_read_tags (const guint8 * data, - gsize datalen, + guint datalen, GstRmUtilsStringReadFunc func); GstBuffer *gst_rm_utils_descramble_dnet_buffer (GstBuffer * buf);
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/meson.build -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/meson.build
Changed
@@ -1,9 +1,8 @@ project('gst-plugins-ugly', 'c', - version : '1.28.7', + version : '1.26.7', meson_version : '>= 1.4', default_options : 'warning_level=1', - 'buildtype=debugoptimized', - 'c_std=gnu11,c11' ) + 'buildtype=debugoptimized' ) gst_version = meson.project_version() version_arr = gst_version.split('.') @@ -198,7 +197,7 @@ cdata.set('DISABLE_ORC', 1) endif -gmodule_dep = dependency('gmodule-no-export-2.0', version: glib_req, default_options: {'sysprof': 'disabled'}) +gmodule_dep = dependency('gmodule-no-export-2.0', version: glib_req) if gmodule_dep.version().version_compare('< 2.67.4') cdata.set('g_memdup2(ptr,sz)', '(G_LIKELY(((guint64)(sz)) < G_MAXUINT)) ? g_memdup(ptr,sz) : (g_abort(),NULL)') @@ -353,12 +352,7 @@ configure_file(output : 'config.h', configuration : cdata) -meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.26.0', meson.project_version()) - -# dist common files from monorepo root -if not meson.is_subproject() - meson.add_dist_script('scripts/dist-common-files.py', meson.project_version()) -endif +meson.add_dist_script('scripts/gen-changelog.py', meson.project_name(), '1.24.0', meson.project_version()) plugin_names = gst_plugins =
View file
_service:download_files:gst-plugins-ugly-1.26.7.tar.xz/meson_options.txt
Added
@@ -0,0 +1,52 @@ +option('x264_libraries', type : 'string', value : '', + description : 'Colon separated list of additional x264 library paths, e.g. for 10-bit version') + +# Feature options for plugins without external deps +option('asfdemux', type : 'feature', value : 'auto') +option('dvdlpcmdec', type : 'feature', value : 'auto') +option('dvdsub', type : 'feature', value : 'auto') +option('realmedia', type : 'feature', value : 'auto') + +# Feature options for plugins that need external deps +option('a52dec', type : 'feature', value : 'auto', description : 'Dolby Digital (AC-3) audio decoder plugin based on liba52 (GPL - only built if gpl option is also enabled!)') +option('cdio', type : 'feature', value : 'auto', description : 'CD audio source plugin based on libcdio (GPL - only built if gpl option is also enabled!)') +option('dvdread', type : 'feature', value : 'auto', description : 'DVD video source plugin based on libdvdread (GPL - only built if gpl option is also enabled!)') +option('mpeg2dec', type : 'feature', value : 'auto', description : 'MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)') +option('sidplay', type : 'feature', value : 'auto', description : 'Commodore 64 audio decoder plugin based on libsidplay (GPL - only built if gpl option is also enabled!)') +option('x264', type : 'feature', value : 'auto', description : 'H.264 video encoder plugin based on libx264 (GPL - only built if gpl option is also enabled!)') + +# License-related feature options +option('gpl', type: 'feature', value: 'disabled', yield: true, + description: 'Allow build plugins that have GPL-licensed dependencies') + +# Common feature options +option('nls', type : 'feature', value : 'auto', yield: true, + description : 'Enable native language support (translations)') +option('orc', type : 'feature', value : 'auto', yield : true) +option('tests', type : 'feature', value : 'auto', yield : true) + +# Common options +option('package-name', type : 'string', yield : true, + description : 'package name to use in plugins') +option('package-origin', type : 'string', value : 'Unknown package origin', yield: true, + description : 'package origin URL to use in plugins') +option('doc', type : 'feature', value : 'auto', yield: true, + description: 'Enable documentation.') +option('glib_debug', type : 'feature', value : 'auto', yield : true, description : 'Enable GLib debug infrastructure (see docs/macros.txt)') +option('glib_assert', type : 'boolean', value : true, yield : true, description : 'Enable GLib assertion (see docs/macros.txt)', + deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, +) +option('glib_checks', type : 'boolean', value : true, yield : true, description : 'Enable GLib checks such as API guards (see docs/macros.txt)', + deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, +) + +# Deprecated, kept for backward compat +option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true, + description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)', + deprecated: 'glib_debug') +option('glib-asserts', type : 'feature', value : 'enabled', yield : true, + description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)', + deprecated: 'glib_assert') +option('glib-checks', type : 'feature', value : 'enabled', yield : true, + description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)', + deprecated: 'glib_checks')
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/LINGUAS -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/po/LINGUAS
Changed
@@ -1,1 +1,1 @@ -af ar ast az bg ca cs da de el en_GB eo es eu fi fr fur gl hr hu id it ja ka kk lt lv ms mt nb nl or pl pt_BR ro ru sk sl sq sr sv ta tr uk vi zh_CN zh_TW +af ast az bg ca cs da de el en_GB eo es eu fi fr fur gl hr hu id it ja ka lt lv ms mt nb nl or pl pt_BR ro ru sk sl sq sr sv ta tr uk vi zh_CN zh_TW
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/gst-plugins-ugly-1.0.pot -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/po/gst-plugins-ugly-1.0.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.28.7\n" +"Project-Id-Version: gst-plugins-ugly-1.26.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-07 20:11+0100\n" +"POT-Creation-Date: 2025-10-14 18:26+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
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/gst-plugins-ugly.pot -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/po/gst-plugins-ugly.pot
Changed
@@ -6,9 +6,9 @@ #, fuzzy msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.28.7\n" +"Project-Id-Version: gst-plugins-ugly-1.26.7\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-09-07 20:11+0100\n" +"POT-Creation-Date: 2025-10-14 18:26+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
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/hr.po -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/po/hr.po
Changed
@@ -4,13 +4,13 @@ # This file is distributed under the same license as the gst-plugins-ugly package. # # Tomislav Krznar <tomislav.krznar@gmail.com>, 2012. -# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2018, 2019, 2021, 2022, 2024, 2026. +# Božidar Putanec <bozidarp@yahoo.com>, 2016, 2018, 2019, 2021, 2022, 2024. msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.27.90\n" +"Project-Id-Version: gst-plugins-ugly-1.24.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 17:18+0000\n" -"PO-Revision-Date: 2026-01-07 20:51-0800\n" +"POT-Creation-Date: 2025-02-23 16:56+0000\n" +"PO-Revision-Date: 2024-03-08 10:46-0800\n" "Last-Translator: Božidar Putanec <bozidarp@yahoo.com>\n" "Language-Team: Croatian <lokalizacija@linux.hr>\n" "Language: hr\n" @@ -20,7 +20,7 @@ "X-Bugs: Report translation errors to the Language-Team address.\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Vim9.1\n" +"X-Generator: Poedit 3.0\n" msgid "Could not read from CD." msgstr "Nije moguće čitati CD."
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/ro.po -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/po/ro.po
Changed
@@ -4,7 +4,7 @@ # # Lucian Adrian Grijincu <lucian.grijincu@gmail.com>, 2010. # Florentina Mușat <florentina.musat.28@gmail.com>, 2020. -# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>. 2022 - 2024, 2026. +# Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>. 2022 - 2024. # # Cronologia traducerii fișierului „gst-plugins-ugly”: # Traducerea inițială, făcută de LAG, pentru versiunea gst-plugins-ugly 0.10.14.2 @@ -14,15 +14,14 @@ # Actualizare a traducerii pentru versiunea 1.19.2, făcută de R-GC, ian-2022. # Actualizare a traducerii pentru versiunea 1.21.90, făcută de R-GC, ian-2023. # Actualizare a traducerii pentru versiunea 1.24.0, făcută de R-GC, mar-2024. -# Actualizare a traducerii pentru versiunea 1.27.90, făcută de R-GC, ian-2026. # Actualizare a traducerii pentru versiunea Y, făcută de X, Z(anul). # msgid "" msgstr "" -"Project-Id-Version: gst-plugins-ugly 1.27.90\n" +"Project-Id-Version: gst-plugins-ugly 1.24.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 17:18+0000\n" -"PO-Revision-Date: 2026-01-06 19:36+0100\n" +"POT-Creation-Date: 2024-11-03 17:37+0000\n" +"PO-Revision-Date: 2024-03-08 02:09+0100\n" "Last-Translator: Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>\n" "Language-Team: Romanian <translation-team-ro@lists.sourceforge.net>\n" "Language: ro\n" @@ -32,7 +31,7 @@ "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2);;\n" "X-Bugs: Report translation errors to the Language-Team address.\n" -"X-Generator: Poedit 3.6\n" +"X-Generator: Poedit 3.2.2\n" msgid "Could not read from CD." msgstr "Nu s-a putut citi de pe CD."
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/scripts/gen-changelog.py -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/scripts/gen-changelog.py
Changed
@@ -28,6 +28,7 @@ 'gst-rtsp-server': '5029c85a46a8c366c4bf272d503e22bbcd624ece', 'gst-editing-services': 'ee8bf88ebf131cf7c7161356540efc20bf411e14', 'gst-python': 'b3e564eff577e2f577d795051bbcca85d47c89dc', + 'gstreamer-vaapi': 'c89e9afc5d43837c498a55f8f13ddf235442b83b', 'gst-devtools': 'da962d096af9460502843e41b7d25fdece7ff1c2', 'gstreamer-sharp': 'b94528f8e7979df49fedf137dfa228d8fe475e1b', }
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/tests/check/elements/mpeg2dec.c -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/tests/check/elements/mpeg2dec.c
Changed
@@ -1714,10 +1714,7 @@ GstCaps *caps; GST_DEBUG ("setup_mpeg2dec"); - - // Suppress deprecation warning - ASSERT_WARNING (mpeg2dec = gst_check_setup_element ("mpeg2dec")); - + mpeg2dec = gst_check_setup_element ("mpeg2dec"); mysrcpad = gst_check_setup_src_pad (mpeg2dec, &srctemplate); mysinkpad = gst_check_setup_sink_pad (mpeg2dec, &sinktemplate); gst_pad_set_active (mysrcpad, TRUE);
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/tests/check/meson.build -> _service:download_files:gst-plugins-ugly-1.26.7.tar.xz/tests/check/meson.build
Changed
@@ -75,12 +75,6 @@ env.set('GST_PLUGIN_PATH_1_0', meson.global_build_root() + pluginsdirs) env.set('GST_REGISTRY', join_paths(meson.current_build_dir(), '@0@.registry'.format(test_name))) env.set('GST_PLUGIN_SCANNER_1_0', gst_plugin_scanner_path) - - # Would fail because of deprecation warnings - if mpeg2_dep.found() - env.set('GST_STATE_IGNORE_ELEMENTS', 'mpeg2dec') - endif - test(test_name, exe, env: env, timeout: 3 * 60) endif endforeach
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/meson.options
Deleted
@@ -1,53 +0,0 @@ -option('x264_libraries', type : 'string', value : '', - description : 'Colon separated list of additional x264 library paths, e.g. for 10-bit version') - -# Feature options for plugins without external deps -option('asfdemux', type : 'feature', value : 'auto') -option('dvdlpcmdec', type : 'feature', value : 'auto') -option('dvdsub', type : 'feature', value : 'auto') -option('realmedia', type : 'feature', value : 'auto') - -# Feature options for plugins that need external deps -option('a52dec', type : 'feature', value : 'auto', description : 'Dolby Digital (AC-3) audio decoder plugin based on liba52 (GPL - only built if gpl option is also enabled!)') -option('cdio', type : 'feature', value : 'auto', description : 'CD audio source plugin based on libcdio (GPL - only built if gpl option is also enabled!)') -option('dvdread', type : 'feature', value : 'auto', description : 'DVD video source plugin based on libdvdread (GPL - only built if gpl option is also enabled!)') -option('mpeg2dec', type : 'feature', value : 'auto', description : 'MPEG 2 video decoder plugin based on libmpeg2 (GPL - only built if gpl option is also enabled!)') -option('sidplay', type : 'feature', value : 'auto', description : 'Commodore 64 audio decoder plugin based on libsidplay (GPL - only built if gpl option is also enabled!)') -option('x264', type : 'feature', value : 'auto', description : 'H.264 video encoder plugin based on libx264 (GPL - only built if gpl option is also enabled!)') - -# License-related feature options -option('gpl', type: 'feature', value: 'disabled', yield: true, - description: 'Allow build plugins that have GPL-licensed dependencies') - -# Common feature options -option('nls', type : 'feature', value : 'auto', yield: true, - description : 'Enable native language support (translations)') -option('orc', type : 'feature', value : 'auto', yield : true) -option('orc-compiler', type : 'feature', value : 'auto', yield: true, description : 'Enable targets to allow regeneration of disted orc files') -option('tests', type : 'feature', value : 'auto', yield : true) - -# Common options -option('package-name', type : 'string', yield : true, - description : 'package name to use in plugins') -option('package-origin', type : 'string', value : 'Unknown package origin', yield: true, - description : 'package origin URL to use in plugins') -option('doc', type : 'feature', value : 'auto', yield: true, - description: 'Enable documentation.') -option('glib_debug', type : 'feature', value : 'auto', yield : true, description : 'Enable GLib debug infrastructure (see docs/macros.txt)') -option('glib_assert', type : 'boolean', value : true, yield : true, description : 'Enable GLib assertion (see docs/macros.txt)', - deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, -) -option('glib_checks', type : 'boolean', value : true, yield : true, description : 'Enable GLib checks such as API guards (see docs/macros.txt)', - deprecated: {'enabled' : 'true', 'disabled' : 'false', 'auto' : 'false'}, -) - -# Deprecated, kept for backward compat -option('gobject-cast-checks', type : 'feature', value : 'auto', yield : true, - description: 'Enable run-time GObject cast checks (auto = enabled for development, disabled for stable releases)', - deprecated: 'glib_debug') -option('glib-asserts', type : 'feature', value : 'enabled', yield : true, - description: 'Enable GLib assertion (auto = enabled for development, disabled for stable releases)', - deprecated: 'glib_assert') -option('glib-checks', type : 'feature', value : 'enabled', yield : true, - description: 'Enable GLib checks such as API guards (auto = enabled for development, disabled for stable releases)', - deprecated: 'glib_checks')
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/ar.po
Deleted
@@ -1,61 +0,0 @@ -# Arabic translation for gst-plugins-ugly-1.0 package. -# Copyright (C) 2026 Free Software Foundation, Inc. -# This file is distributed under the same license as the gst-plugins-ugly package. -# Zayed Al-Saidi <zayed.alsaidi@gmail.com>, 2026. -# -# -msgid "" -msgstr "" -"Project-Id-Version: gst-plugins-ugly-1.27.90\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-01-25 17:18+0000\n" -"PO-Revision-Date: 2026-01-11 14:02+0400\n" -"Last-Translator: Zayed Al-Saidi <zayed.alsaidi@gmail.com>\n" -"Language-Team: Arabic <(nothing)>\n" -"Language: ar\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 " -"&& n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Lokalize 23.08.5\n" - -msgid "Could not read from CD." -msgstr "يتعذر القراءة من القرص المدمج." - -msgid "Could not open CD device for reading." -msgstr "تعذر فتح جهاز القرص المدمج للقراءة." - -msgid "Disc is not an Audio CD." -msgstr "القرص ليس قرصاً مدمجاً صوتياً." - -msgid "Could not open DVD" -msgstr "يتعذر فتح قرص DVD" - -#, c-format -msgid "Could not open DVD title %d" -msgstr "يتعذر فتح عنوان DVD %d" - -#, c-format -msgid "Failed to go to chapter %d of DVD title %d" -msgstr "فشل الذهاب إلى الفصل %d من عنوان DVD %d" - -#, c-format -msgid "" -"Could not open DVD title %d. Interactive titles are not supported by this " -"element" -msgstr "يتعذر فتح عنوان DVD %d. العناوين التفاعلية غير مدعومة بهذا العنصر" - -msgid "" -"Could not read DVD. This may be because the DVD is encrypted and a DVD " -"decryption library is not installed." -msgstr "" -"يتعذر قراءة قرص DVD. قد يكون هذا بسبب أن قرص DVD معميّ ومكتبة فك التعمية لقرص " -"DVD غير مثبتة." - -msgid "Could not read DVD." -msgstr "يتعذر قراءة DVD." - -msgid "This stream contains no data." -msgstr "هذا الدفق لا يحتوي على بيانات."
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/po/kk.po
Deleted
@@ -1,62 +0,0 @@ -# SOME DESCRIPTIVE TITLE. -# Copyright (C) 2026 gst-plugins-ugly's COPYRIGHT HOLDER -# This file is distributed under the same license as the gst-plugins-ugly package. -# Baurzhan Muftakhidinov <baurthefirst@gmail.com>, 2026. -# -#, fuzzy -msgid "" -msgstr "" -"Project-Id-Version: gst-plugins-ugly 1.27.90\n" -"Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2026-03-18 23:43+0100\n" -"PO-Revision-Date: 2026-03-01 15:02+0500\n" -"Last-Translator: Baurzhan Muftakhidinov <baurthefirst@gmail.com>\n" -"Language-Team: Kazakh <(nothing)>\n" -"Language: kk\n" -"MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit\n" -"X-Bugs: Report translation errors to the Language-Team address.\n" -"Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Poedit 3.8\n" - -msgid "Could not read from CD." -msgstr "CD-ден оқу мүмкін болмады." - -msgid "Could not open CD device for reading." -msgstr "Оқу үшін CD құрылғысын ашу мүмкін болмады." - -msgid "Disc is not an Audio CD." -msgstr "Диск аудио CD емес." - -msgid "Could not open DVD" -msgstr "DVD ашу мүмкін болмады" - -#, c-format -msgid "Could not open DVD title %d" -msgstr "DVD %d бөлімін ашу мүмкін болмады" - -#, c-format -msgid "Failed to go to chapter %d of DVD title %d" -msgstr "%d тарауына өту (DVD %d бөлімі үшін) сәтсіз аяқталды" - -#, c-format -msgid "" -"Could not open DVD title %d. Interactive titles are not supported by this " -"element" -msgstr "" -"DVD %d бөлімін ашу мүмкін болмады. Бұл элемент интерактивті бөлімдерді " -"қолдамайды" - -msgid "" -"Could not read DVD. This may be because the DVD is encrypted and a DVD " -"decryption library is not installed." -msgstr "" -"DVD оқу мүмкін болмады. Бұл DVD шифрленген және DVD шифрсіздеу кітапханасы " -"орнатылмаған болуы мүмкін." - -msgid "Could not read DVD." -msgstr "DVD оқу мүмкін болмады." - -msgid "This stream contains no data." -msgstr "Бұл ағында деректер жоқ."
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/release-notes-1.28.md
Deleted
@@ -1,2978 +0,0 @@ -# GStreamer 1.28 Release Notes - -GStreamer 1.28.0 was originally released on 27 January 2026. - -The latest bug-fix release in the stable 1.28 series is 1.28.7(#1.28.7) and was released on 07 September 2026. - -See https://gstreamer.freedesktop.org/releases/1.28/latest for the latest version of this document. - -*Last updated: Monday 07 September 2026, 20:00 UTC (log)gitlog* - -latest: https://gstreamer.freedesktop.org/releases/1.28/ -gitlog: https://gitlab.freedesktop.org/gstreamer/www/commits/main/src/htdocs/releases/1.28/release-notes-1.28.md - -<a id="introduction"></a> -## Introduction - -The GStreamer team is proud to announce a new major feature release in the -stable 1.x API series of your favourite cross-platform multimedia framework! - -As always, this release is again packed with many new features, bug fixes, and other improvements. - -<a id="highlights"></a> -## Highlights - -- AMD HIP plugin and integration helper library -- Vulkan Video AV1 and VP9 decoding, H.264 encoding, and 10-bit support for H.265 decoder -- waylandsink: Parse and set the HDR10 metadata and other color management improvements -- Audio source separation element based on demucs in Rust -- Analytics combiner and splitter elements plus batch meta to batch buffers from one or more streams -- LiteRT inference element; move modelinfo to analytics lib; add script to help with modelinfo generation and upgrade -- Add general classifier tensor-decoder, facedetector, and more analytics convenience API -- New tensordecodebin element to auto-plug compatible tensor decoders based on their caps and many other additions and improvements -- Add a burn-based YOLOX inference element and a YOLOX tensor decoder in Rust -- applemedia: VideoToolbox VP9 and AV1 hardware-accelerated decoding support, and 10-bit HEVC encoding -- Add new GIF decoder element in Rust with looping support -- input-selector: implements a two-phase sinkpad switch now to avoid races when switching input pads -- The inter wormhole sink and source elements gained a way to forward upstream events to the producer as well as new fine-tuning properties -- webrtcsink: add renegotiation support and support for va hardware encoders -- webrtc WHEP client and server signaller -- New ST-2038 ancillary data combiner and extractor elements -- fallbacksrc gained support for encoded streams -- flv: enhanced rtmp H.265 video support, and support for multitrack audio -- glupload: Implement udmabuf uploader to share buffers between software decoders/sources and GPUs, display engines (wayland), and other dma devices -- video: Add crop, scale, rotate, flip, shear and more GstMeta transformation -- New task pool GstContext to share a thread pool amongst elements for better resource management and performance, especially for video conversion and compositing -- New Deepgram speech-to-text transcription plugin and many other translation and transcription improvements -- Speech synthesizers: expose new "compress" overflow mode that can speed up audio while preserving pitch -- ElevenLabs voice cloning element and support for Speechmatics speaker identification API -- textaccumulate: new element for speech synthesis or translation preprocessing -- New vmaf element to calculate perceptual video quality assessment scores using Netflix's VMAF framework -- decodebin3: expose KLV, ID3 PES and ST-2038 ancillary data streams with new metadata GstStream type -- New MPEG-H audio decoding plugin plus MP4 demuxing support -- LCEVC: Add autoplugging decoding support for LCEVC H265 and H266 video streams and LCEVC H.265 and H.266 encoders -- RTP "robust MPEG audio", raw audio (L8, L16, L24), and SMPTE ST291 ancillary metadata payloaders/depayloaders in Rust -- Add a Rust-based icecastsink element with AAC support -- The Windows IPC plugin gained support for passing generic data in addition to raw audio/video, and various properties -- New D3D12 interlace and overlay compositor elements, plus many other D3D12 improvements -- Blackmagic Decklink elements gained support for capturing and outputting all types of VANC via GstAncillaryMeta -- GstLogContext API to reduce log spam in several components and `GST_DEBUG_ONCE` (etc) convenience macros to log things only once -- hlssink3, hlscmafsink: Support the use of a single media file, plus I-frame only playlist support -- Webkit: New wpe2 plugin making use of the "WPE Platform API" -- MPEG-TS demuxer can now disable skew corrections -- New Qt6 QML render source element -- qml6gloverlay: support directly passing a QQuickItem for QML the render tree -- unifxfdsink: Add a property to allow copying to make sink usable with more upstream elements -- dots-viewer: Improve dot file generation and interactivity -- Python bindings: more syntactic sugar, analytics API improvements and type annotations -- cerbero: add support for Python wheel packaging, Windows ARM64, new iOS xcframework, Gtk4 on macOS and Windows, and more plugins -- Smaller binary sizes of Rust plugins in Windows and Android binary packages -- Peel: New C++ bindings for GStreamer -- Lots of new plugins, features, performance improvements and bug fixes -- Countless bug fixes, build fixes, memory leak fixes, and other stability and reliability improvements - -<a id="major-changes"></a> -## Major new features and changes - -<a id="hip"></a> -### AMD HIP plugin and integration library - -- HIP (formerly known as Heterogeneous-computing Interface for Portability) is AMD’s - GPU programming API that enables portable, CUDA-like development across both AMD and - NVIDIA platforms: - - - On AMD GPUs, HIP runs natively via the ROCm stack. - - On NVIDIA GPUs, HIP operates as a thin translation layer over the CUDA runtime and driver APIs. - - This allows developers to maintain a single codebase that can target multiple GPU vendors with minimal effort. - -- The **new HIP plugin**hip-plugin provides the following elements: - - - **hipcompositor**: a HIP-based video mixer/compositor - - **hipconvert**: Converts video from one colorspace to another using HIP - - **hipconvertscale**: Resizes video and allow color conversion using HIP - - **hipscale**: Resize video using HIP - - **hipdownload**: Downloads HIP device memory into system memory - - **hipupload**: Uploads system memory into HIP device memory - -- The **GStreamer HIP integration helper library** provides HIP integration functionality - to applications and other HIP users. - -- Watch the Bringing AMD HIP into GStreamergstconf-hip talk from last year's GStreamer Conference - for more details or read Seungha's devlog postdevlog-hip on the subject. - -hip-plugin: https://gstreamer.freedesktop.org/documentation/hip/index.html?gi-language=c#hip-page -gstconf-hip: https://gstconf.ubicast.tv/videos/bringing-amd-hip-into-gstreamer/ -devlog-hip: https://centricular.com/devlog/2025-07/amd-hip-integration/ - -<a id="lvecv"></a> -### Low Complexity Enhancement Video Coding (LCEVC) support for H.265 and H.266 - -- LCEVClcevc is a codec that provides an enhancement layer on top of - another codec such as H.264 for example. It is standardised as MPEG-5 Part 2. - -- **LCEVC H.265 and H.266 encoder and decoder elements** based on V-Nova's SDK libraries - were added in this cycle - -- **Autoplugging support for LCEVC H265 and H266 video streams**, so these can be decoded - automatically in a decodebin3 or playbin3 scenario. - -lcevc: https://www.lcevc.org - -<a id="closedcaptions"></a> -### Closed captions and text handling improvements - -- **cea708overlay**: suport non-relative positioning for streams with CCs - that do not have relative positions. Instead of displaying them at the - top, they are positioned relatively. - -- **cea708mux**: expose "discarded-services" property on sink pads. This can be - useful when muxing in an original caption stream with a newly-created one - (e.g. transcription / translation), in which case one might wish to discard - select services from the original stream in order to avoid garbled captions. - -- **sccparse**: Better handling of streams with more byte tuples in the SCC field. - -- **tttocea608**: expose "speaker-prefix" property - -- Miscellaneous improvements and spec compliance fixes - -- Also see SMPTE ST-2038 metadata section below. - -<a id="stt-translations-and-speech-synthesis"></a> -### Speech to Text, Translation and Speech Synthesis - -- New **audio source separation element based on demucs** in Rust. This is useful - to separate speech from background audio before running speech to text transcription, - but could also be used to separate vocals from music for karaoke. - -- New **Deepgram speech-to-text transcription** plugin in Rust. - -- The **Speechmatics transcriber** has seen a **major refactoring** for better timings, - gap and discontinuity handling and has gained **support for the new Speechmatics speaker - identification API** as well as a new property to **mask profanities**. - -- New **ElevenLabs voice cloning element**. The new element can operate in two modes: - - In single speaker mode, the element will directly clone a single voice - from its input, without storing any samples. - - Otherwise, the element will store a backlog of samples, and wait to - receive certain events from a transcriber on its source pad before draining - them to create potentially multiple voices. - -- New **"compress" overflow mode for speech synthesizers** that can speed up - the audio while preserving pitch. This may be needed to keep or regain audio/video - synchronisation if translated speech output has been consistently longer in duration - than the original and there hasn't been a sufficient amount of silence that could be - filled in to make up the difference. - -- **awstranslate**: new "brevity-on" property for turning brevity on. - -- The **awstranscriber2** has been **refactored** to match the speechmatics transcriber design - and gained a "show-speaker-label" property that defines whether to partition speakers in the - transcription output. - -- New **textaccumulate** element for speech synthesis or translation preprocessing that - can be used to accumulate words and punctuation into complete sentences (or sentence fragments) - for synthesis and / or translation by further elements downstream. - -<a id="adaptive-streaming"></a> -### HLS DASH adaptive streaming improvements - -- Reverse playback, seeking and stream selection fixes in the HLS/DASH clients. - -- **hlscmafsink** can generate I-frame only playlists now - -- Both **hlssink3** and **hlscmafsink** gained support for use of a single media file, - in which case the media playlist will use byte range tags for each chunk whilst - always referencing the same single media file. This can be useful for VOD use cases. - -<a id="playback"></a> -### decodebin3 and playbin3 improvements - - - **decodebin3** now has a separate pad template for **metadata streams** and considers - KLV, ID3 PES streams and ST-2038 ancillary streams as raw formats for meta streams. This comes - also with a new dedicated `GST_STREAM_TYPE_METADATA` stream type in the stream collection. - -<a id="eflv"></a> -### Enhanced RTMP and multitrack audio/video support in FLV - -- The FLV container used for RTMP streaming is fairly old and limited in terms of features:
View file
_service:download_files:gst-plugins-ugly-1.28.7.tar.xz/scripts/dist-common-files.py
Deleted
@@ -1,73 +0,0 @@ -#!/usr/bin/env python3 -# -# Copyright (C) 2023-2026 Tim-Philipp Müller <tim centricular net> -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Library General Public -# License as published by the Free Software Foundation; either -# version 2 of the License, or (at your option) any later version. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Library General Public License for more details. -# -# You should have received a copy of the GNU Library General Public -# License along with this library; if not, write to the -# Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, -# Boston, MA 02110-1301, USA. - -import os -import subprocess -import shutil -import tempfile -import sys - -if __name__ == "__main__": - dist_root = os.environ'MESON_DIST_ROOT' - build_root = os.environ'MESON_BUILD_ROOT' - source_root = os.environ'MESON_SOURCE_ROOT' - project_version = sys.argv1 - pwd = os.environ'PWD' - tmpdir = tempfile.gettempdir() - - ver_array = project_version.split('.') - major_minor = '{}.{}'.format(ver_array0, ver_array1) - - module = os.path.basename(os.path.normpath(source_root)) - - print('Copying README.md into dist staging directory ..') - readme_src = os.path.join(source_root, '..', '..', 'README.md') - shutil.copy2(readme_src, dist_root) - - # Release notes (instead of NEWS) - could also write it out as NEWS.md - print('Copying release notes into dist staging directory ..') - relnotes_src = os.path.join(source_root, '..', '..', 'release-notes', major_minor, f'release-notes-{major_minor}.md') - with open(relnotes_src, 'r') as f: - lines = f.readlines() - if not f'### {project_version}\n' in lines: - sys.exit(f'Update {relnotes_src} first, must contain a section for {project_version}') - if not project_version.endswith('.0'): - found = False - for line in lines: - if line.startswith('The latest') and project_version in line: - found = True - if not found: - sys.exit(f'Update {relnotes_src} first, header should say latest version is {project_version}.') - shutil.copy2(relnotes_src, dist_root) - - # RELEASE - print('Copying RELEASE into dist staging directory ..') - rel_src = os.path.join(source_root, '..', '..', 'release-notes', major_minor, f'RELEASE-{major_minor}.template') - with open(rel_src, 'r') as f: - lines = f.readlines() - - assert (lines0.startswith('This is GStreamer')) - - if module == 'gstreamer': - lines0 = f'This is GStreamer core {project_version}\n' - else: - lines0 = f'This is GStreamer {module} {project_version}\n' - - with open(os.path.join(dist_root, 'RELEASE'), 'w') as f: - f.writelines(lines)
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
.