Index: Mk/Uses/gstreamer.mk =================================================================== --- Mk/Uses/gstreamer.mk +++ Mk/Uses/gstreamer.mk @@ -51,7 +51,8 @@ _GST1_PLUGINS_multimedia= aom assrender bad dash dts dv dvdread \ editing-services gnonlin good hls libav libde265 \ mpeg2dec mpeg2enc mplex mm openh264 resindvd rtmp \ - smoothstreaming theora ttml ugly v4l2 vpx x264 x265 + smoothstreaming theora ttml ugly v4l2 vpx x264 x265 \ + zxing _GST1_PLUGINS_net= srtp _GST1_PLUGINS_security= dtls _GST1_PLUGINS_sysutils= cdio @@ -360,6 +361,9 @@ gst-x265_PORT= multimedia/gstreamer${_GST_VER}-plugins-x265 gst-x265_IMPL= bad +gst-zxing_PORT= multimedia/gstreamer${_GST_VER}-plugins-zxing +gst-zxing_IMPL= bad + #==== Net Plugins Section gst-srtp_PORT= net/gstreamer${_GST_VER}-plugins-srtp Index: multimedia/Makefile =================================================================== --- multimedia/Makefile +++ multimedia/Makefile @@ -119,6 +119,7 @@ SUBDIR += gstreamer1-plugins-vpx SUBDIR += gstreamer1-plugins-x264 SUBDIR += gstreamer1-plugins-x265 + SUBDIR += gstreamer1-plugins-zxing SUBDIR += gstreamer1-qt SUBDIR += gstreamer1-rtsp-server SUBDIR += gstreamer1-vaapi Index: multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp =================================================================== --- /dev/null +++ multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_gstzxing.cpp @@ -0,0 +1,25 @@ +--- ext/zxing/gstzxing.cpp.orig 2022-12-19 23:34:46 UTC ++++ ext/zxing/gstzxing.cpp +@@ -368,8 +368,8 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter + 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 (), +- ToString (result.format ())); ++ result.text ().c_str (), ++ ToString (result.format ()).c_str()); + } else { + goto out; + } +@@ -394,9 +394,9 @@ gst_zxing_transform_frame_ip (GstVideoFilter * vfilter + "timestamp", G_TYPE_UINT64, timestamp, + "stream-time", G_TYPE_UINT64, stream_time, + "running-time", G_TYPE_UINT64, running_time, +- "type", G_TYPE_STRING, ToString (result.format ()), ++ "type", G_TYPE_STRING, ToString (result.format ()).c_str(), + "symbol", G_TYPE_STRING, +- TextUtfEncoding::ToUtf8 (result.text ()).c_str (), NULL); ++ result.text ().c_str (), NULL); + + if (zxing->attach_frame) { + /* create a sample from image */ Index: multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_meson.build =================================================================== --- /dev/null +++ multimedia/gstreamer1-plugins-bad/files/patch-ext_zxing_meson.build @@ -0,0 +1,22 @@ +--- ext/zxing/meson.build.orig 2022-12-19 23:34:46 UTC ++++ ext/zxing/meson.build +@@ -2,16 +2,17 @@ zxing_sources = [ + 'gstzxing.cpp', + 'gstzxingplugin.c', + ] +-zxing_dep = dependency('zxing', version : '>= 1.1.1', required : get_option('zxing')) ++zxing_dep = dependency('zxing', version : '>= 1.4.0', required : get_option('zxing')) + if zxing_dep.found() + gstzxing = library('gstzxing', + zxing_sources, + c_args : gst_plugins_bad_args, ++ cpp_args: '-DZX_USE_UTF8', + include_directories : [configinc], + dependencies : [gstvideo_dep, zxing_dep], + install : true, + install_dir : plugins_install_dir, +- override_options : ['cpp_std=c++11'], ++ override_options : ['cpp_std=c++17'], + ) + pkgconfig.generate(gstzxing, install_dir : plugins_pkgconfig_install_dir) + plugins += [gstzxing] Index: multimedia/gstreamer1-plugins-zxing/Makefile =================================================================== --- /dev/null +++ multimedia/gstreamer1-plugins-zxing/Makefile @@ -0,0 +1,17 @@ +PORTREVISION= 0 +CATEGORIES= multimedia + +COMMENT= GStreamer plugin for QR recognition + +USES+= compiler:c++17-lang + +GST_PLUGIN= zxing +DIST= bad + +MASTERDIR= ${.CURDIR}/../../multimedia/gstreamer1-plugins + +PLIST= ${.CURDIR}/pkg-plist + +LIB_DEPENDS= libZXing.so:textproc/zxing-cpp + +.include "${MASTERDIR}/Makefile" Index: multimedia/gstreamer1-plugins-zxing/distinfo =================================================================== --- /dev/null +++ multimedia/gstreamer1-plugins-zxing/distinfo @@ -0,0 +1,5 @@ +TIMESTAMP = 1675876341 +SHA256 (gst-plugins-bad-1.20.5.tar.xz) = f431214b0754d7037adcde93c3195106196588973e5b32dcb24938805f866363 +SIZE (gst-plugins-bad-1.20.5.tar.xz) = 6237720 +SHA256 (7cfc3130a7906c199861d2ef331a07d749a4b769.patch) = 4e30a1899652d46e20ca54cd463f8d41cbd80efd0c686698285e06e01a615fd7 +SIZE (7cfc3130a7906c199861d2ef331a07d749a4b769.patch) = 2574 Index: multimedia/gstreamer1-plugins-zxing/pkg-plist =================================================================== --- /dev/null +++ multimedia/gstreamer1-plugins-zxing/pkg-plist @@ -0,0 +1 @@ +lib/gstreamer-%%VERSION%%/libgstzxing.so Index: multimedia/gstreamer1-plugins/Makefile.common =================================================================== --- multimedia/gstreamer1-plugins/Makefile.common +++ multimedia/gstreamer1-plugins/Makefile.common @@ -209,7 +209,8 @@ winscreencap \ x265 \ y4m \ - zbar + zbar \ + zxing BAD_GST_ENABLED_PLUGINS?=