Projects
Essentials
gstreamer-plugins-bad-codecs
Sign Up
Log In
Username
Password
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 +- List of Issues fixed in 1.18.6 + Schedule for 1.20 -Our next major feature release will be 1.20, and 1.19 will be the -unstable development version leading up to the stable 1.20 release. The -development of 1.19/1.20 will happen in the git master branch. - -The plan for the 1.20 development cycle is yet to be confirmed, but it -is now expected that feature freeze will take place some time in -September/October 2021, with the first 1.20 stable release hopefully -towards the end of October 2021. +Our next major feature release will be 1.20, and will be released in +early February 2022. You can track its progress on the 1.20 Release +Notes page. 1.20 will be backwards-compatible to the stable 1.18, 1.16, 1.14, 1.12, 1.10, 1.8, 1.6, 1.4, 1.2 and 1.0 release series.
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
.