diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:07:31 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 09:07:31 +0000 |
commit | edaebb65d92a48d7075c8c1f64c5ffd87054827b (patch) | |
tree | 045c941e1851cde1665bea22d97a2976b7a5bb69 /debian/patches/escape-url-passed-to-gstreamer.diff | |
parent | Adding upstream version 4:7.4.7. (diff) | |
download | libreoffice-edaebb65d92a48d7075c8c1f64c5ffd87054827b.tar.xz libreoffice-edaebb65d92a48d7075c8c1f64c5ffd87054827b.zip |
Adding debian version 4:7.4.7-1+deb12u1.debian/4%7.4.7-1+deb12u1debian
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | debian/patches/escape-url-passed-to-gstreamer.diff | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/debian/patches/escape-url-passed-to-gstreamer.diff b/debian/patches/escape-url-passed-to-gstreamer.diff new file mode 100644 index 000000000..e90fadb1c --- /dev/null +++ b/debian/patches/escape-url-passed-to-gstreamer.diff @@ -0,0 +1,50 @@ +From 6167f5815aefa78a70517c8e2acbdd7b9c9be27d Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com> +Date: Fri, 3 Nov 2023 14:20:07 +0000 +Subject: escape url passed to gstreamer + +Change-Id: I3c93ee34800cc8563370f75ef3ef6f8a9220e6ec +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/158894 +Tested-by: Jenkins +Reviewed-by: Michael Stahl <michael.stahl@allotropia.de> +(cherry picked from commit f41dcadf6492a6ffd32696d50f818e44355b9ad9) +Reviewed-on: https://gerrit.libreoffice.org/c/core/+/159583 +--- + avmedia/source/gstreamer/gstframegrabber.cxx | 14 +++++++++----- + 1 file changed, 9 insertions(+), 5 deletions(-) + +diff --git a/avmedia/source/gstreamer/gstframegrabber.cxx b/avmedia/source/gstreamer/gstframegrabber.cxx +index ece799d87530..25170a296e66 100644 +--- a/avmedia/source/gstreamer/gstframegrabber.cxx ++++ b/avmedia/source/gstreamer/gstframegrabber.cxx +@@ -50,11 +50,9 @@ void FrameGrabber::disposePipeline() + + FrameGrabber::FrameGrabber( std::u16string_view rURL ) + { +- gchar *pPipelineStr; +- pPipelineStr = g_strdup_printf( +- "uridecodebin uri=%s ! videoconvert ! videoscale ! appsink " +- "name=sink caps=\"video/x-raw,format=RGB,pixel-aspect-ratio=1/1\"", +- OUStringToOString( rURL, RTL_TEXTENCODING_UTF8 ).getStr() ); ++ const char pPipelineStr[] = ++ "uridecodebin name=source ! videoconvert ! videoscale ! appsink " ++ "name=sink caps=\"video/x-raw,format=RGB,pixel-aspect-ratio=1/1\""; + + GError *pError = nullptr; + mpPipeline = gst_parse_launch( pPipelineStr, &pError ); +@@ -65,6 +63,12 @@ FrameGrabber::FrameGrabber( std::u16string_view rURL ) + } + + if( mpPipeline ) { ++ ++ if (GstElement *pUriDecode = gst_bin_get_by_name(GST_BIN(mpPipeline), "source")) ++ g_object_set(pUriDecode, "uri", OUStringToOString(rURL, RTL_TEXTENCODING_UTF8).getStr(), nullptr); ++ else ++ g_warning("Missing 'source' element in gstreamer pipeline"); ++ + // pre-roll + switch( gst_element_set_state( mpPipeline, GST_STATE_PAUSED ) ) { + case GST_STATE_CHANGE_FAILURE: +-- +cgit v1.2.1 + |