mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 23:32:04 +02:00
Flatpak: use libs and patches from Flathub as submodule
I do not want to maintain them in two different places
This commit is contained in:
6
.gitmodules
vendored
6
.gitmodules
vendored
@@ -1,3 +1,3 @@
|
||||
[submodule "pkgs/flatpak/shared-modules"]
|
||||
path = pkgs/flatpak/shared-modules
|
||||
url = https://github.com/flathub/shared-modules.git
|
||||
[submodule "pkgs/flatpak/flathub"]
|
||||
path = pkgs/flatpak/flathub
|
||||
url = https://github.com/flathub/com.github.rafostar.Clapper.git
|
||||
|
2
pkgs/flatpak/.gitignore
vendored
2
pkgs/flatpak/.gitignore
vendored
@@ -1,4 +1,6 @@
|
||||
build/
|
||||
builddir/
|
||||
repo/
|
||||
.flatpak-builder/
|
||||
com.github.rafostar.Clapper.flatpak
|
||||
flathub/com.github.rafostar.Clapper.json
|
||||
|
@@ -18,33 +18,34 @@
|
||||
"--env=GST_VAAPI_ALL_DRIVERS=1"
|
||||
],
|
||||
"modules": [
|
||||
"shared-modules/gudev/gudev.json",
|
||||
"lib/pango.json",
|
||||
"lib/libsass.json",
|
||||
"lib/sassc.json",
|
||||
"lib/gtk4.json",
|
||||
"lib/liba52.json",
|
||||
"lib/libmpeg2.json",
|
||||
"lib/libdvdcss.json",
|
||||
"lib/libdvdread.json",
|
||||
"lib/libdvdnav.json",
|
||||
"lib/libass.json",
|
||||
"lib/ffmpeg.json",
|
||||
"lib/uchardet.json",
|
||||
"gstreamer-1.0/gstreamer.json",
|
||||
"gstreamer-1.0/gst-plugins-base.json",
|
||||
"gstreamer-1.0/gst-plugins-good.json",
|
||||
"gstreamer-1.0/gst-plugins-bad.json",
|
||||
"gstreamer-1.0/gst-plugins-ugly.json",
|
||||
"gstreamer-1.0/gst-libav.json",
|
||||
"gstreamer-1.0/gstreamer-vaapi.json",
|
||||
"flathub/lib/glib-networking.json",
|
||||
"flathub/shared-modules/gudev/gudev.json",
|
||||
"flathub/lib/pango.json",
|
||||
"flathub/lib/libsass.json",
|
||||
"flathub/lib/sassc.json",
|
||||
"flathub/lib/gtk4.json",
|
||||
"flathub/lib/liba52.json",
|
||||
"flathub/lib/libmpeg2.json",
|
||||
"flathub/lib/libdvdcss.json",
|
||||
"flathub/lib/libdvdread.json",
|
||||
"flathub/lib/libdvdnav.json",
|
||||
"flathub/lib/libass.json",
|
||||
"flathub/lib/ffmpeg.json",
|
||||
"flathub/lib/uchardet.json",
|
||||
"flathub/gstreamer-1.0/gstreamer.json",
|
||||
"flathub/gstreamer-1.0/gst-plugins-base.json",
|
||||
"flathub/gstreamer-1.0/gst-plugins-good.json",
|
||||
"flathub/gstreamer-1.0/gst-plugins-bad.json",
|
||||
"flathub/gstreamer-1.0/gst-plugins-ugly.json",
|
||||
"flathub/gstreamer-1.0/gst-libav.json",
|
||||
"flathub/gstreamer-1.0/gstreamer-vaapi.json",
|
||||
{
|
||||
"name": "clapper",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/Rafostar/clapper.git"
|
||||
"url": "../../."
|
||||
}
|
||||
]
|
||||
}
|
||||
|
1
pkgs/flatpak/flathub
Submodule
1
pkgs/flatpak/flathub
Submodule
Submodule pkgs/flatpak/flathub added at 2d26d4686b
@@ -1,30 +0,0 @@
|
||||
From 2c371f17af1695bd42f572d5ccdb837152b8b67a Mon Sep 17 00:00:00 2001
|
||||
From: Thomas Coldrick <othko97@gmail.com>
|
||||
Date: Thu, 8 Nov 2018 17:46:53 +0000
|
||||
Subject: [PATCH] gst-libav-stop-caching-codecs
|
||||
|
||||
---
|
||||
ext/libav/gstav.c | 16 ++++++++++++++++
|
||||
1 file changed, 16 insertions(+)
|
||||
|
||||
diff --git a/ext/libav/gstav.c b/ext/libav/gstav.c
|
||||
index 2a88230..bfd19a1 100644
|
||||
--- a/ext/libav/gstav.c
|
||||
+++ b/ext/libav/gstav.c
|
||||
@@ -155,6 +155,13 @@ plugin_init (GstPlugin * plugin)
|
||||
/* build global ffmpeg param/property info */
|
||||
gst_ffmpeg_cfg_init ();
|
||||
|
||||
+ gst_plugin_add_dependency_simple (plugin, NULL,
|
||||
+ "/app/lib",
|
||||
+ "libavcodec.so.58,"
|
||||
+ "libavformat.so.58,"
|
||||
+ "libswscale.so.5",
|
||||
+ GST_PLUGIN_DEPENDENCY_FLAG_NONE);
|
||||
+
|
||||
gst_ffmpegaudenc_register (plugin);
|
||||
gst_ffmpegvidenc_register (plugin);
|
||||
gst_ffmpegauddec_register (plugin);
|
||||
--
|
||||
2.19.1
|
||||
|
@@ -1,20 +0,0 @@
|
||||
{
|
||||
"name": "gst-libav",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dtests=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-libav.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "097313530cae4a49437a779a9ded0ade8113c26b"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-libav-stop-caching-codecs.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,89 +0,0 @@
|
||||
From ab9ceccc8b7f0591f580abfa6901d27c49812a94 Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
|
||||
Date: Sun, 10 Jan 2021 20:22:43 +0100
|
||||
Subject: [PATCH 1/2] assrender: fix mimetype detection
|
||||
|
||||
Previously gst_structure_has_name was used to get a string to compare with supported mimetypes.
|
||||
This is incorrect as above function returns a user defined structure name which is
|
||||
not the structure mimetype value.
|
||||
---
|
||||
ext/assrender/gstassrender.c | 21 ++++++++++++---------
|
||||
1 file changed, 12 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/ext/assrender/gstassrender.c b/ext/assrender/gstassrender.c
|
||||
index e6d31985b..a69d3fe78 100644
|
||||
--- a/ext/assrender/gstassrender.c
|
||||
+++ b/ext/assrender/gstassrender.c
|
||||
@@ -1557,7 +1557,7 @@ gst_ass_render_handle_tag_sample (GstAssRender * render, GstSample * sample)
|
||||
const GstStructure *structure;
|
||||
gboolean valid_mimetype, valid_extension;
|
||||
guint i;
|
||||
- const gchar *filename;
|
||||
+ const gchar *mimetype, *filename;
|
||||
|
||||
buf = gst_sample_get_buffer (sample);
|
||||
structure = gst_sample_get_info (sample);
|
||||
@@ -1565,20 +1565,23 @@ gst_ass_render_handle_tag_sample (GstAssRender * render, GstSample * sample)
|
||||
if (!buf || !structure)
|
||||
return;
|
||||
|
||||
+ filename = gst_structure_get_string (structure, "filename");
|
||||
+ if (!filename)
|
||||
+ return;
|
||||
+
|
||||
valid_mimetype = FALSE;
|
||||
valid_extension = FALSE;
|
||||
|
||||
- for (i = 0; i < G_N_ELEMENTS (mimetypes); i++) {
|
||||
- if (gst_structure_has_name (structure, mimetypes[i])) {
|
||||
- valid_mimetype = TRUE;
|
||||
- break;
|
||||
+ mimetype = gst_structure_get_string (structure, "mimetype");
|
||||
+ if (mimetype) {
|
||||
+ for (i = 0; i < G_N_ELEMENTS (mimetypes); i++) {
|
||||
+ if (strcmp (mimetype, mimetypes[i]) == 0) {
|
||||
+ valid_mimetype = TRUE;
|
||||
+ break;
|
||||
+ }
|
||||
}
|
||||
}
|
||||
|
||||
- filename = gst_structure_get_string (structure, "filename");
|
||||
- if (!filename)
|
||||
- return;
|
||||
-
|
||||
if (!valid_mimetype) {
|
||||
guint len = strlen (filename);
|
||||
const gchar *extension = filename + len - 4;
|
||||
--
|
||||
2.28.0
|
||||
|
||||
|
||||
From fd7d46171b2abcd3ac247491f01a91444e7b95b2 Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
|
||||
Date: Sun, 10 Jan 2021 20:26:58 +0100
|
||||
Subject: [PATCH 2/2] assrender: add "vnd.ms-opentype" to supported mimetypes
|
||||
|
||||
The "application/vnd.ms-opentype" mimetype is commonly used mimetype
|
||||
for fonts with .otf extension, handle it without checking the file extension.
|
||||
---
|
||||
ext/assrender/gstassrender.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/assrender/gstassrender.c b/ext/assrender/gstassrender.c
|
||||
index a69d3fe78..96b062c50 100644
|
||||
--- a/ext/assrender/gstassrender.c
|
||||
+++ b/ext/assrender/gstassrender.c
|
||||
@@ -1546,7 +1546,8 @@ gst_ass_render_handle_tag_sample (GstAssRender * render, GstSample * sample)
|
||||
static const gchar *mimetypes[] = {
|
||||
"application/x-font-ttf",
|
||||
"application/x-font-otf",
|
||||
- "application/x-truetype-font"
|
||||
+ "application/x-truetype-font",
|
||||
+ "application/vnd.ms-opentype"
|
||||
};
|
||||
static const gchar *extensions[] = {
|
||||
".otf",
|
||||
--
|
||||
2.28.0
|
||||
|
@@ -1,30 +0,0 @@
|
||||
From 1c8538d8f8c2181106d626d67784af6db094036e Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <rafostar.github@gmail.com>
|
||||
Date: Thu, 19 Nov 2020 18:03:11 +0100
|
||||
Subject: [PATCH] assrender: fix smooth scaling by disabling hinting
|
||||
|
||||
When ass hinting value is set to anything other than NONE,
|
||||
subtitles cannot use smooth scaling, thus all animations will jitter.
|
||||
|
||||
The libass author warns about possibility of breaking some scripts when it is enabled,
|
||||
so lets do what is recommended and disable it to get the smooth scaling working.
|
||||
---
|
||||
ext/assrender/gstassrender.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/ext/assrender/gstassrender.c b/ext/assrender/gstassrender.c
|
||||
index e99458bf29..111987b9d8 100644
|
||||
--- a/ext/assrender/gstassrender.c
|
||||
+++ b/ext/assrender/gstassrender.c
|
||||
@@ -916,7 +916,7 @@ gst_ass_render_negotiate (GstAssRender * render, GstCaps * caps)
|
||||
ass_set_pixel_aspect (render->ass_renderer,
|
||||
(gdouble) render->info.par_n / (gdouble) render->info.par_d);
|
||||
ass_set_font_scale (render->ass_renderer, 1.0);
|
||||
- ass_set_hinting (render->ass_renderer, ASS_HINTING_LIGHT);
|
||||
+ ass_set_hinting (render->ass_renderer, ASS_HINTING_NONE);
|
||||
|
||||
ass_set_fonts (render->ass_renderer, "Arial", "sans-serif", 1, NULL, 1);
|
||||
ass_set_fonts (render->ass_renderer, NULL, "Sans", 1, NULL, 1);
|
||||
--
|
||||
GitLab
|
||||
|
@@ -1,86 +0,0 @@
|
||||
From be0f4bc94fad9fe182c97eef389954b5f63f7092 Mon Sep 17 00:00:00 2001
|
||||
From: Jun Xie <jun.xie@samsung.com>
|
||||
Date: Sat, 4 Nov 2017 14:48:54 +0800
|
||||
Subject: [PATCH] dashdemux: fix segmentBase type with 'sidx' not using range
|
||||
download issue
|
||||
|
||||
1. for utilizing range download and enable bitrate switch
|
||||
* update fragment info after 'sidx' is downloaded and parsed,
|
||||
so that media segment's range is set by 'sidx' entry info.
|
||||
* while updating fragment info, setting range_end by 'sidx' entry size.
|
||||
|
||||
2. for singleSegmentBase type WITHOUT @indexRange explicitly presented in MPD file
|
||||
* set '*sidx_seek_needed' to true, early terminate currently no-range downloading whole file,
|
||||
then jump to the requested SIDX entry by using sidx info.
|
||||
|
||||
3. for 'ref type 1' 'sidx'
|
||||
* keep current behaviour for 'ref type 1', download as a whole file without range download
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=788763
|
||||
|
||||
diff --git a/ext/dash/gstdashdemux.c b/ext/dash/gstdashdemux.c
|
||||
index e38240800..7554a44b2 100644
|
||||
--- a/ext/dash/gstdashdemux.c
|
||||
+++ b/ext/dash/gstdashdemux.c
|
||||
@@ -1356,7 +1356,7 @@ gst_dash_demux_stream_update_fragment_info (GstAdaptiveDemuxStream * stream)
|
||||
stream->fragment.range_start + entry->size - 1;
|
||||
dashstream->actual_position += entry->duration;
|
||||
} else {
|
||||
- stream->fragment.range_end = fragment.range_end;
|
||||
+ stream->fragment.range_end = stream->fragment.range_start + entry->size - 1;
|
||||
}
|
||||
} else {
|
||||
dashstream->actual_position = stream->fragment.timestamp =
|
||||
@@ -1572,7 +1572,7 @@ gst_dash_demux_stream_has_next_subfragment (GstAdaptiveDemuxStream * stream)
|
||||
|
||||
if (dashstream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED) {
|
||||
if (stream->demux->segment.rate > 0.0) {
|
||||
- if (sidx->entry_index + 1 < sidx->entries_count)
|
||||
+ if (sidx->entry_index < sidx->entries_count)
|
||||
return TRUE;
|
||||
} else {
|
||||
if (sidx->entry_index >= 1)
|
||||
@@ -2903,6 +2903,7 @@ gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux,
|
||||
GstByteReader sub_reader;
|
||||
GstIsoffParserResult res;
|
||||
guint dummy;
|
||||
+ gboolean ref_type1_found = FALSE;
|
||||
|
||||
dash_stream->sidx_base_offset =
|
||||
dash_stream->isobmff_parser.current_start_offset + size;
|
||||
@@ -2932,6 +2933,7 @@ gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux,
|
||||
GST_FIXME_OBJECT (stream->pad, "SIDX ref_type 1 not supported yet");
|
||||
dash_stream->sidx_position = GST_CLOCK_TIME_NONE;
|
||||
gst_isoff_sidx_parser_clear (&dash_stream->sidx_parser);
|
||||
+ ref_type1_found = TRUE;
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -2968,8 +2970,9 @@ gst_dash_demux_parse_isobmff (GstAdaptiveDemux * demux,
|
||||
}
|
||||
}
|
||||
|
||||
- if (dash_stream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED &&
|
||||
- SIDX (dash_stream)->entry_index != 0) {
|
||||
+ if ((dash_stream->sidx_parser.status == GST_ISOFF_SIDX_PARSER_FINISHED &&
|
||||
+ SIDX (dash_stream)->entry_index != 0) || (!stream->downloading_index &&
|
||||
+ !ref_type1_found)) {
|
||||
/* Need to jump to the requested SIDX entry. Push everything up to
|
||||
* the SIDX box below and let the caller handle everything else */
|
||||
*sidx_seek_needed = TRUE;
|
||||
diff --git a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
|
||||
index a495ec2e7..3a09a76b1 100644
|
||||
--- a/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
|
||||
+++ b/gst-libs/gst/adaptivedemux/gstadaptivedemux.c
|
||||
@@ -3378,6 +3378,9 @@ gst_adaptive_demux_stream_download_header_fragment (GstAdaptiveDemuxStream *
|
||||
ret = gst_adaptive_demux_stream_download_uri (demux, stream,
|
||||
stream->fragment.index_uri, stream->fragment.index_range_start,
|
||||
stream->fragment.index_range_end, NULL);
|
||||
+
|
||||
+ gst_adaptive_demux_stream_update_fragment_info(stream->demux, stream);
|
||||
+
|
||||
stream->downloading_index = FALSE;
|
||||
}
|
||||
}
|
||||
--
|
||||
2.7.4
|
@@ -1,75 +0,0 @@
|
||||
From f9af93d841546ca7898350ae14ed57448b24a644 Mon Sep 17 00:00:00 2001
|
||||
From: Seungha Yang <seungha@centricular.com>
|
||||
Date: Sat, 14 Nov 2020 03:16:07 +0900
|
||||
Subject: [PATCH 1/2] codecs: h264decoder: Don't give up to decode due to
|
||||
missing reference picture
|
||||
|
||||
Missing reference picture is very common thing for broken/malformed stream.
|
||||
Decoder should be able to keep decoding if it's not a very critical error.
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1809>
|
||||
---
|
||||
gst-libs/gst/codecs/gsth264decoder.c | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/codecs/gsth264decoder.c b/gst-libs/gst/codecs/gsth264decoder.c
|
||||
index e6d20af208..40446d92df 100644
|
||||
--- a/gst-libs/gst/codecs/gsth264decoder.c
|
||||
+++ b/gst-libs/gst/codecs/gsth264decoder.c
|
||||
@@ -2354,7 +2354,7 @@ modify_ref_pic_list (GstH264Decoder * self, int list)
|
||||
if (!pic) {
|
||||
GST_WARNING_OBJECT (self, "Malformed stream, no pic num %d",
|
||||
pic_num_lx);
|
||||
- return FALSE;
|
||||
+ break;
|
||||
}
|
||||
shift_right_and_insert (ref_pic_listx, ref_idx_lx,
|
||||
num_ref_idx_lX_active_minus1, pic);
|
||||
@@ -2380,7 +2380,7 @@ modify_ref_pic_list (GstH264Decoder * self, int list)
|
||||
if (!pic) {
|
||||
GST_WARNING_OBJECT (self, "Malformed stream, no pic num %d",
|
||||
list_mod->value.long_term_pic_num);
|
||||
- return FALSE;
|
||||
+ break;
|
||||
}
|
||||
shift_right_and_insert (ref_pic_listx, ref_idx_lx,
|
||||
num_ref_idx_lX_active_minus1, pic);
|
||||
--
|
||||
GitLab
|
||||
|
||||
|
||||
From 9011a58491b089461762a8f550892de434af5c29 Mon Sep 17 00:00:00 2001
|
||||
From: Seungha Yang <seungha@centricular.com>
|
||||
Date: Sat, 14 Nov 2020 03:20:19 +0900
|
||||
Subject: [PATCH 2/2] vah264dec: Allow missing reference picture
|
||||
|
||||
baseclass might provide reference picture list with null picture.
|
||||
Ensure picture before filling picture information.
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1809>
|
||||
---
|
||||
sys/va/gstvah264dec.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/sys/va/gstvah264dec.c b/sys/va/gstvah264dec.c
|
||||
index e90f84bb44..184af430fa 100644
|
||||
--- a/sys/va/gstvah264dec.c
|
||||
+++ b/sys/va/gstvah264dec.c
|
||||
@@ -198,7 +198,13 @@ _fill_ref_pic_list (VAPictureH264 va_reflist[32], GArray * reflist)
|
||||
|
||||
for (i = 0; i < reflist->len; i++) {
|
||||
GstH264Picture *picture = g_array_index (reflist, GstH264Picture *, i);
|
||||
- _fill_vaapi_pic (&va_reflist[i], picture);
|
||||
+
|
||||
+ if (picture) {
|
||||
+ _fill_vaapi_pic (&va_reflist[i], picture);
|
||||
+ } else {
|
||||
+ /* list might include null picture if reference picture was missing */
|
||||
+ _init_vaapi_pic (&va_reflist[i]);
|
||||
+ }
|
||||
}
|
||||
|
||||
for (; i < 32; i++)
|
||||
--
|
||||
GitLab
|
||||
|
@@ -1,45 +0,0 @@
|
||||
{
|
||||
"name": "gst-plugins-bad",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dtests=disabled",
|
||||
"-Dnls=disabled",
|
||||
"-Dgobject-cast-checks=disabled",
|
||||
"-Dglib-asserts=disabled",
|
||||
"-Dglib-checks=disabled",
|
||||
"-Dextra-checks=disabled",
|
||||
|
||||
"-Dvulkan=disabled",
|
||||
"-Dwebrtc=disabled",
|
||||
"-Dwasapi=disabled",
|
||||
"-Dwasapi2=disabled",
|
||||
"-Dwinks=disabled",
|
||||
"-Dwinscreencap=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "e5c3c106a2da607953fea36e3a253b382c939684"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-bad-vah264dec-fix-seeking-errors.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-bad-assrender-smooth-scaling.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-bad-assrender-fix-mimetype-detection.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-bad-dashdemux-sdix-range-download.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,142 +0,0 @@
|
||||
From 61a66babede5a587783a1d4eb28e950a755ff362 Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <rafostar.github@gmail.com>
|
||||
Date: Wed, 25 Nov 2020 14:44:21 +0100
|
||||
Subject: [PATCH] subparse: Autodetect subtitle text encoding
|
||||
|
||||
Use "uchardet" to guess the subtitle text encoding if it is not in UTF-8
|
||||
or manually specified instead of blindly guessing its "ISO-8859-15".
|
||||
The "uchardet" dependency is optional and when is not available at
|
||||
compile time, then old behaviour will be used.
|
||||
---
|
||||
gst/subparse/gstsubparse.c | 58 +++++++++++++++++++++++++++++++++-----
|
||||
gst/subparse/meson.build | 12 ++++++--
|
||||
2 files changed, 61 insertions(+), 9 deletions(-)
|
||||
|
||||
diff --git a/gst/subparse/gstsubparse.c b/gst/subparse/gstsubparse.c
|
||||
index 382e430f2..42283d2d1 100644
|
||||
--- a/gst/subparse/gstsubparse.c
|
||||
+++ b/gst/subparse/gstsubparse.c
|
||||
@@ -31,6 +31,10 @@
|
||||
#include <sys/types.h>
|
||||
#include <glib.h>
|
||||
|
||||
+#if defined(HAVE_UCHARDET)
|
||||
+#include <uchardet.h>
|
||||
+#endif
|
||||
+
|
||||
#include "gstsubparse.h"
|
||||
#include "gstssaparse.h"
|
||||
#include "samiparse.h"
|
||||
@@ -148,8 +152,9 @@ gst_sub_parse_class_init (GstSubParseClass * klass)
|
||||
"Encoding to assume if input subtitles are not in UTF-8 or any other "
|
||||
"Unicode encoding. If not set, the GST_SUBTITLE_ENCODING environment "
|
||||
"variable will be checked for an encoding to use. If that is not set "
|
||||
- "either, ISO-8859-15 will be assumed.", DEFAULT_ENCODING,
|
||||
- G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||
+ "either, then if plugin was build with uchardet support it will be "
|
||||
+ "used to guess the encoding, otherwise ISO-8859-15 will be assumed.",
|
||||
+ DEFAULT_ENCODING, G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS));
|
||||
|
||||
g_object_class_install_property (object_class, PROP_VIDEOFPS,
|
||||
gst_param_spec_fraction ("video-fps", "Video framerate",
|
||||
@@ -439,6 +444,35 @@ detect_encoding (const gchar * str, gsize len)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
+static gchar *
|
||||
+uchardet_detect_encoding (const gchar * str, gsize len)
|
||||
+{
|
||||
+ gchar *charset = NULL;
|
||||
+ gint retval;
|
||||
+
|
||||
+#if defined(HAVE_UCHARDET)
|
||||
+ uchardet_t handle = uchardet_new ();
|
||||
+ retval = uchardet_handle_data (handle, str, len);
|
||||
+
|
||||
+ GST_DEBUG ("detecting encoding with uchardet using %li characters", len);
|
||||
+
|
||||
+ if (retval != 0) {
|
||||
+ GST_WARNING ("could not handle data with uchardet");
|
||||
+ } else {
|
||||
+ uchardet_data_end (handle);
|
||||
+ charset = g_strdup (uchardet_get_charset (handle));
|
||||
+
|
||||
+ if (charset == NULL || *charset == '\0')
|
||||
+ GST_WARNING ("uchardet could not detect encoding");
|
||||
+ else
|
||||
+ GST_INFO ("uchardet detected encoding: %s", charset);
|
||||
+ }
|
||||
+ uchardet_delete (handle);
|
||||
+#endif
|
||||
+
|
||||
+ return charset;
|
||||
+}
|
||||
+
|
||||
static gchar *
|
||||
convert_encoding (GstSubParse * self, const gchar * str, gsize len,
|
||||
gsize * consumed)
|
||||
@@ -481,11 +515,18 @@ convert_encoding (GstSubParse * self, const gchar * str, gsize len,
|
||||
encoding = g_getenv ("GST_SUBTITLE_ENCODING");
|
||||
}
|
||||
if (encoding == NULL || *encoding == '\0') {
|
||||
- /* if local encoding is UTF-8 and no encoding specified
|
||||
- * via the environment variable, assume ISO-8859-15 */
|
||||
- if (g_get_charset (&encoding)) {
|
||||
+ /* no encoding specified via the environment variable either,
|
||||
+ * so try to autodetect with uchardet */
|
||||
+ encoding = uchardet_detect_encoding (str, len);
|
||||
+ }
|
||||
+
|
||||
+ /* if uchardet failed and local encoding is UTF-8, assume ISO-8859-15 */
|
||||
+ if (encoding == NULL || *encoding == '\0') {
|
||||
+ if (g_get_charset (&encoding))
|
||||
encoding = "ISO-8859-15";
|
||||
- }
|
||||
+ } else {
|
||||
+ /* reuse the detected encoding from now on */
|
||||
+ self->detected_encoding = g_strdup (encoding);
|
||||
}
|
||||
|
||||
ret = gst_convert_to_utf8 (str, len, encoding, consumed, &err);
|
||||
@@ -2159,7 +2200,10 @@ gst_subparse_type_find (GstTypeFind * tf, gpointer private)
|
||||
enc = g_getenv ("GST_SUBTITLE_ENCODING");
|
||||
if (enc == NULL || *enc == '\0') {
|
||||
/* if local encoding is UTF-8 and no encoding specified
|
||||
- * via the environment variable, assume ISO-8859-15 */
|
||||
+ * via the environment variable, assume ISO-8859-15
|
||||
+ *
|
||||
+ * Encoding here is only used for type find, so no need
|
||||
+ * to run through uchardet at this point */
|
||||
if (g_get_charset (&enc)) {
|
||||
enc = "ISO-8859-15";
|
||||
}
|
||||
diff --git a/gst/subparse/meson.build b/gst/subparse/meson.build
|
||||
index 9a76601f0..2dcf8830f 100644
|
||||
--- a/gst/subparse/meson.build
|
||||
+++ b/gst/subparse/meson.build
|
||||
@@ -6,12 +6,20 @@ subparse_sources = [
|
||||
'mpl2parse.c',
|
||||
'qttextparse.c',
|
||||
]
|
||||
+subparse_defines = []
|
||||
+subparse_optional_deps = []
|
||||
+
|
||||
+subparse_uchardet_dep = dependency('uchardet', required : false)
|
||||
+if subparse_uchardet_dep.found()
|
||||
+ subparse_defines += '-DHAVE_UCHARDET'
|
||||
+ subparse_optional_deps += subparse_uchardet_dep
|
||||
+endif
|
||||
|
||||
gstsubparse = library('gstsubparse',
|
||||
subparse_sources,
|
||||
- c_args : gst_plugins_base_args,
|
||||
+ c_args : gst_plugins_base_args + subparse_defines,
|
||||
include_directories: [configinc, libsinc],
|
||||
- dependencies : [gst_base_dep],
|
||||
+ dependencies : [gst_base_dep] + subparse_optional_deps,
|
||||
install : true,
|
||||
install_dir : plugins_install_dir,
|
||||
)
|
||||
--
|
||||
2.26.2
|
||||
|
@@ -1,34 +0,0 @@
|
||||
From d42546dda8fdb3d044e715d0a6a1a74cd411acbe Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
|
||||
Date: Mon, 5 Apr 2021 18:05:38 +0200
|
||||
Subject: [PATCH] GL: Do not set backbuffer on Wayland memory copy
|
||||
|
||||
This aims to workaround a Mesa bug that causes crash on Intel GPUs
|
||||
caused by calling "glDrawBuffer (GL_BACK)" on Wayland where
|
||||
there is no actual backbuffer in GStreamer OpenGL context.
|
||||
---
|
||||
gst-libs/gst/gl/gstglmemory.c | 8 +++++++-
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/gst-libs/gst/gl/gstglmemory.c b/gst-libs/gst/gl/gstglmemory.c
|
||||
index 76c04eb1b..cd3481847 100644
|
||||
--- a/gst-libs/gst/gl/gstglmemory.c
|
||||
+++ b/gst-libs/gst/gl/gstglmemory.c
|
||||
@@ -762,7 +762,13 @@ gst_gl_memory_copy_teximage (GstGLMemory * src, guint tex_id,
|
||||
gl->DeleteFramebuffers (n_fbos, &fbo[0]);
|
||||
|
||||
if (gl->DrawBuffer)
|
||||
- gl->DrawBuffer (GL_BACK);
|
||||
+ gl->DrawBuffer (
|
||||
+#if GST_GL_HAVE_WINDOW_WAYLAND
|
||||
+ GL_NONE
|
||||
+#else
|
||||
+ GL_BACK
|
||||
+#endif
|
||||
+ );
|
||||
}
|
||||
|
||||
gst_memory_unmap (GST_MEMORY_CAST (src), &sinfo);
|
||||
--
|
||||
2.28.0
|
||||
|
@@ -1,34 +0,0 @@
|
||||
{
|
||||
"name": "gst-plugins-base",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"--wrap-mode=nofallback",
|
||||
|
||||
"-Ddoc=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dtests=disabled",
|
||||
"-Dnls=disabled",
|
||||
"-Dgobject-cast-checks=disabled",
|
||||
"-Dglib-asserts=disabled",
|
||||
"-Dglib-checks=disabled",
|
||||
|
||||
"-Dgl_api=opengl,gles2",
|
||||
"-Dgl_platform=egl,glx"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-base.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "4013b8003e78971dd01b055066c12f8aaadb8897"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-base-autodetect-subtitle-text-encoding.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-base-do-not-set-backbuffer.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,67 +0,0 @@
|
||||
From b2ad7c68c3478c433a0ede4aed6afb2f0b32702c Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
|
||||
Date: Sun, 10 Jan 2021 15:44:45 +0100
|
||||
Subject: [PATCH] matroska: fix attachments detection in large data blocks
|
||||
|
||||
Due to max block size limit being set to 15MB, large
|
||||
attachments (fonts of few MB in size) were undetected
|
||||
as attachments consist of single data block. Raise max
|
||||
data block limit to 30MB to fix that.
|
||||
---
|
||||
gst/matroska/matroska-demux.c | 34 ++++++++++++++++------------------
|
||||
1 file changed, 16 insertions(+), 18 deletions(-)
|
||||
|
||||
diff --git a/gst/matroska/matroska-demux.c b/gst/matroska/matroska-demux.c
|
||||
index 4d0234743..ce906e5a3 100644
|
||||
--- a/gst/matroska/matroska-demux.c
|
||||
+++ b/gst/matroska/matroska-demux.c
|
||||
@@ -5115,30 +5115,28 @@ gst_matroska_demux_parse_contents (GstMatroskaDemux * demux, GstEbmlRead * ebml)
|
||||
}
|
||||
|
||||
#define GST_FLOW_OVERFLOW GST_FLOW_CUSTOM_ERROR
|
||||
-
|
||||
-#define MAX_BLOCK_SIZE (15 * 1024 * 1024)
|
||||
+#define MAX_BLOCK_SIZE (60 * 1024 * 1024)
|
||||
|
||||
static inline GstFlowReturn
|
||||
gst_matroska_demux_check_read_size (GstMatroskaDemux * demux, guint64 bytes)
|
||||
{
|
||||
- if (G_UNLIKELY (bytes > MAX_BLOCK_SIZE)) {
|
||||
- /* only a few blocks are expected/allowed to be large,
|
||||
- * and will be recursed into, whereas others will be read and must fit */
|
||||
- if (demux->streaming) {
|
||||
- /* fatal in streaming case, as we can't step over easily */
|
||||
- GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
|
||||
- ("reading large block of size %" G_GUINT64_FORMAT " not supported; "
|
||||
- "file might be corrupt.", bytes));
|
||||
- return GST_FLOW_ERROR;
|
||||
- } else {
|
||||
- /* indicate higher level to quietly give up */
|
||||
- GST_DEBUG_OBJECT (demux,
|
||||
- "too large block of size %" G_GUINT64_FORMAT, bytes);
|
||||
- return GST_FLOW_ERROR;
|
||||
- }
|
||||
- } else {
|
||||
+ if (G_LIKELY (bytes <= MAX_BLOCK_SIZE))
|
||||
return GST_FLOW_OK;
|
||||
+
|
||||
+ /* only a few blocks are expected/allowed to be large,
|
||||
+ * and will be recursed into, whereas others will be read and must fit */
|
||||
+ if (demux->streaming) {
|
||||
+ /* fatal in streaming case, as we can't step over easily */
|
||||
+ GST_ELEMENT_ERROR (demux, STREAM, DEMUX, (NULL),
|
||||
+ ("reading large block of size %" G_GUINT64_FORMAT " not supported; "
|
||||
+ "file might be corrupt.", bytes));
|
||||
+ } else {
|
||||
+ /* indicate higher level to quietly give up */
|
||||
+ GST_DEBUG_OBJECT (demux, "too large block of size %" G_GUINT64_FORMAT,
|
||||
+ bytes);
|
||||
}
|
||||
+
|
||||
+ return GST_FLOW_ERROR;
|
||||
}
|
||||
|
||||
/* returns TRUE if we truly are in error state, and should give up */
|
||||
--
|
||||
2.29.2
|
||||
|
@@ -1,36 +0,0 @@
|
||||
From 4e5b2b0c3aeefffdd9613e33678cade25fac3fe4 Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <rafostar.github@gmail.com>
|
||||
Date: Sun, 10 Jan 2021 19:55:31 +0100
|
||||
Subject: [PATCH] matroska: treat non-image structure as attachment and set
|
||||
mimetype
|
||||
|
||||
Otherwise each structure is named as GstTagImageInfo even if it does not contain any images
|
||||
which is misleading. Also set the structure mimetype to fix assrender fonts detection.
|
||||
---
|
||||
gst/matroska/matroska-read-common.c | 9 ++++++---
|
||||
1 file changed, 6 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/gst/matroska/matroska-read-common.c b/gst/matroska/matroska-read-common.c
|
||||
index 90d6e38e1..628e19669 100644
|
||||
--- a/gst/matroska/matroska-read-common.c
|
||||
+++ b/gst/matroska/matroska-read-common.c
|
||||
@@ -851,10 +851,13 @@ gst_matroska_read_common_parse_attached_file (GstMatroskaReadCommon * common,
|
||||
}
|
||||
|
||||
/* Set filename and description in the info */
|
||||
- if (info == NULL)
|
||||
- info = gst_structure_new_empty ("GstTagImageInfo");
|
||||
-
|
||||
+ if (info == NULL) {
|
||||
+ const gchar *structure_name = (image_type != GST_TAG_IMAGE_TYPE_NONE) ?
|
||||
+ "GstTagImageInfo" : "GstTagAttachmentInfo";
|
||||
+ info = gst_structure_new_empty (structure_name);
|
||||
+ }
|
||||
gst_structure_set (info, "filename", G_TYPE_STRING, filename, NULL);
|
||||
+ gst_structure_set (info, "mimetype", G_TYPE_STRING, mimetype, NULL);
|
||||
if (description)
|
||||
gst_structure_set (info, "description", G_TYPE_STRING, description, NULL);
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
@@ -1,31 +0,0 @@
|
||||
{
|
||||
"name": "gst-plugins-good",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dtests=disabled",
|
||||
"-Dnls=disabled",
|
||||
"-Dgobject-cast-checks=disabled",
|
||||
"-Dglib-asserts=disabled",
|
||||
"-Dglib-checks=disabled",
|
||||
|
||||
"-Dgtk3=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-good.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "7c44cdb0e00dd1c9932d8e5194b09fcf4e1e6fc1"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-good-matroska-fix-attachments-detection.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gst-plugins-good-matroska-set-attachment-mimetype.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
{
|
||||
"name": "gst-plugins-ugly",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dnls=disabled",
|
||||
"-Dtests=disabled",
|
||||
"-Dgobject-cast-checks=disabled",
|
||||
"-Dglib-asserts=disabled",
|
||||
"-Dglib-checks=disabled",
|
||||
|
||||
"-Dmpeg2dec=enabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gst-plugins-ugly.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "720672eed30b3be47b2f26d67554786c0d3693ad"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,83 +0,0 @@
|
||||
From 65fc08032a41ae8779d1845dce2c00b1efa2955c Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <rafostar.github@gmail.com>
|
||||
Date: Tue, 22 Dec 2020 15:08:21 +0100
|
||||
Subject: [PATCH] glx: Iterate over FBConfig and select 8 bit color size
|
||||
|
||||
---
|
||||
gst-libs/gst/vaapi/gstvaapiutils_glx.c | 40 ++++++++++++++++++++++++--
|
||||
1 file changed, 38 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/gst-libs/gst/vaapi/gstvaapiutils_glx.c b/gst-libs/gst/vaapi/gstvaapiutils_glx.c
|
||||
index ccd7832b..f73106c2 100644
|
||||
--- a/gst-libs/gst/vaapi/gstvaapiutils_glx.c
|
||||
+++ b/gst-libs/gst/vaapi/gstvaapiutils_glx.c
|
||||
@@ -301,9 +301,17 @@ gl_create_context (Display * dpy, int screen, GLContextState * parent)
|
||||
GLX_RED_SIZE, 8,
|
||||
GLX_GREEN_SIZE, 8,
|
||||
GLX_BLUE_SIZE, 8,
|
||||
+ GLX_ALPHA_SIZE, 8,
|
||||
None
|
||||
};
|
||||
|
||||
+ const GLint rgba_colors[4] = {
|
||||
+ GLX_RED_SIZE,
|
||||
+ GLX_GREEN_SIZE,
|
||||
+ GLX_BLUE_SIZE,
|
||||
+ GLX_ALPHA_SIZE
|
||||
+ };
|
||||
+
|
||||
cs = malloc (sizeof (*cs));
|
||||
if (!cs)
|
||||
goto error;
|
||||
@@ -333,11 +341,38 @@ gl_create_context (Display * dpy, int screen, GLContextState * parent)
|
||||
if (!fbconfigs)
|
||||
goto error;
|
||||
|
||||
- /* Find out a GLXFBConfig compatible with the parent context */
|
||||
+ /* Find out a 8 bit GLXFBConfig compatible with the parent context */
|
||||
for (n = 0; n < n_fbconfigs; n++) {
|
||||
+ gboolean sizes_correct = FALSE;
|
||||
+ int cn;
|
||||
+
|
||||
status = glXGetFBConfigAttrib (parent->display,
|
||||
fbconfigs[n], GLX_FBCONFIG_ID, &val);
|
||||
- if (status == Success && val == fbconfig_id)
|
||||
+ if (status != Success)
|
||||
+ goto error;
|
||||
+ if (val != fbconfig_id)
|
||||
+ continue;
|
||||
+
|
||||
+ /* Iterate over RGBA sizes in fbconfig */
|
||||
+ for (cn = 0; cn < 4; cn++) {
|
||||
+ int size = 0;
|
||||
+
|
||||
+ status = glXGetFBConfigAttrib (parent->display,
|
||||
+ fbconfigs[n], rgba_colors[cn], &size);
|
||||
+ if (status != Success)
|
||||
+ goto error;
|
||||
+
|
||||
+ /* Last check is for alpha
|
||||
+ * and alpha is optional */
|
||||
+ if (cn == 3) {
|
||||
+ if (size == 0 || size == 8) {
|
||||
+ sizes_correct = TRUE;
|
||||
+ break;
|
||||
+ }
|
||||
+ } else if (size != 8)
|
||||
+ break;
|
||||
+ }
|
||||
+ if (sizes_correct)
|
||||
break;
|
||||
}
|
||||
if (n == n_fbconfigs)
|
||||
@@ -809,6 +844,7 @@ gl_create_pixmap_object (Display * dpy, guint width, guint height)
|
||||
GLX_RED_SIZE, 8,
|
||||
GLX_GREEN_SIZE, 8,
|
||||
GLX_BLUE_SIZE, 8,
|
||||
+ GLX_ALPHA_SIZE, 8,
|
||||
GL_NONE,
|
||||
};
|
||||
|
||||
--
|
||||
2.28.0
|
||||
|
@@ -1,21 +0,0 @@
|
||||
{
|
||||
"name": "gstreamer-vaapi",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dtests=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "f9e925af3645439f7b7a4580700fcd6ce17fc1c9"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gstreamer-vaapi-glx-select-8-bit-color-size.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "gstreamer",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Ddoc=disabled",
|
||||
"-Dgtk_doc=disabled",
|
||||
"-Dexamples=disabled",
|
||||
"-Dtests=disabled",
|
||||
"-Dbenchmarks=disabled",
|
||||
"-Dnls=disabled",
|
||||
"-Dgobject-cast-checks=disabled",
|
||||
"-Dglib-asserts=disabled",
|
||||
"-Dglib-checks=disabled",
|
||||
"-Dextra-checks=disabled"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/gstreamer/gstreamer.git",
|
||||
"tag": "1.18.1",
|
||||
"commit": "29a8099d1d4bd8717c13923e710e92e67e335353"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,22 +0,0 @@
|
||||
--- a52dec-0.7.4/configure~ 2002-07-28 06:50:42.000000000 +0300
|
||||
+++ a52dec-0.7.4/configure 2006-02-16 23:03:07.000000000 +0200
|
||||
@@ -5839,7 +5839,7 @@
|
||||
shlibpath_overrides_runpath=unknown
|
||||
version_type=none
|
||||
dynamic_linker="$host_os ld.so"
|
||||
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
|
||||
+sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
||||
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
|
||||
|
||||
case $host_os in
|
||||
--- a52dec-0.7.4/aclocal.m4~ 2002-07-28 06:50:38.000000000 +0300
|
||||
+++ a52dec-0.7.4/aclocal.m4 2006-02-16 23:02:38.000000000 +0200
|
||||
@@ -2141,7 +2141,7 @@
|
||||
shlibpath_overrides_runpath=unknown
|
||||
version_type=none
|
||||
dynamic_linker="$host_os ld.so"
|
||||
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
|
||||
+sys_lib_dlsearch_path_spec="/lib64 /usr/lib64 /lib /usr/lib"
|
||||
sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
|
||||
|
||||
case $host_os in
|
@@ -1,23 +0,0 @@
|
||||
--- ./configure~ 2002-07-28 06:50:42.000000000 +0300
|
||||
+++ ./configure 2003-04-13 17:20:53.000000000 +0300
|
||||
@@ -2857,13 +2857,13 @@
|
||||
|
||||
case "$host" in
|
||||
i?86-* | k?-*)
|
||||
- case "$host" in
|
||||
- i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
|
||||
- i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
|
||||
- i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
|
||||
- i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
|
||||
- k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
|
||||
- esac
|
||||
+# case "$host" in
|
||||
+# i386-*) OPT_CFLAGS="$CFLAGS -mcpu=i386";;
|
||||
+# i486-*) OPT_CFLAGS="$CFLAGS -mcpu=i486";;
|
||||
+# i586-*) OPT_CFLAGS="$CFLAGS -mcpu=pentium";;
|
||||
+# i686-*) OPT_CFLAGS="$CFLAGS -mcpu=pentiumpro";;
|
||||
+# k6-*) OPT_CFLAGS="$CFLAGS -mcpu=k6";;
|
||||
+# esac
|
||||
echo "$as_me:$LINENO: checking if $CC supports $OPT_CFLAGS flags" >&5
|
||||
echo $ECHO_N "checking if $CC supports $OPT_CFLAGS flags... $ECHO_C" >&6
|
||||
SAVE_CFLAGS="$CFLAGS"
|
@@ -1,30 +0,0 @@
|
||||
{
|
||||
"name": "ffmpeg",
|
||||
"cleanup": [
|
||||
"/lib/ffmpeg/examples"
|
||||
],
|
||||
"config-opts": [
|
||||
"--disable-debug",
|
||||
"--disable-doc",
|
||||
"--disable-static",
|
||||
"--disable-everything",
|
||||
"--enable-gpl",
|
||||
"--enable-version3",
|
||||
"--enable-shared",
|
||||
"--enable-optimizations",
|
||||
"--enable-runtime-cpudetect",
|
||||
"--enable-pthreads",
|
||||
"--enable-protocol=file",
|
||||
"--enable-decoder=flv,h263,h264,hevc,mjpeg,mpeg2video,mpeg4,mpegvideo,msmpeg4v1,msmpeg4v2,png,tiff,vc1,vp8,vp9,webp,wmv1,wmv2,wmv3,zerocodec",
|
||||
"--enable-decoder=aac,aac_fixed,aac_latm,ac3,ac3_fixed,eac3,flac,mp3,opus,tak,truehd,tta,wmalossless",
|
||||
"--enable-demuxer=gif,yuv4mpegpipe"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://git.ffmpeg.org/ffmpeg.git",
|
||||
"tag": "n4.4",
|
||||
"commit": "dc91b913b6260e85e1304c74ff7bb3c22a8c9fb1"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,31 +0,0 @@
|
||||
From b413ee2c7d458c7005d3d3d1da8822cd86893ac0 Mon Sep 17 00:00:00 2001
|
||||
From: Rafostar <40623528+Rafostar@users.noreply.github.com>
|
||||
Date: Fri, 4 Dec 2020 19:25:34 +0100
|
||||
Subject: [PATCH] popover: Call unrealize on hide
|
||||
|
||||
When popover is shown "realize" method is called which creates a new
|
||||
surface for popup. Unfortunately this causes performance drop on Wayland until that
|
||||
surface is destroyed what happens inside "unrealize" method during popover destruction.
|
||||
|
||||
This commit changes default behavior in a way that surface will be destroyed
|
||||
when popover is closed and app will ragain the performance it lost when
|
||||
popover was shown.
|
||||
---
|
||||
gtk/gtkpopover.c | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/gtk/gtkpopover.c b/gtk/gtkpopover.c
|
||||
index 504dcd6cc1..a7a764d483 100644
|
||||
--- a/gtk/gtkpopover.c
|
||||
+++ b/gtk/gtkpopover.c
|
||||
@@ -951,6 +951,7 @@ gtk_popover_hide (GtkWidget *widget)
|
||||
|
||||
gtk_popover_set_mnemonics_visible (GTK_POPOVER (widget), FALSE);
|
||||
_gtk_widget_set_visible_flag (widget, FALSE);
|
||||
+ gtk_widget_unrealize (widget);
|
||||
gtk_widget_unmap (widget);
|
||||
g_signal_emit (widget, signals[CLOSED], 0);
|
||||
}
|
||||
--
|
||||
GitLab
|
||||
|
@@ -1,28 +0,0 @@
|
||||
{
|
||||
"name": "gtk",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"--wrap-mode=nofallback",
|
||||
"-Dbroadway-backend=true",
|
||||
"-Dwin32-backend=false",
|
||||
"-Dmacos-backend=false",
|
||||
"-Dmedia-ffmpeg=disabled",
|
||||
"-Dprint-cups=disabled",
|
||||
"-Dprint-cloudprint=disabled",
|
||||
"-Dintrospection=enabled",
|
||||
"-Ddemos=false",
|
||||
"-Dbuild-examples=false",
|
||||
"-Dbuild-tests=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/gtk.git",
|
||||
"commit": "5710df685b0af9b7dd306dfba6c7e174e428950e"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "gtk4-popover-unrealize.patch"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,39 +0,0 @@
|
||||
From 4c18c43b4d4ccb1d05ae73b813f26ba193fbeee3 Mon Sep 17 00:00:00 2001
|
||||
From: Bastien Nocera <hadess@hadess.net>
|
||||
Date: Fri, 18 Jan 2019 17:37:13 +0100
|
||||
Subject: [PATCH] Prefer PIC
|
||||
|
||||
---
|
||||
configure | 2 +-
|
||||
liba52/configure.incl | 2 +-
|
||||
2 files changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index b81fdff..bc0267c 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -9640,7 +9640,7 @@ _ACEOF
|
||||
|
||||
|
||||
|
||||
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
|
||||
+LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-pic"
|
||||
|
||||
# Check whether --enable-double or --disable-double was given.
|
||||
if test "${enable_double+set}" = set; then
|
||||
diff --git a/liba52/configure.incl b/liba52/configure.incl
|
||||
index 4dbbcea..5eb69ee 100644
|
||||
--- a/liba52/configure.incl
|
||||
+++ b/liba52/configure.incl
|
||||
@@ -2,7 +2,7 @@ AC_SUBST([LIBA52_CFLAGS])
|
||||
AC_SUBST([LIBA52_LIBS])
|
||||
|
||||
dnl avoid -fPIC when possible
|
||||
-LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-non-pic"
|
||||
+LIBA52_CFLAGS="$LIBA52_CFLAGS -prefer-pic"
|
||||
|
||||
AC_ARG_ENABLE([double],
|
||||
[ --enable-double use double-precision samples])
|
||||
--
|
||||
2.20.1
|
||||
|
@@ -1,17 +0,0 @@
|
||||
diff -ru a52dec.orig/liba52/imdct.c a52dec/liba52/imdct.c
|
||||
--- a52dec.orig/liba52/imdct.c 2012-02-06 19:40:21.000000000 +0200
|
||||
+++ a52dec/liba52/imdct.c 2012-02-06 19:40:53.000000000 +0200
|
||||
@@ -419,13 +419,11 @@
|
||||
|
||||
#ifdef LIBA52_DJBFFT
|
||||
if (mm_accel & MM_ACCEL_DJBFFT) {
|
||||
- fprintf (stderr, "Using djbfft for IMDCT transform\n");
|
||||
ifft128 = (void (*) (complex_t *)) fftc4_un128;
|
||||
ifft64 = (void (*) (complex_t *)) fftc4_un64;
|
||||
} else
|
||||
#endif
|
||||
{
|
||||
- fprintf (stderr, "No accelerated IMDCT transform found\n");
|
||||
ifft128 = ifft128_c;
|
||||
ifft64 = ifft64_c;
|
||||
}
|
@@ -1,36 +0,0 @@
|
||||
{
|
||||
"name": "liba52",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"rm-configure": true,
|
||||
"cleanup": [ "/bin/*a52*" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "http://liba52.sourceforge.net/files/a52dec-0.7.4.tar.gz",
|
||||
"sha256": "a21d724ab3b3933330194353687df82c475b5dfb997513eef4c25de6c865ec33"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "a52dec-0.7.4-rpath64.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "a52dec-configure-optflags.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "liba52-silence.patch"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "liba52-prefer-pic.patch"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "libass",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/libass/libass.git",
|
||||
"tag": "0.14.0",
|
||||
"commit": "73284b676b12b47e17af2ef1b430527299e10c17"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "libdvdcss",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/videolan/libdvdcss.git",
|
||||
"tag": "1.4.2",
|
||||
"commit": "7b7c185704567398627ad0f9a0d948a63514394b"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "libdvdnav",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/videolan/libdvdnav.git",
|
||||
"tag": "6.1.0",
|
||||
"commit": "4f48efd43efb2e3372cb494a8893342e1fb507ae"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "libdvdread",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://code.videolan.org/videolan/libdvdread.git",
|
||||
"tag": "6.1.0",
|
||||
"commit": "d413571ce39acd404523b6742ba361215f6ada68"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "libgudev",
|
||||
"config-opts": [ "--enable-shared", "--disable-static", "--disable-umockdev" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/libgudev.git",
|
||||
"tag": "234",
|
||||
"commit": "e9342ee019482a08fe435d6b656f8a6bdd196bce"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,10 +0,0 @@
|
||||
--- libmpeg2/configure.ac 2016-01-20 15:31:37.933547037 +0100
|
||||
+++ libmpeg2.new/configure.ac 2016-01-20 15:05:40.931231465 +0100
|
||||
@@ -149,7 +149,6 @@
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
-AC_C_ALWAYS_INLINE
|
||||
AC_C_RESTRICT
|
||||
AC_C_BUILTIN_EXPECT
|
||||
AC_C_BIGENDIAN
|
@@ -1,24 +0,0 @@
|
||||
{
|
||||
"name": "libmpeg2",
|
||||
"config-opts": [ "--enable-shared", "--disable-static" ],
|
||||
"rm-configure": true,
|
||||
"cleanup": [ "/bin/*mpeg2*" ],
|
||||
"sources": [
|
||||
{
|
||||
"type": "archive",
|
||||
"url": "http://libmpeg2.sourceforge.net/files/libmpeg2-0.5.1.tar.gz",
|
||||
"sha256": "dee22e893cb5fc2b2b6ebd60b88478ab8556cb3b93f9a0d7ce8f3b61851871d4"
|
||||
},
|
||||
{
|
||||
"type": "patch",
|
||||
"path": "libmpeg2-inline.patch"
|
||||
},
|
||||
{
|
||||
"type":"script",
|
||||
"commands":[
|
||||
"autoreconf -fiv"
|
||||
],
|
||||
"dest-filename":"autogen.sh"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,12 +0,0 @@
|
||||
{
|
||||
"name": "libsass",
|
||||
"buildsystem": "meson",
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/lazka/libsass.git",
|
||||
"branch": "meson",
|
||||
"commit": "302397c0c8ae2d7ab02f45ea461c2c3d768f248e"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"name": "pango",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"-Dgtk_doc=false"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.gnome.org/GNOME/pango.git",
|
||||
"tag": "1.48.0",
|
||||
"commit": "a39fea44c7c9f982fcca6d639929545dd3e09eb7"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,15 +0,0 @@
|
||||
{
|
||||
"name": "sassc",
|
||||
"buildsystem": "meson",
|
||||
"config-opts": [
|
||||
"--wrap-mode=nofallback"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://github.com/lazka/sassc.git",
|
||||
"branch": "meson",
|
||||
"commit": "82803377c33247265d779af034eceb5949e78354"
|
||||
}
|
||||
]
|
||||
}
|
@@ -1,19 +0,0 @@
|
||||
{
|
||||
"name": "uchardet",
|
||||
"buildsystem": "cmake",
|
||||
"builddir": true,
|
||||
"config-opts": [
|
||||
"-DCMAKE_BUILD_TYPE=Release",
|
||||
"-DCMAKE_INSTALL_LIBDIR=lib",
|
||||
"-DBUILD_STATIC=OFF",
|
||||
"-DBUILD_BINARY=OFF"
|
||||
],
|
||||
"sources": [
|
||||
{
|
||||
"type": "git",
|
||||
"url": "https://gitlab.freedesktop.org/uchardet/uchardet.git",
|
||||
"tag": "v0.0.7",
|
||||
"commit": "59f68dbe5709d708b53ad5ea95c7349d7ee6ebe4"
|
||||
}
|
||||
]
|
||||
}
|
Submodule pkgs/flatpak/shared-modules deleted from ca1664c5d1
Reference in New Issue
Block a user