Projects
Essentials
gstreamer-plugins-bad-codecs
Sign Up
Log In
Username
Password
We truncated the diff of some files because they were too big. If you want to see the full diff for every file,
click here
.
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
Expand all
Collapse all
Changes of Revision 4
View file
gstreamer-plugins-bad-codecs.changes
Changed
@@ -1,4 +1,10 @@ ------------------------------------------------------------------- +Fri Feb 4 20:56:11 UTC 2022 - Bjørn Lie <zaitor@opensuse.org> + +- Update to version 1.18.6 +- Add explicit gstreamer-plugins-bad Requires. + +------------------------------------------------------------------- Sun Jan 30 15:59:49 UTC 2022 - Bjørn Lie <zaitor@opensuse.org> - Limit Obsolete of orig-addon to version 1.18.5 and older.
View file
gstreamer-plugins-bad-codecs.spec
Changed
@@ -7,7 +7,7 @@ %define _version 1.18.0 Name: gstreamer-plugins-bad-codecs -Version: 1.18.5 +Version: 1.18.6 Release: 0 Summary: Codecs/plugins for gstreamer-plugins-bad License: LGPL-2.1-or-later @@ -43,7 +43,8 @@ BuildRequires: pkgconfig(x265) Provides: gstreamer-plugins-bad-orig-addon = %{version} -Obsoletes: gstreamer-plugins-bad-orig-addon <= 1.18.5 +Obsoletes: gstreamer-plugins-bad-orig-addon < 1.18.6 +Requires: gstreamer-plugins-bad >= %{_version} Supplements: gstreamer-plugins-bad %description
View file
gst-plugins-bad-1.18.6.tar.xz/.gitignore
Added
@@ -0,0 +1,16 @@ +*~ + +Build +*.user +*.suo +*.ipch +*.sdf +*.opensdf +*.DS_Store + +# Meson +/build +/subprojects + +# hotdoc +docs/hotdoc/libs/generated_sitemap.txt
View file
gst-plugins-bad-1.18.6.tar.xz/.gitlab-ci.yml
Added
@@ -0,0 +1,1 @@ +include: "https://gitlab.freedesktop.org/gstreamer/gst-ci/raw/1.18/gitlab/ci_template.yml"
View file
gst-plugins-bad-1.18.5.tar.xz/ChangeLog -> gst-plugins-bad-1.18.6.tar.xz/ChangeLog
Changed
@@ -1,3 +1,177 @@ +=== release 1.18.6 === + +2022-02-02 15:07:37 +0000 Tim-Philipp Müller <tim@centricular.com> + + * ChangeLog: + * NEWS: + * RELEASE: + * gst-plugins-bad.doap: + * meson.build: + Release 1.18.6 + +2022-01-27 17:56:29 +0100 Jakub Adam <jakub.adam@collabora.com> + + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: Chain up to parent constructed method + Failing to do so makes GstWebRTCBin invisible to the leaks tracer. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2570> + +2022-01-11 13:21:55 -0500 Dave Piché <dave.piche@motorolasolutions.com> + + * ext/webrtc/gstwebrtcbin.c: + webrtc: fix log error message in function gst_webrtc_bin_set_local_description + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2569> + +2022-01-13 11:31:55 +0000 Tim-Philipp Müller <tim@centricular.com> + + * gst/mxf/mxfvanc.c: + mxfdemux: don't error out if VANC track only contains packets we don't handle + If the VANC track does contain packets, but we skip over all packets, just + treat it the same as if there hadn't been any packets at all and send a + GAP event instead of erroring out with "Failed to handle essence element". + We would error out because when we reach the end of the loop without having + found a closed caption packet the flow return variable is still FLOW_ERROR + which is what it has been initialised to. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2568> + +2022-01-10 15:24:13 +0800 Mengkejiergeli Ba <mengkejiergeli.ba@intel.com> + + * gst-libs/gst/codecparsers/gstav1parser.h: + av1parser: Fix data type of film grain param + Fix cb_offset and cr_offset data type from guint8 to guint16. According + to spec, cb_offset and cr_offset are 9 bit long, while guint8 can cause + interger overflow, and thus change to guint16. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2567> + +2021-12-29 21:29:02 +0100 Rafał Dzięgiel <rafostar.github@gmail.com> + + * ext/assrender/gstassrender.c: + assrender: Support RFC8081 mime types + Old "application/*" are now as per RFC8081 deprecated in favor of + new "font/*" mime types. Some new encoders are already using the + updated mime types. We need to also add them to the support list + in order for assrender to correctly identify them as fonts. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566> + +2021-01-20 12:04:48 +0100 Rafał Dzięgiel <rafostar.github@gmail.com> + + * ext/assrender/gstassrender.c: + assrender: Add "application/vnd.ms-opentype" mimetype detection + The "application/vnd.ms-opentype" mimetype is commonly used in many fonts attached in the matroska videos. + Assrender should treat it as compatible without the need of parsing the file extension. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566> + +2021-12-29 21:28:56 +0100 Rafał Dzięgiel <rafostar.github@gmail.com> + + * ext/assrender/gstassrender.c: + assrender: Handle ".ttc" attachment extension + TTC stands for "TrueType Collection" file. We can pass it + into libass as any other attachment. Add it to the supported + extensions list, so the fonts it contains will be used. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2566> + +2021-12-11 11:33:39 -0300 Thibault Saunier <tsaunier@igalia.com> + + * docs/plugins/gst_plugins_cache.json: + * ext/soundtouch/gstpitch.cc: + pitch: Specify layout as required for negotiation + There are cases where it might negotiate 'non-interleaved' while it + is wrong. + ``` + gst-launch-1.0 audiotestsrc ! "audio/x-raw, format=(string)F32LE, layout=(string)non-interleaved" ! audioconvert ! audioresample ! pitch tempo=1.2 ! audioconvert ! "audio/x-raw,format=S16LE" ! fakesink + Setting pipeline to PAUSED ... + Pipeline is PREROLLING ... + (gst-launch-1.0:3029628): GStreamer-Audio-CRITICAL **: 11:42:22.477: gst_audio_buffer_map: assertion '(!meta && info->layout == GST_AUDIO_LAYOUT_INTERLEAVED) || (meta && info->layout == meta->info.layout)' failed + ERROR: from element /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: The stream is in the wrong format. + Additional debug info: + ../subprojects/gst-plugins-base/gst/audioconvert/gstaudioconvert.c(876): gst_audio_convert_transform (): /GstPipeline:pipeline0/GstAudioConvert:audioconvert1: + failed to map input buffer + ERROR: pipeline doesn't want to preroll. + ERROR: from element /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: Internal data stream error. + Setting pipeline to NULL ... + Additional debug info: + ../subprojects/gstreamer/libs/gst/base/gstbasesrc.c(3127): gst_base_src_loop (): /GstPipeline:pipeline0/GstAudioTestSrc:audiotestsrc0: + streaming stopped, reason error (-5) + ERROR: pipeline doesn't want to preroll. + Freeing pipeline ... + ``` + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2565> + +2021-11-05 13:12:14 +0100 Antonio Ospite <antonio.ospite@collabora.com> + + * sys/magicleap/meson.build: + magicleap: update lumin_rt libraries names to the latest official version + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2561> + +2021-10-30 01:41:51 +0900 Seungha Yang <seungha@centricular.com> + + * gst-libs/gst/codecs/gsth265decoder.c: + codecs: h265decoder: Fix per-slice leak + As documented, slice header parsed via gst_h265_parser_parse_slice_hdr() + should be cleared, otherwise it would result in memory leak. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2559> + +2021-10-28 17:41:54 +0100 Tim-Philipp Müller <tim@centricular.com> + + * gst/videoparsers/gstmpeg4videoparse.c: + mpeg4videoparse: fix criticals trying to insert configs that don't exist yet + With mpeg4videoparse drop=false config-interval=N|-1 we might be + trying to insert a config before we have actually received one, + in which case we'll try to map a NULL buffer which will generate + lots of criticals. + Fixes #855 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2558> + +2021-09-23 19:30:32 +0300 Sebastian Dröge <sebastian@centricular.com> + + * ext/webrtc/gstwebrtcbin.c: + webrtcbin: Always set SINK/SRC flags + webrtcbin can act as a sink/source depending on the SDP later. Without + setting this here already, surrounding bins might not notice this and + the pipeline configuration might become inconsistent, e.g. with regards + to latency. + See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/737 + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2556> + +2021-08-16 18:15:42 +0300 Vivia Nikolaidou <vivia@ahiru.eu> + + * gst/mpegtsdemux/mpegtspacketizer.c: + mpegtspacketizer: memcmp potentially seen_before data + Theoretically the version number is incremented every time there's a new + section, but in a world of streaming we can't easily make that + assumption. + An example of a broken use case is when we're cat-ing two mpeg-ts files + together, which is equivalent of capturing a DVB stream while switching + channels. A set-top box would know that we switched the channels and + reset the demuxer, but in practice this might not happen. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2555> + +2021-02-25 14:09:50 +0100 Stéphane Cerveau <scerveau@collabora.com> + + * ext/zxing/gstzxing.cpp: + * ext/zxing/meson.build: + * tests/check/elements/zxing.c: + zxing: update to support version 1.1.1 + Support new API in 1.1.1 + Update the supported input video format. + Update tests to use parse_launch + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2554> + +2021-10-21 00:31:24 +0200 Jan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com> + + * gst/interlace/gstinterlace.c: + interlace: Reset after changing state to READY + Trying to reset before the pads have been deactivated races with the + streaming thread. There was also a buggy buffer clear leaving a dangling + `stored_frame` pointer around. Use `gst_interlace_reset` so this happens + properly. + Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2553> + +2021-09-09 00:12:51 +0100 Tim-Philipp Müller <tim@centricular.com> + + * meson.build: + Back to development + === release 1.18.5 === 2021-09-08 20:03:37 +0100 Tim-Philipp Müller <tim@centricular.com>
View file
gst-plugins-bad-1.18.5.tar.xz/NEWS -> gst-plugins-bad-1.18.6.tar.xz/NEWS
Changed
@@ -2,13 +2,13 @@ GStreamer 1.18.0 was originally released on 8 September 2020. -The latest bug-fix release in the 1.18 series is 1.18.5 and was released -on 8 September 2021. +The latest bug-fix release in the 1.18 series is 1.18.6 and was released +on 2 February 2022. See https://gstreamer.freedesktop.org/releases/1.18/ for the latest version of this document. -Last updated: Wednesday 8 September 2021, 11:00 UTC (log) +Last updated: Wednesday 2 February 2022, 11:30 UTC (log) Introduction @@ -2103,9 +2103,8 @@ Known Issues - GStreamer 1.18 versions <= 1.18.4 would fail to build on Linux with - Meson 0.58 due to an issue with the include directories. Either - apply the patch or build with an older Meson version (<= 0.57) until - there is a GStreamer 1.18.5 release that includes the fix. + Meson 0.58 due to an issue with the include directories. + GStreamer >= 1.18.5 includes a fix for this. Contributors @@ -3183,16 +3182,180 @@ - List of Merge Requests applied in 1.18.5 - List of Issues fixed in 1.18.5 +1.18.6 + +The sixth 1.18 bug-fix release (1.18.6) was released on 2 February 2022. + +This release only contains bugfixes and security fixes and it should be +safe to update from 1.18.x. + +Highlighted bugfixes in 1.18.6 + +- tagdemux: Fix crash when presented with malformed files (security + fix) +- video-converter: Fix broken gamma remap with high bitdepth YUV + output +- shout2send: Fix issues with libshout >= 2.4.2 +- mxfdemux: fix regression with VANC tracks that only contains packet + types we don’t handle +- Better plugin loading error reporting on Windows +- Fixes for deprecations in Python 3.10 +- build fixes, memory leak fixes, reliability fixes +- security fixes + +gstreamer + +- gstplugin: Fix for UWP build +- gstplugin: Better warnings on plugin load failure on Windows +- gst-ptp-helper: Do not disable multicast loopback +- concat: fix qos event handling +- pluginfeature: Fix object leak +- baseparse: fix invalid avg_bitrate after reset +- multiqueue: Fix query unref race on flush +- gst: Initialize optional event/message fields when parsing +- bitwriter: Fix the trailing bits lost when getting its data. +- multiqueue: never consider a queue that is not waiting +- input-selector: Use proper segments when cleaning cached buffers + +gst-plugins-base + +- tagdemux: Fix crash when presented with malformed files (security + fix) +- videoencoder: make sure the buffer is writable before modifying + metadata +- video-converter: Fix for broken gamma remap with high bitdepth YUV + output +- sdpmessage: fix mapping single char fmtp params +- oggdemux: fix a race in push mode when performing the duration seek +- uridecodebin: Fix critical warnings +- audio-converter: Fix resampling when there’s nothing to output +- tcp: fix build on Solaris +- uridecodebin3: Nullify current item after all play items are freed. +- audio-resampler: Fix segfault when we can’t output any frames +- urisourcebin: Handle sources with dynamic pads and pads already + present +- playbin2/3: autoplug/caps: don’t expand caps to ANY +- uridecodebin3/urisourcebin: Reusability fixes +- rtspconnection: Only reset timeout when socket is unused +- gstvideoaggregator.c: fix build with gcc 4.8 + +gst-plugins-good + +- rtspsrc: Fix critical while serializing timeout element message +- multifilesrc: fix caps leak +- shout2: Add compatibility for libshout >= 2.4.2 shout_open return + values +- v4l2: Update fmt if padded height is greater than fmt height +- v4l2bufferpool: set video alignment of video meta +- qtmux: fix deadlock in gst_qt_mux_prepare_moov_recovery +- matroska: Add support for muxing/demuxing ffv1 +- qtdemux: Try to build AAC codec-data whenever it’s possible + +gst-plugins-bad + +- interlace: Fix a double-unref on shutdown +- webrtcbin: Chain up to parent constructed method +- webrtc: fix log error message in function + gst_webrtc_bin_set_local_description +- mxfdemux: don’t error out if VANC track only contains packets we + don’t handle +- av1parser: Fix data type of film grain param +- assrender: Support RFC8081 mime types +- pitch: Specify layout as required for negotiation +- magicleap: update lumin_rt libraries names to the latest official + version +- codecs: h265decoder: Fix per-slice leak +- mpeg4videoparse: fix criticals trying to insert configs that don’t + exist yet +- webrtcbin: Always set SINK/SRC flags +- mpegtspacketizer: memcmp potentially seen_before data +- zxing: update to support version 1.1.1 + +gst-plugins-ugly + +- No changes + +gst-libav + +- avcodecmap: Add support for GBRA_10LE/BE + +gst-rtsp-server + +- rtsp-stream: fix get_rates raciness +- rtsp-media: Only unprepare a media if it was not already unpreparing + anyway +- rtsp-media: Unprepare suspended medias too +- rtsp-client: make sure sessmedia will not get freed while used +- rtsp-media: Also mark receive-only (RECORD) medias as prepared when + unsuspending +- rtsp-session: Don’t unref medias twice if it is removed inside… +- examples: Fix leak in appsrc2 example + +gstreamer-vaapi + +- libs: video-format: Check if formats map is not NULL +- vaapidecode: Autogenerate caps template +- vaapipostproc: copy over metadata also when using system allocated + buffer + +gst-python + +- Avoid treating float as int (fix for Python 3.10) + +gst-editing-services + +- meson: Remove duplicate definition of ‘examples’ option + +gst-devtools + +- No changes + +gst-integration-testsuites + +- No changes + +gst-build + +- env: Fix deprecations from python 3.10 +- Various fixes for macOS +- update FFmpeg wrap to 4.3.3 + +Cerbero build tool and packaging changes in 1.18.6 + +- Some fixes for Fedora 34 +- cerbero: Backport fix for removed loop param of PriorityQueue() +- cerbero: Fix support for Fedora 35 +- Add support for Visual Studio 2022 +- openssl.recipe: Fix crash on iOS TestFlight +- UnixBootstrapper: remove sudo as root user +- bzip2.recipe: bump version to 1.0.8 +- openssl.recipe: upgrade to version 1.1.1l + +Contributors to 1.18.6 + +Antonio Ospite, Célestin Marot, Dave Piché, Erlend Eriksen, Fabrice +Fontaine, Guillaume Desmottes, Haihua Hu, He Junyan, Jakub Adam, Jan +Alexander Steffens (heftig), Jan Schmidt, Jeremy Cline, Jordan Petridis, +Mathieu Duponchelle, Matthew Waters, Mengkejiergeli Ba, Michael Gruner, +Nirbheek Chauhan, Ognyan Tonchev, Pascal Hache, Rafał Dzięgiel, +Sebastian Dröge, Seungha Yang, Stéphane Cerveau, Teng En Ung,Thibault +Saunier, Thomas Klausner, Tim-Philipp Müller, Tobias Reineke, Tobias +Ronge, Tomasz Andrzejak, Trung Do, Víctor Manuel Jáquez Leal, Vivia +Nikolaidou, + +… and many others who have contributed bug reports, translations, sent +suggestions or helped testing. Thank you all! + +List of merge requests and issues fixed in 1.18.6 + +- List of Merge Requests applied in 1.18.6
View file
gst-plugins-bad-1.18.5.tar.xz/RELEASE -> gst-plugins-bad-1.18.6.tar.xz/RELEASE
Changed
@@ -1,4 +1,4 @@ -This is GStreamer gst-plugins-bad 1.18.5. +This is GStreamer gst-plugins-bad 1.18.6. The GStreamer team is thrilled to announce a new major feature release of your favourite cross-platform multimedia framework! @@ -82,7 +82,7 @@ For help and support, please subscribe to and send questions to the gstreamer-devel mailing list (see below for details). -There is also a #gstreamer IRC channel on the Freenode IRC network. +There is also a #gstreamer IRC channel on the OFTC IRC network. ==== Developers ====
View file
gst-plugins-bad-1.18.5.tar.xz/docs/plugins/gst_plugins_cache.json -> gst-plugins-bad-1.18.6.tar.xz/docs/plugins/gst_plugins_cache.json
Changed
@@ -217938,12 +217938,12 @@ "long-name": "Pitch controller", "pad-templates": { "sink": { - "caps": "audio/x-raw:\n format: F32LE\n rate: [ 8000, 2147483647 ]\n channels: [ 1, 2147483647 ]\n", + "caps": "audio/x-raw:\n format: F32LE\n rate: [ 8000, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n", "direction": "sink", "presence": "always" }, "src": { - "caps": "audio/x-raw:\n format: F32LE\n rate: [ 8000, 2147483647 ]\n channels: [ 1, 2147483647 ]\n", + "caps": "audio/x-raw:\n format: F32LE\n rate: [ 8000, 2147483647 ]\n channels: [ 1, 2147483647 ]\n layout: interleaved\n", "direction": "src", "presence": "always" }
View file
gst-plugins-bad-1.18.5.tar.xz/ext/assrender/gstassrender.c -> gst-plugins-bad-1.18.6.tar.xz/ext/assrender/gstassrender.c
Changed
@@ -1546,11 +1546,17 @@ static const gchar *mimetypes[] = { "application/x-font-ttf", "application/x-font-otf", - "application/x-truetype-font" + "application/x-truetype-font", + "application/vnd.ms-opentype", + "font/ttf", + "font/otf", + "font/sfnt", + "font/collection" }; static const gchar *extensions[] = { ".otf", - ".ttf" + ".ttf", + ".ttc" }; GstBuffer *buf;
View file
gst-plugins-bad-1.18.5.tar.xz/ext/soundtouch/gstpitch.cc -> gst-plugins-bad-1.18.6.tar.xz/ext/soundtouch/gstpitch.cc
Changed
@@ -73,13 +73,15 @@ "audio/x-raw, " \ "format = (string) " GST_AUDIO_NE (F32) ", " \ "rate = (int) [ 8000, MAX ], " \ - "channels = (int) [ 1, MAX ]" + "channels = (int) [ 1, MAX ], " \ + "layout = (string) interleaved" #elif defined(SOUNDTOUCH_INTEGER_SAMPLES) #define SUPPORTED_CAPS \ "audio/x-raw, " \ "format = (string) " GST_AUDIO_NE (S16) ", " \ "rate = (int) [ 8000, MAX ], " \ - "channels = (int) [ 1, MAX ]" + "channels = (int) [ 1, MAX ]", \ + "layout = (string) interleaved" #else #error "Only integer or float samples are supported" #endif @@ -459,8 +461,8 @@ return res; } -/* generic convert function based on caps, no rate - * used here +/* generic convert function based on caps, no rate + * used here */ static gboolean gst_pitch_convert (GstPitch * pitch,
View file
gst-plugins-bad-1.18.5.tar.xz/ext/webrtc/gstwebrtcbin.c -> gst-plugins-bad-1.18.6.tar.xz/ext/webrtc/gstwebrtcbin.c
Changed
@@ -4754,7 +4754,7 @@ (GDestroyNotify) _free_set_description_data, promise)) { GError *error = g_error_new (GST_WEBRTC_BIN_ERROR, GST_WEBRTC_BIN_ERROR_CLOSED, - "Could not set remote description. webrtcbin is closed"); + "Could not set local description. webrtcbin is closed"); GstStructure *s = gst_structure_new ("application/x-gstwebrtcbin-promise-error", "error", G_TYPE_ERROR, error, NULL); @@ -6012,6 +6012,8 @@ (GstWebRTCIceOnCandidateFunc) _on_local_ice_candidate_cb, webrtc, NULL); g_free (name); + + G_OBJECT_CLASS (parent_class)->constructed (object); } static void @@ -6568,6 +6570,16 @@ static void gst_webrtc_bin_init (GstWebRTCBin * webrtc) { + /* Set SINK/SRC flags as webrtcbin can act as one depending on the + * SDP later. Without setting this here already, surrounding bins might not + * notice this and the pipeline configuration might become inconsistent, + * e.g. with regards to latency. + * See: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/737 + */ + gst_bin_set_suppressed_flags (GST_BIN_CAST (webrtc), + GST_ELEMENT_FLAG_SINK | GST_ELEMENT_FLAG_SOURCE); + GST_OBJECT_FLAG_SET (webrtc, GST_ELEMENT_FLAG_SINK | GST_ELEMENT_FLAG_SOURCE); + webrtc->priv = gst_webrtc_bin_get_instance_private (webrtc); g_mutex_init (PC_GET_LOCK (webrtc)); g_cond_init (PC_GET_COND (webrtc));
View file
gst-plugins-bad-1.18.5.tar.xz/ext/zxing/gstzxing.cpp -> gst-plugins-bad-1.18.6.tar.xz/ext/zxing/gstzxing.cpp
Changed
@@ -36,6 +36,9 @@ * * #GstSample `frame`: the frame in which the barcode message was detected, if * the .#GstZXing:attach-frame property was set to %TRUE (Since 1.18) * + * This element is based on the c++ implementation of zxing which can found + * at https://github.com/nu-book/zxing-cpp. + * * ## Example launch lines * |[ * gst-launch-1.0 -m v4l2src ! videoconvert ! zxing ! videoconvert ! xvimagesink @@ -137,9 +140,8 @@ return barcode_format_type; } - #define ZXING_YUV_CAPS \ - "{ Y800, I420, YV12, NV12, NV21, Y41B, Y42B, YUV9, YVU9 }" + "{ARGB, xRGB, Y444, Y42B, I420, Y41B, YUV9, YV12}" static GstStaticPadTemplate gst_zxing_src_template = @@ -171,13 +173,16 @@ gboolean attach_frame; gboolean rotate; gboolean faster; - guint format; + ImageFormat image_format; + guint barcode_format; }; static void gst_zxing_set_property (GObject * object, guint prop_id, const GValue * value, GParamSpec * pspec); static void gst_zxing_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); +static gboolean gst_zxing_set_info (GstVideoFilter * vfilter, GstCaps * in, + GstVideoInfo * in_info, GstCaps * out, GstVideoInfo * out_info); static GstFlowReturn gst_zxing_transform_frame_ip (GstVideoFilter * vfilter, GstVideoFrame * frame); @@ -239,6 +244,8 @@ vfilter_class->transform_frame_ip = GST_DEBUG_FUNCPTR (gst_zxing_transform_frame_ip); + vfilter_class->set_info = + GST_DEBUG_FUNCPTR (gst_zxing_set_info); } static void @@ -248,7 +255,8 @@ zxing->attach_frame = DEFAULT_ATTACH_FRAME; zxing->rotate = DEFAULT_TRY_ROTATE; zxing->faster = DEFAULT_TRY_FASTER; - zxing->format = BARCODE_FORMAT_ALL; + zxing->image_format = ImageFormat::None; + zxing->barcode_format = BARCODE_FORMAT_ALL; } static void @@ -274,7 +282,7 @@ zxing->faster = g_value_get_boolean (value); break; case PROP_FORMAT: - zxing->format = g_value_get_enum (value); + zxing->barcode_format = g_value_get_enum (value); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -305,7 +313,7 @@ g_value_set_boolean (value, zxing->faster); break; case PROP_FORMAT: - g_value_set_enum (value, zxing->format); + g_value_set_enum (value, zxing->barcode_format); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -313,12 +321,42 @@ } } +static gboolean +gst_zxing_set_info (GstVideoFilter * vfilter, GstCaps * in, + GstVideoInfo * in_info, GstCaps * out, GstVideoInfo * out_info) +{ + GstZXing *zxing = GST_ZXING (vfilter); + switch (in_info->finfo->format) { + case GST_VIDEO_FORMAT_ARGB: + case GST_VIDEO_FORMAT_xRGB: + zxing->image_format = ImageFormat::XRGB; + break; + case GST_VIDEO_FORMAT_Y444: + case GST_VIDEO_FORMAT_Y42B: + case GST_VIDEO_FORMAT_I420: + case GST_VIDEO_FORMAT_Y41B: + case GST_VIDEO_FORMAT_YUV9: + case GST_VIDEO_FORMAT_YV12: + zxing->image_format = ImageFormat::Lum; + break; + default: + zxing->image_format = ImageFormat::None; + GST_WARNING_OBJECT (zxing, "This format is not supported %s", gst_video_format_to_string(in_info->finfo->format)); + } + return TRUE; +} + static GstFlowReturn gst_zxing_transform_frame_ip (GstVideoFilter * vfilter, GstVideoFrame * frame) { GstZXing *zxing = GST_ZXING (vfilter); gpointer data; gint height, width; + DecodeHints hints; + + hints.setTryRotate(zxing->rotate); + hints.setTryHarder(!zxing->faster); + hints.setFormats(BarcodeFormatFromString (barcode_formats[zxing->barcode_format].value_name)); /* all formats we support start with an 8-bit Y plane. zxing doesn't need * to know about the chroma plane(s) */ @@ -326,10 +364,7 @@ width = GST_VIDEO_FRAME_WIDTH (frame); height = GST_VIDEO_FRAME_HEIGHT (frame); - /*Init a grayscale source */ - auto result = ReadBarcode (width, height, (unsigned char *) data, width, - { BarcodeFormatFromString (barcode_formats[zxing->format].value_name) }, - zxing->rotate, !zxing->faster); + auto result = ReadBarcode ({(unsigned char *)data, width, height, zxing->image_format}, hints); if (result.isValid ()) { GST_DEBUG_OBJECT (zxing, "Symbol found. Text: %s Format: %s", TextUtfEncoding::ToUtf8 (result.text ()).c_str (),
View file
gst-plugins-bad-1.18.5.tar.xz/ext/zxing/meson.build -> gst-plugins-bad-1.18.6.tar.xz/ext/zxing/meson.build
Changed
@@ -2,7 +2,7 @@ 'gstzxing.cpp', 'gstzxingplugin.c', ] -zxing_dep = dependency('zxing', version : '>= 0.9', required : get_option('zxing')) +zxing_dep = dependency('zxing', version : '>= 1.1.1', required : get_option('zxing')) if zxing_dep.found() gstzxing = library('gstzxing', zxing_sources,
View file
gst-plugins-bad-1.18.5.tar.xz/gst-libs/gst/codecparsers/gstav1parser.h -> gst-plugins-bad-1.18.6.tar.xz/gst-libs/gst/codecparsers/gstav1parser.h
Changed
@@ -1370,10 +1370,10 @@ guint8 grain_scale_shift; guint8 cb_mult; guint8 cb_luma_mult; - guint8 cb_offset; + guint16 cb_offset; guint8 cr_mult; guint8 cr_luma_mult; - guint8 cr_offset; + guint16 cr_offset; gboolean overlap_flag; gboolean clip_to_restricted_range; };
View file
gst-plugins-bad-1.18.5.tar.xz/gst-libs/gst/codecs/gsth265decoder.c -> gst-plugins-bad-1.18.6.tar.xz/gst-libs/gst/codecs/gsth265decoder.c
Changed
@@ -380,6 +380,12 @@ return FALSE; } + /* NOTE: gst_h265_parser_parse_slice_hdr() allocates array + * GstH265SliceHdr::entry_point_offset_minus1 but we don't use it + * in this h265decoder baseclass at the moment + */ + gst_h265_slice_hdr_free (&priv->current_slice.header); + priv->current_slice.nalu = *nalu; if (!gst_h265_decoder_preprocess_slice (self, &priv->current_slice))
View file
gst-plugins-bad-1.18.5.tar.xz/gst-plugins-bad.doap -> gst-plugins-bad-1.18.6.tar.xz/gst-plugins-bad.doap
Changed
@@ -35,6 +35,16 @@ <release> <Version> + <revision>1.18.6</revision> + <branch>1.18</branch> + <name></name> + <created>2022-02-02</created> + <file-release rdf:resource="https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-1.18.6.tar.xz" /> + </Version> + </release> + + <release> + <Version> <revision>1.18.5</revision> <branch>1.18</branch> <name></name>
View file
gst-plugins-bad-1.18.5.tar.xz/gst/interlace/gstinterlace.c -> gst-plugins-bad-1.18.6.tar.xz/gst/interlace/gstinterlace.c
Changed
@@ -1485,23 +1485,23 @@ gst_interlace_change_state (GstElement * element, GstStateChange transition) { GstInterlace *interlace = GST_INTERLACE (element); + GstStateChangeReturn ret; + + ret = GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); switch (transition) { case GST_STATE_CHANGE_PAUSED_TO_READY: g_mutex_lock (&interlace->lock); interlace->src_fps_n = 0; - if (interlace->stored_frame) { - gst_buffer_unref (interlace->stored_frame); - } g_mutex_unlock (&interlace->lock); - /* why? */ - //gst_interlace_reset (interlace); + + gst_interlace_reset (interlace); break; default: break; } - return GST_ELEMENT_CLASS (parent_class)->change_state (element, transition); + return ret; } static gboolean
View file
gst-plugins-bad-1.18.5.tar.xz/gst/mpegtsdemux/mpegtspacketizer.c -> gst-plugins-bad-1.18.6.tar.xz/gst/mpegtsdemux/mpegtspacketizer.c
Changed
@@ -154,7 +154,7 @@ static gboolean seen_section_before (MpegTSPacketizerStream * stream, guint8 table_id, guint16 subtable_extension, guint8 version_number, guint8 section_number, - guint8 last_section_number) + guint8 last_section_number, guint8 * data_start, gsize to_read) { MpegTSPacketizerStreamSubtable *subtable; @@ -175,7 +175,17 @@ return FALSE; } /* Finally return whether we saw that section or not */ - return MPEGTS_BIT_IS_SET (subtable->seen_section, section_number); + if (!MPEGTS_BIT_IS_SET (subtable->seen_section, section_number)) { + GST_DEBUG ("Different section_number"); + return FALSE; + } + + if (stream->section_data) { + /* Everything else is the same, fall back to memcmp */ + return (memcmp (stream->section_data, data_start, to_read) != 0); + } + + return FALSE; } static MpegTSPacketizerStreamSubtable * @@ -1189,7 +1199,8 @@ * * same section_number was seen */ if (seen_section_before (stream, table_id, subtable_extension, - version_number, section_number, last_section_number)) { + version_number, section_number, last_section_number, data_start, + to_read)) { GST_DEBUG ("PID 0x%04x Already processed table_id:0x%02x subtable_extension:0x%04x, version_number:%d, section_number:%d", packet->pid, table_id, subtable_extension, version_number,
View file
gst-plugins-bad-1.18.5.tar.xz/gst/mxf/mxfvanc.c -> gst-plugins-bad-1.18.6.tar.xz/gst/mxf/mxfvanc.c
Changed
@@ -138,12 +138,9 @@ * * The same scheme can be used for ANC packets. */ - - *outbuf = gst_buffer_new (); - GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_GAP); - ret = GST_FLOW_OK; - goto out; + goto no_data; } + for (i = 0; i < num_packets; i++) { G_GNUC_UNUSED guint16 line_num; G_GNUC_UNUSED guint8 wrapping_type; @@ -190,6 +187,7 @@ /* Not S334 EIA-708 */ if (did != 0x61 && sdid != 0x01) { + GST_TRACE ("Skipping VANC data with DID/SDID 0x%02X/0x%02X", did, sdid); if (!gst_byte_reader_skip (&reader, array_count * array_item_size - 2)) goto out; continue; @@ -215,6 +213,14 @@ gst_buffer_unref (buffer); return GST_FLOW_OK; } + +no_data: + + /* No packets or we skipped over all packets */ + *outbuf = gst_buffer_new (); + GST_BUFFER_FLAG_SET (*outbuf, GST_BUFFER_FLAG_GAP); + ret = GST_FLOW_OK; + out: gst_buffer_unmap (buffer, &map); gst_buffer_unref (buffer);
View file
gst-plugins-bad-1.18.5.tar.xz/gst/videoparsers/gstmpeg4videoparse.c -> gst-plugins-bad-1.18.6.tar.xz/gst/videoparsers/gstmpeg4videoparse.c
Changed
@@ -793,26 +793,30 @@ /* we need to send config now first */ GST_INFO_OBJECT (parse, "inserting config in stream"); - gst_buffer_map (mp4vparse->config, &cmap, GST_MAP_READ); - diffconf = (gst_buffer_get_size (buffer) < cmap.size) - || gst_buffer_memcmp (buffer, 0, cmap.data, cmap.size); - csize = cmap.size; - gst_buffer_unmap (mp4vparse->config, &cmap); - - /* avoid inserting duplicate config */ - if (diffconf) { - GstBuffer *superbuf; - - /* insert header */ - superbuf = - gst_buffer_append (gst_buffer_ref (mp4vparse->config), - gst_buffer_ref (buffer)); - gst_buffer_copy_into (superbuf, buffer, GST_BUFFER_COPY_METADATA, 0, - csize); - gst_buffer_replace (&frame->out_buffer, superbuf); - gst_buffer_unref (superbuf); + if (mp4vparse->config != NULL + && gst_buffer_map (mp4vparse->config, &cmap, GST_MAP_READ)) { + diffconf = (gst_buffer_get_size (buffer) < cmap.size) + || gst_buffer_memcmp (buffer, 0, cmap.data, cmap.size); + csize = cmap.size; + gst_buffer_unmap (mp4vparse->config, &cmap); + + /* avoid inserting duplicate config */ + if (diffconf) { + GstBuffer *superbuf; + + /* insert header */ + superbuf = + gst_buffer_append (gst_buffer_ref (mp4vparse->config), + gst_buffer_ref (buffer)); + gst_buffer_copy_into (superbuf, buffer, GST_BUFFER_COPY_METADATA, 0, + csize); + gst_buffer_replace (&frame->out_buffer, superbuf); + gst_buffer_unref (superbuf); + } else { + GST_INFO_OBJECT (parse, "... but avoiding duplication"); + } } else { - GST_INFO_OBJECT (parse, "... but avoiding duplication"); + GST_WARNING_OBJECT (parse, "No config received yet"); } if (G_UNLIKELY (timestamp != -1)) {
View file
gst-plugins-bad-1.18.5.tar.xz/meson.build -> gst-plugins-bad-1.18.6.tar.xz/meson.build
Changed
@@ -1,5 +1,5 @@ project('gst-plugins-bad', 'c', 'cpp', - version : '1.18.5', + version : '1.18.6', meson_version : '>= 0.49', default_options : [ 'warning_level=1', 'buildtype=debugoptimized' ])
View file
gst-plugins-bad-1.18.5.tar.xz/po/gst-plugins-bad-1.0.pot -> gst-plugins-bad-1.18.6.tar.xz/po/gst-plugins-bad-1.0.pot
Changed
@@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: gst-plugins-bad-1.0\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2021-09-08 20:03+0100\n" +"POT-Creation-Date: 2022-02-02 15:07+0000\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" "Language-Team: LANGUAGE <LL@li.org>\n"
View file
gst-plugins-bad-1.18.5.tar.xz/sys/magicleap/meson.build -> gst-plugins-bad-1.18.6.tar.xz/sys/magicleap/meson.build
Changed
@@ -5,8 +5,8 @@ ] libmlaudio_dep = cc.find_library('ml_audio', required : get_option('magicleap')) -liblumin_core_dep = cc.find_library('lumin_rt_core_1_5', required : get_option('magicleap')) -liblumin_app_dep = cc.find_library('lumin_rt_app_1_5', required : get_option('magicleap')) +liblumin_core_dep = cc.find_library('lumin_rt_core_1_7', required : get_option('magicleap')) +liblumin_app_dep = cc.find_library('lumin_rt_app_1_7', required : get_option('magicleap')) if libmlaudio_dep.found() gstmagicleap = library('gstmagicleap',
View file
gst-plugins-bad-1.18.5.tar.xz/tests/check/elements/zxing.c -> gst-plugins-bad-1.18.6.tar.xz/tests/check/elements/zxing.c
Changed
@@ -21,27 +21,24 @@ #include <gst/check/gstcheck.h> static GstElement * -setup_pipeline (void) +setup_pipeline (const gchar * in_format) { - GstElement *pipeline, *src, *dec, *csp, *zxing, *sink; + GstElement *pipeline; gchar *path; - - pipeline = gst_pipeline_new ("pipeline"); - - src = gst_element_factory_make ("filesrc", NULL); - /* Test file must have size < 4096 otherwise pngparse will be necessary before pngdec. */ - dec = gst_element_factory_make ("pngdec", NULL); - csp = gst_element_factory_make ("videoconvert", NULL); - zxing = gst_element_factory_make ("zxing", "zxing"); - sink = gst_element_factory_make ("fakesink", NULL); + gchar *pipeline_str; path = g_build_filename (GST_TEST_FILES_PATH, "barcode.png", NULL); GST_LOG ("reading file '%s'", path); - g_object_set (src, "location", path, NULL); - g_free (path); - gst_bin_add_many (GST_BIN (pipeline), src, dec, csp, zxing, sink, NULL); - fail_unless (gst_element_link_many (src, dec, csp, zxing, sink, NULL)); + pipeline_str = + g_strdup_printf ("filesrc location=%s ! " + "pngdec ! videoconvert ! video/x-raw,format=%s ! zxing name=zxing" + " ! fakesink", path, in_format); + GST_LOG ("Running pipeline: %s", pipeline_str); + pipeline = gst_parse_launch (pipeline_str, NULL); + fail_unless (pipeline != NULL); + g_free (pipeline_str); + g_free (path); return pipeline; } @@ -83,7 +80,7 @@ GstElement *pipeline; const gchar *type, *symbol; - pipeline = setup_pipeline (); + pipeline = setup_pipeline ("ARGB"); fail_unless_equals_int (gst_element_set_state (pipeline, GST_STATE_PLAYING), GST_STATE_CHANGE_ASYNC); @@ -101,7 +98,7 @@ fail_unless (gst_structure_has_field (s, "type")); fail_unless (gst_structure_has_field (s, "symbol")); type = gst_structure_get_string (s, "type"); - fail_unless_equals_string (type, "EAN_13"); + fail_unless_equals_string (type, "EAN-13"); symbol = gst_structure_get_string (s, "symbol"); fail_unless_equals_string (symbol, "9876543210128"); @@ -123,7 +120,7 @@ GstElement *pipeline; GstSample *sample; - pipeline = setup_pipeline (); + pipeline = setup_pipeline ("ARGB"); gst_child_proxy_set ((GstChildProxy *) pipeline, "zxing::attach-frame", TRUE, NULL);
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
.