Compare commits
No commits in common. "c8" and "a9-beta-deprecated" have entirely different histories.
c8
...
a9-beta-de
2
.gitignore
vendored
2
.gitignore
vendored
@ -1 +1 @@
|
|||||||
SOURCES/gst-plugins-bad-free-1.16.1.tar.xz
|
SOURCES/gst-plugins-bad-free-1.18.4.tar.xz
|
||||||
|
1
.gstreamer1-plugins-bad-free.metadata
Normal file
1
.gstreamer1-plugins-bad-free.metadata
Normal file
@ -0,0 +1 @@
|
|||||||
|
c8b36955ec53ee69e60c0e25d5340104f41e369b SOURCES/gst-plugins-bad-free-1.18.4.tar.xz
|
27
SOURCES/0001-No-va-test-when-va-disabled.patch
Normal file
27
SOURCES/0001-No-va-test-when-va-disabled.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
From 3e57512bea64ae9d231441caae96037a96aef2bf Mon Sep 17 00:00:00 2001
|
||||||
|
From: Troy Dawson <tdawson@redhat.com>
|
||||||
|
Date: Mon, 19 Oct 2020 14:09:32 -0700
|
||||||
|
Subject: [PATCH] No va test when va disabled
|
||||||
|
|
||||||
|
---
|
||||||
|
tests/examples/meson.build | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/examples/meson.build b/tests/examples/meson.build
|
||||||
|
index a41fc16..a73c81d 100644
|
||||||
|
--- a/tests/examples/meson.build
|
||||||
|
+++ b/tests/examples/meson.build
|
||||||
|
@@ -13,7 +13,9 @@ if not get_option('opencv').disabled()
|
||||||
|
subdir('opencv', if_found: opencv_dep)
|
||||||
|
endif
|
||||||
|
subdir('uvch264')
|
||||||
|
-subdir('va')
|
||||||
|
+if not get_option('va').disabled()
|
||||||
|
+ subdir('va')
|
||||||
|
+endif
|
||||||
|
subdir('waylandsink')
|
||||||
|
subdir('webrtc')
|
||||||
|
|
||||||
|
--
|
||||||
|
2.18.4
|
||||||
|
|
@ -0,0 +1,32 @@
|
|||||||
|
From 9815fd1e2ab13f765b75b39e3764fe1e860cb251 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Adam Williamson <awilliam@redhat.com>
|
||||||
|
Date: Thu, 10 Sep 2020 10:35:11 -0700
|
||||||
|
Subject: [PATCH] examples: only check opencv_dep if option is not disabled
|
||||||
|
(#1406)
|
||||||
|
|
||||||
|
We can't check opencv_dep if the option is disabled because it's
|
||||||
|
never initialized in that case, since 833a65cc .
|
||||||
|
|
||||||
|
Signed-off-by: Adam Williamson <awilliam@redhat.com>
|
||||||
|
---
|
||||||
|
tests/examples/meson.build | 4 +++-
|
||||||
|
1 file changed, 3 insertions(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/tests/examples/meson.build b/tests/examples/meson.build
|
||||||
|
index 2eba1d47e..a41fc1679 100644
|
||||||
|
--- a/tests/examples/meson.build
|
||||||
|
+++ b/tests/examples/meson.build
|
||||||
|
@@ -9,7 +9,9 @@ subdir('mpegts')
|
||||||
|
subdir('msdk')
|
||||||
|
subdir('mxf')
|
||||||
|
subdir('nvcodec')
|
||||||
|
-subdir('opencv', if_found: opencv_dep)
|
||||||
|
+if not get_option('opencv').disabled()
|
||||||
|
+ subdir('opencv', if_found: opencv_dep)
|
||||||
|
+endif
|
||||||
|
subdir('uvch264')
|
||||||
|
subdir('va')
|
||||||
|
subdir('waylandsink')
|
||||||
|
--
|
||||||
|
2.28.0
|
||||||
|
|
@ -1,321 +0,0 @@
|
|||||||
From 24e891568537f4447d1c212dcb355a766296bdbb Mon Sep 17 00:00:00 2001
|
|
||||||
From: Wim Taymans <wtaymans@redhat.com>
|
|
||||||
Date: Tue, 12 Dec 2023 18:00:58 +0100
|
|
||||||
Subject: [PATCH] mxfdemux: Store GstMXFDemuxEssenceTrack in their own fixed
|
|
||||||
allocation
|
|
||||||
|
|
||||||
Previously they were stored inline inside a GArray, but as references to
|
|
||||||
the tracks were stored in various other places although the array could
|
|
||||||
still be updated (and reallocated!), this could lead to dangling
|
|
||||||
references in various places.
|
|
||||||
|
|
||||||
Instead now store them in a GPtrArray in their own allocation so each
|
|
||||||
track's memory position stays fixed.
|
|
||||||
|
|
||||||
Fixes ZDI-CAN-22299
|
|
||||||
|
|
||||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/3055
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5638>
|
|
||||||
---
|
|
||||||
gst/mxf/mxfdemux.c | 114 +++++++++++++++++++++------------------------
|
|
||||||
gst/mxf/mxfdemux.h | 2 +-
|
|
||||||
2 files changed, 53 insertions(+), 63 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gst/mxf/mxfdemux.c b/gst/mxf/mxfdemux.c
|
|
||||||
index f6e5ac048..b97dce1ad 100644
|
|
||||||
--- a/gst/mxf/mxfdemux.c
|
|
||||||
+++ b/gst/mxf/mxfdemux.c
|
|
||||||
@@ -154,10 +154,25 @@ gst_mxf_demux_partition_free (GstMXFDemuxPartition * partition)
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
-gst_mxf_demux_reset_mxf_state (GstMXFDemux * demux)
|
|
||||||
+gst_mxf_demux_essence_track_free (GstMXFDemuxEssenceTrack * t)
|
|
||||||
{
|
|
||||||
- guint i;
|
|
||||||
+ if (t->offsets)
|
|
||||||
+ g_array_free (t->offsets, TRUE);
|
|
||||||
+
|
|
||||||
+ g_free (t->mapping_data);
|
|
||||||
+
|
|
||||||
+ if (t->tags)
|
|
||||||
+ gst_tag_list_unref (t->tags);
|
|
||||||
+
|
|
||||||
+ if (t->caps)
|
|
||||||
+ gst_caps_unref (t->caps);
|
|
||||||
+
|
|
||||||
+ g_free (t);
|
|
||||||
+}
|
|
||||||
|
|
||||||
+static void
|
|
||||||
+gst_mxf_demux_reset_mxf_state (GstMXFDemux * demux)
|
|
||||||
+{
|
|
||||||
GST_DEBUG_OBJECT (demux, "Resetting MXF state");
|
|
||||||
|
|
||||||
g_list_foreach (demux->partitions, (GFunc) gst_mxf_demux_partition_free,
|
|
||||||
@@ -167,22 +182,7 @@ gst_mxf_demux_reset_mxf_state (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
demux->current_partition = NULL;
|
|
||||||
|
|
||||||
- for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
- GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
-
|
|
||||||
- if (t->offsets)
|
|
||||||
- g_array_free (t->offsets, TRUE);
|
|
||||||
-
|
|
||||||
- g_free (t->mapping_data);
|
|
||||||
-
|
|
||||||
- if (t->tags)
|
|
||||||
- gst_tag_list_unref (t->tags);
|
|
||||||
-
|
|
||||||
- if (t->caps)
|
|
||||||
- gst_caps_unref (t->caps);
|
|
||||||
- }
|
|
||||||
- g_array_set_size (demux->essence_tracks, 0);
|
|
||||||
+ g_ptr_array_set_size (demux->essence_tracks, 0);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
|
||||||
@@ -200,7 +200,7 @@ gst_mxf_demux_reset_linked_metadata (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *track =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
track->source_package = NULL;
|
|
||||||
track->source_track = NULL;
|
|
||||||
@@ -713,8 +713,7 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
for (k = 0; k < demux->essence_tracks->len; k++) {
|
|
||||||
GstMXFDemuxEssenceTrack *tmp =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack,
|
|
||||||
- k);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, k);
|
|
||||||
|
|
||||||
if (tmp->track_number == track->parent.track_number &&
|
|
||||||
tmp->body_sid == edata->body_sid) {
|
|
||||||
@@ -732,24 +731,23 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
|
|
||||||
}
|
|
||||||
|
|
||||||
if (!etrack) {
|
|
||||||
- GstMXFDemuxEssenceTrack tmp;
|
|
||||||
+ GstMXFDemuxEssenceTrack *tmp = g_new0 (GstMXFDemuxEssenceTrack, 1);
|
|
||||||
|
|
||||||
- memset (&tmp, 0, sizeof (tmp));
|
|
||||||
- tmp.body_sid = edata->body_sid;
|
|
||||||
- tmp.index_sid = edata->index_sid;
|
|
||||||
- tmp.track_number = track->parent.track_number;
|
|
||||||
- tmp.track_id = track->parent.track_id;
|
|
||||||
- memcpy (&tmp.source_package_uid, &package->parent.package_uid, 32);
|
|
||||||
+ tmp->body_sid = edata->body_sid;
|
|
||||||
+ tmp->index_sid = edata->index_sid;
|
|
||||||
+ tmp->track_number = track->parent.track_number;
|
|
||||||
+ tmp->track_id = track->parent.track_id;
|
|
||||||
+ memcpy (&tmp->source_package_uid, &package->parent.package_uid, 32);
|
|
||||||
|
|
||||||
if (demux->current_partition->partition.body_sid == edata->body_sid &&
|
|
||||||
demux->current_partition->partition.body_offset == 0)
|
|
||||||
- tmp.position = 0;
|
|
||||||
+ tmp->position = 0;
|
|
||||||
else
|
|
||||||
- tmp.position = -1;
|
|
||||||
+ tmp->position = -1;
|
|
||||||
|
|
||||||
- g_array_append_val (demux->essence_tracks, tmp);
|
|
||||||
+ g_ptr_array_add (demux->essence_tracks, tmp);
|
|
||||||
etrack =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack,
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks,
|
|
||||||
demux->essence_tracks->len - 1);
|
|
||||||
new = TRUE;
|
|
||||||
}
|
|
||||||
@@ -876,13 +874,7 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
next:
|
|
||||||
if (new) {
|
|
||||||
- g_free (etrack->mapping_data);
|
|
||||||
- if (etrack->tags)
|
|
||||||
- gst_tag_list_unref (etrack->tags);
|
|
||||||
- if (etrack->caps)
|
|
||||||
- gst_caps_unref (etrack->caps);
|
|
||||||
-
|
|
||||||
- g_array_remove_index (demux->essence_tracks,
|
|
||||||
+ g_ptr_array_remove_index (demux->essence_tracks,
|
|
||||||
demux->essence_tracks->len - 1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -895,7 +887,7 @@ gst_mxf_demux_update_essence_tracks (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *etrack =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (!etrack->source_package || !etrack->source_track || !etrack->caps) {
|
|
||||||
GST_ERROR_OBJECT (demux, "Failed to update essence track %u", i);
|
|
||||||
@@ -1117,7 +1109,7 @@ gst_mxf_demux_update_tracks (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
for (k = 0; k < demux->essence_tracks->len; k++) {
|
|
||||||
GstMXFDemuxEssenceTrack *tmp =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, k);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, k);
|
|
||||||
|
|
||||||
if (tmp->source_package == source_package &&
|
|
||||||
tmp->source_track == source_track) {
|
|
||||||
@@ -1598,8 +1590,7 @@ gst_mxf_demux_pad_set_component (GstMXFDemux * demux, GstMXFDemuxPad * pad,
|
|
||||||
pad->current_essence_track = NULL;
|
|
||||||
|
|
||||||
for (k = 0; k < demux->essence_tracks->len; k++) {
|
|
||||||
- GstMXFDemuxEssenceTrack *tmp =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, k);
|
|
||||||
+ GstMXFDemuxEssenceTrack *tmp = g_ptr_array_index (demux->essence_tracks, k);
|
|
||||||
|
|
||||||
if (tmp->source_package == source_package &&
|
|
||||||
tmp->source_track == source_track) {
|
|
||||||
@@ -1731,7 +1722,7 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux,
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *tmp =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (tmp->body_sid == demux->current_partition->partition.body_sid &&
|
|
||||||
(tmp->track_number == track_number || tmp->track_number == 0)) {
|
|
||||||
@@ -2656,7 +2647,7 @@ gst_mxf_demux_handle_klv_packet (GstMXFDemux * demux, const MXFUL * key,
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *etrack =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (etrack->body_sid != demux->current_partition->partition.body_sid)
|
|
||||||
continue;
|
|
||||||
@@ -2719,7 +2710,7 @@ gst_mxf_demux_handle_klv_packet (GstMXFDemux * demux, const MXFUL * key,
|
|
||||||
guint i;
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *etrack =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (etrack->body_sid != demux->current_partition->partition.body_sid)
|
|
||||||
continue;
|
|
||||||
@@ -2914,7 +2905,7 @@ from_index:
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (index_start_position != -1 && t == etrack)
|
|
||||||
t->position = index_start_position;
|
|
||||||
@@ -2937,8 +2928,7 @@ from_index:
|
|
||||||
if (ret == GST_FLOW_EOS) {
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack,
|
|
||||||
- i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (t->position > 0)
|
|
||||||
t->duration = t->position;
|
|
||||||
@@ -3020,7 +3010,7 @@ gst_mxf_demux_pull_and_handle_klv_packet (GstMXFDemux * demux)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (t->position > 0)
|
|
||||||
t->duration = t->position;
|
|
||||||
@@ -3627,8 +3617,8 @@ gst_mxf_demux_seek_push (GstMXFDemux * demux, GstEvent * event)
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
- GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ GstMXFDemuxEssenceTrack *t = g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
+
|
|
||||||
t->position = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -4001,8 +3991,8 @@ gst_mxf_demux_seek_pull (GstMXFDemux * demux, GstEvent * event)
|
|
||||||
}
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
- GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ GstMXFDemuxEssenceTrack *t = g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
+
|
|
||||||
t->position = -1;
|
|
||||||
}
|
|
||||||
|
|
||||||
@@ -4284,7 +4274,7 @@ gst_mxf_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
|
|
||||||
if (t->position > 0)
|
|
||||||
t->duration = t->position;
|
|
||||||
@@ -4325,8 +4315,8 @@ gst_mxf_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *etrack =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack,
|
|
||||||
- i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
+
|
|
||||||
etrack->position = -1;
|
|
||||||
}
|
|
||||||
ret = TRUE;
|
|
||||||
@@ -4350,8 +4340,8 @@ gst_mxf_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
|
|
||||||
|
|
||||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
|
||||||
GstMXFDemuxEssenceTrack *t =
|
|
||||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack,
|
|
||||||
- i);
|
|
||||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
|
||||||
+
|
|
||||||
t->position = -1;
|
|
||||||
}
|
|
||||||
demux->current_partition = NULL;
|
|
||||||
@@ -4624,7 +4614,7 @@ gst_mxf_demux_finalize (GObject * object)
|
|
||||||
|
|
||||||
g_ptr_array_free (demux->src, TRUE);
|
|
||||||
demux->src = NULL;
|
|
||||||
- g_array_free (demux->essence_tracks, TRUE);
|
|
||||||
+ g_ptr_array_free (demux->essence_tracks, TRUE);
|
|
||||||
demux->essence_tracks = NULL;
|
|
||||||
|
|
||||||
g_hash_table_destroy (demux->metadata);
|
|
||||||
@@ -4701,8 +4691,8 @@ gst_mxf_demux_init (GstMXFDemux * demux)
|
|
||||||
g_rw_lock_init (&demux->metadata_lock);
|
|
||||||
|
|
||||||
demux->src = g_ptr_array_new ();
|
|
||||||
- demux->essence_tracks =
|
|
||||||
- g_array_new (FALSE, FALSE, sizeof (GstMXFDemuxEssenceTrack));
|
|
||||||
+ demux->essence_tracks = g_ptr_array_new_with_free_func ((GDestroyNotify)
|
|
||||||
+ gst_mxf_demux_essence_track_free);
|
|
||||||
|
|
||||||
gst_segment_init (&demux->segment, GST_FORMAT_TIME);
|
|
||||||
|
|
||||||
diff --git a/gst/mxf/mxfdemux.h b/gst/mxf/mxfdemux.h
|
|
||||||
index aac3e67d0..a452980ee 100644
|
|
||||||
--- a/gst/mxf/mxfdemux.h
|
|
||||||
+++ b/gst/mxf/mxfdemux.h
|
|
||||||
@@ -182,7 +182,7 @@ struct _GstMXFDemux
|
|
||||||
GList *partitions;
|
|
||||||
GstMXFDemuxPartition *current_partition;
|
|
||||||
|
|
||||||
- GArray *essence_tracks;
|
|
||||||
+ GPtrArray *essence_tracks;
|
|
||||||
|
|
||||||
GList *pending_index_table_segments;
|
|
||||||
GList *index_tables; /* one per BodySID / IndexSID */
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -0,0 +1,239 @@
|
|||||||
|
From 3abf31c7cf5b38dc4425b79d30c8f582d325010b Mon Sep 17 00:00:00 2001
|
||||||
|
From: Wim Taymans <wtaymans@redhat.com>
|
||||||
|
Date: Wed, 31 Mar 2021 16:18:04 +0200
|
||||||
|
Subject: [PATCH] vulkan: provide a custom VK_DEFINE_NON_DISPATCHABLE_HANDLE
|
||||||
|
|
||||||
|
If the application did not define one yet, define our own
|
||||||
|
VK_DEFINE_NON_DISPATCHABLE_HANDLE that is independent of the
|
||||||
|
architecture.
|
||||||
|
|
||||||
|
Vulkan, by default, provides a define that depends on the architecture,
|
||||||
|
which causes the symbol type to be different. This causes an
|
||||||
|
architecture dependent .gir file, which then causes multilib
|
||||||
|
installation problems because the .gir files can't be shared.
|
||||||
|
|
||||||
|
Make it possible to override the format specifier and provide
|
||||||
|
a default one that is compatible with the default non dispatchable
|
||||||
|
handle.
|
||||||
|
|
||||||
|
Return VK_NULL_HANDLE from functions that return a non-dispatchable
|
||||||
|
handle.
|
||||||
|
|
||||||
|
Fixes #1566
|
||||||
|
|
||||||
|
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2130>
|
||||||
|
---
|
||||||
|
.../gst/vulkan/android/gstvkwindow_android.c | 4 ++--
|
||||||
|
gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m | 4 ++--
|
||||||
|
gst-libs/gst/vulkan/gstvkapi.h | 18 ++++++++++++++++++
|
||||||
|
gst-libs/gst/vulkan/gstvkhandle.h | 7 ++++---
|
||||||
|
gst-libs/gst/vulkan/ios/gstvkwindow_ios.m | 6 +++---
|
||||||
|
.../gst/vulkan/wayland/gstvkwindow_wayland.c | 4 ++--
|
||||||
|
gst-libs/gst/vulkan/win32/gstvkwindow_win32.c | 4 ++--
|
||||||
|
gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c | 4 ++--
|
||||||
|
sys/applemedia/videotexturecache-vulkan.mm | 4 ++--
|
||||||
|
9 files changed, 37 insertions(+), 18 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/gst-libs/gst/vulkan/android/gstvkwindow_android.c b/gst-libs/gst/vulkan/android/gstvkwindow_android.c
|
||||||
|
index c1bd866ac..20a1c9cbe 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/android/gstvkwindow_android.c
|
||||||
|
+++ b/gst-libs/gst/vulkan/android/gstvkwindow_android.c
|
||||||
|
@@ -163,14 +163,14 @@ gst_vulkan_window_android_get_surface (GstVulkanWindow * window,
|
||||||
|
if (!window_android->CreateAndroidSurface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateAndroidSurfaceKHR\" function pointer");
|
||||||
|
- return 0;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
window_android->CreateAndroidSurface (window->display->instance->instance,
|
||||||
|
&info, NULL, &ret);
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateAndroidSurfaceKHR") < 0)
|
||||||
|
- return 0;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
|
||||||
|
index f00726267..e95da1278 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
|
||||||
|
+++ b/gst-libs/gst/vulkan/cocoa/gstvkwindow_cocoa.m
|
||||||
|
@@ -226,14 +226,14 @@ gst_vulkan_window_cocoa_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
if (!window_cocoa->CreateMacOSSurface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateMacOSSurfaceMVK\" function pointer");
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
window_cocoa->CreateMacOSSurface (window->display->instance->instance, &info,
|
||||||
|
NULL, &ret);
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateMacOSSurfaceMVK") < 0)
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/gst-libs/gst/vulkan/gstvkapi.h b/gst-libs/gst/vulkan/gstvkapi.h
|
||||||
|
index 9d223201f..5889a7d2e 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/gstvkapi.h
|
||||||
|
+++ b/gst-libs/gst/vulkan/gstvkapi.h
|
||||||
|
@@ -31,6 +31,24 @@
|
||||||
|
#include <gst/vulkan/vulkan_fwd.h>
|
||||||
|
#include <gst/vulkan/vulkan-enumtypes.h>
|
||||||
|
|
||||||
|
+/**
|
||||||
|
+ * VK_DEFINE_NON_DISPATCHABLE_HANDLE:
|
||||||
|
+ *
|
||||||
|
+ * Allow applications to override the VK_DEFINE_NON_DISPATCHABLE_HANDLE
|
||||||
|
+ * but provide our own version otherwise. The default vulkan define
|
||||||
|
+ * provides a different symbol type depending on the architecture and
|
||||||
|
+ * this causes multilib problems because the generated .gir files are
|
||||||
|
+ * different.
|
||||||
|
+ *
|
||||||
|
+ * Also make sure to provide a suitable GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT
|
||||||
|
+ * implementation when redefining VK_DEFINE_NON_DISPATCHABLE_HANDLE.
|
||||||
|
+ *
|
||||||
|
+ * Since: 1.20
|
||||||
|
+ */
|
||||||
|
+#if !defined(VK_DEFINE_NON_DISPATCHABLE_HANDLE)
|
||||||
|
+#define VK_DEFINE_NON_DISPATCHABLE_HANDLE(object) typedef uint64_t object;
|
||||||
|
+#endif
|
||||||
|
+
|
||||||
|
#include <vulkan/vulkan_core.h>
|
||||||
|
|
||||||
|
#endif /* __GST_VULKAN_API_H__ */
|
||||||
|
diff --git a/gst-libs/gst/vulkan/gstvkhandle.h b/gst-libs/gst/vulkan/gstvkhandle.h
|
||||||
|
index 885b4bc71..2aa6f01f7 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/gstvkhandle.h
|
||||||
|
+++ b/gst-libs/gst/vulkan/gstvkhandle.h
|
||||||
|
@@ -54,11 +54,12 @@ VK_DEFINE_NON_DISPATCHABLE_HANDLE(GstVulkanHandleTypedef)
|
||||||
|
*
|
||||||
|
* The printf format specifier for raw Vulkan non dispatchable handles.
|
||||||
|
*
|
||||||
|
+ * When redefining VK_DEFINE_NON_DISPATCHABLE_HANDLE, also make sure
|
||||||
|
+ * to redefine a suitable printf format specifier.
|
||||||
|
+ *
|
||||||
|
* Since: 1.18
|
||||||
|
*/
|
||||||
|
-#if GLIB_SIZEOF_VOID_P == 8
|
||||||
|
-# define GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT "p"
|
||||||
|
-#else
|
||||||
|
+#if !defined(GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT)
|
||||||
|
# define GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT G_GUINT64_FORMAT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
diff --git a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
|
||||||
|
index 84fc33deb..3bc8e167d 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
|
||||||
|
+++ b/gst-libs/gst/vulkan/ios/gstvkwindow_ios.m
|
||||||
|
@@ -203,7 +203,7 @@ gst_vulkan_window_ios_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR,
|
||||||
|
VK_ERROR_INITIALIZATION_FAILED,
|
||||||
|
"No layer to retrieve surface for. Has create_window() been called?");
|
||||||
|
- return 0;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
info.sType = VK_STRUCTURE_TYPE_IOS_SURFACE_CREATE_INFO_MVK;
|
||||||
|
@@ -218,14 +218,14 @@ gst_vulkan_window_ios_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
if (!window_ios->CreateIOSSurface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateIOSSurfaceMVK\" function pointer");
|
||||||
|
- return 0;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
window_ios->CreateIOSSurface (window->display->instance->instance, &info,
|
||||||
|
NULL, &ret);
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateIOSSurfaceMVK") < 0)
|
||||||
|
- return 0;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
|
||||||
|
index eda063de9..c55bd3f8c 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
|
||||||
|
+++ b/gst-libs/gst/vulkan/wayland/gstvkwindow_wayland.c
|
||||||
|
@@ -268,14 +268,14 @@ gst_vulkan_window_wayland_get_surface (GstVulkanWindow * window,
|
||||||
|
if (!window_wl->CreateWaylandSurface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateWaylandSurfaceKHR\" function pointer");
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
window_wl->CreateWaylandSurface (window->display->instance->instance,
|
||||||
|
&info, NULL, &ret);
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateWaylandSurfaceKHR") < 0)
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c b/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c
|
||||||
|
index 57e2c663f..dd8767155 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c
|
||||||
|
+++ b/gst-libs/gst/vulkan/win32/gstvkwindow_win32.c
|
||||||
|
@@ -393,7 +393,7 @@ gst_vulkan_window_win32_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
if (!window_win32->CreateWin32Surface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateWin32SurfaceKHR\" function pointer");
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
@@ -401,7 +401,7 @@ gst_vulkan_window_win32_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
&info, NULL, &ret);
|
||||||
|
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateWin32SurfaceKHR") < 0)
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
|
||||||
|
index b0f1ab4d0..4021fe718 100644
|
||||||
|
--- a/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
|
||||||
|
+++ b/gst-libs/gst/vulkan/xcb/gstvkwindow_xcb.c
|
||||||
|
@@ -283,14 +283,14 @@ gst_vulkan_window_xcb_get_surface (GstVulkanWindow * window, GError ** error)
|
||||||
|
if (!window_xcb->CreateXcbSurface) {
|
||||||
|
g_set_error_literal (error, GST_VULKAN_ERROR, VK_ERROR_FEATURE_NOT_PRESENT,
|
||||||
|
"Could not retrieve \"vkCreateXcbSurfaceKHR\" function pointer");
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
}
|
||||||
|
|
||||||
|
err =
|
||||||
|
window_xcb->CreateXcbSurface (window->display->instance->instance, &info,
|
||||||
|
NULL, &ret);
|
||||||
|
if (gst_vulkan_error_to_g_error (err, error, "vkCreateXcbSurfaceKHR") < 0)
|
||||||
|
- return NULL;
|
||||||
|
+ return VK_NULL_HANDLE;
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
}
|
||||||
|
diff --git a/sys/applemedia/videotexturecache-vulkan.mm b/sys/applemedia/videotexturecache-vulkan.mm
|
||||||
|
index ac0c1e712..6ea77d276 100644
|
||||||
|
--- a/sys/applemedia/videotexturecache-vulkan.mm
|
||||||
|
+++ b/sys/applemedia/videotexturecache-vulkan.mm
|
||||||
|
@@ -292,8 +292,8 @@ gst_io_surface_vulkan_memory_set_surface (GstIOSurfaceVulkanMemory * memory,
|
||||||
|
texture_data->texture = (__bridge_retained gpointer) texture;
|
||||||
|
|
||||||
|
VkResult err = vkSetMTLTextureMVK (memory->vulkan_mem.image, texture);
|
||||||
|
- GST_DEBUG ("bound texture %p to image %p: 0x%x", texture, memory->vulkan_mem.image,
|
||||||
|
- err);
|
||||||
|
+ GST_DEBUG ("bound texture %p to image %"GST_VULKAN_NON_DISPATCHABLE_HANDLE_FORMAT": 0x%x",
|
||||||
|
+ texture, memory->vulkan_mem.image, err);
|
||||||
|
|
||||||
|
vk_mem->user_data = texture_data;
|
||||||
|
vk_mem->notify = (GDestroyNotify) free_texture_wrapper;
|
||||||
|
--
|
||||||
|
2.31.1
|
||||||
|
|
@ -1,114 +0,0 @@
|
|||||||
From b6353c44ca9f005d3b57ee07fda0570d80eecc0f Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
|
||||||
Date: Thu, 10 Aug 2023 15:45:01 +0300
|
|
||||||
Subject: [PATCH 3/5] mxfdemux: Fix integer overflow causing out of bounds
|
|
||||||
writes when handling invalid uncompressed video
|
|
||||||
|
|
||||||
Check ahead of time when parsing the track information whether
|
|
||||||
width, height and bpp are valid and usable without overflows.
|
|
||||||
|
|
||||||
Fixes ZDI-CAN-21660, CVE-2023-40474
|
|
||||||
|
|
||||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2896
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5362>
|
|
||||||
---
|
|
||||||
gst/mxf/mxfup.c | 51 +++++++++++++++++++++++++++++++++++++++++--------
|
|
||||||
1 file changed, 43 insertions(+), 8 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/gst/mxf/mxfup.c b/gst/mxf/mxfup.c
|
|
||||||
index d8b6664da..ba86255f2 100644
|
|
||||||
--- a/gst/mxf/mxfup.c
|
|
||||||
+++ b/gst/mxf/mxfup.c
|
|
||||||
@@ -134,6 +134,8 @@ mxf_up_handle_essence_element (const MXFUL * key, GstBuffer * buffer,
|
|
||||||
gpointer mapping_data, GstBuffer ** outbuf)
|
|
||||||
{
|
|
||||||
MXFUPMappingData *data = mapping_data;
|
|
||||||
+ gsize expected_in_stride = 0, out_stride = 0;
|
|
||||||
+ gsize expected_in_size = 0, out_size = 0;
|
|
||||||
|
|
||||||
/* SMPTE 384M 7.1 */
|
|
||||||
if (key->u[12] != 0x15 || (key->u[14] != 0x01 && key->u[14] != 0x02
|
|
||||||
@@ -162,22 +164,25 @@ mxf_up_handle_essence_element (const MXFUL * key, GstBuffer * buffer,
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (gst_buffer_get_size (buffer) != data->bpp * data->width * data->height) {
|
|
||||||
+ // Checked for overflows when parsing the descriptor
|
|
||||||
+ expected_in_stride = data->bpp * data->width;
|
|
||||||
+ out_stride = GST_ROUND_UP_4 (expected_in_stride);
|
|
||||||
+ expected_in_size = expected_in_stride * data->height;
|
|
||||||
+ out_size = out_stride * data->height;
|
|
||||||
+
|
|
||||||
+ if (gst_buffer_get_size (buffer) != expected_in_size) {
|
|
||||||
GST_ERROR ("Invalid buffer size");
|
|
||||||
gst_buffer_unref (buffer);
|
|
||||||
return GST_FLOW_ERROR;
|
|
||||||
}
|
|
||||||
|
|
||||||
- if (data->bpp != 4
|
|
||||||
- || GST_ROUND_UP_4 (data->width * data->bpp) != data->width * data->bpp) {
|
|
||||||
+ if (data->bpp != 4 || out_stride != expected_in_stride) {
|
|
||||||
guint y;
|
|
||||||
GstBuffer *ret;
|
|
||||||
GstMapInfo inmap, outmap;
|
|
||||||
guint8 *indata, *outdata;
|
|
||||||
|
|
||||||
- ret =
|
|
||||||
- gst_buffer_new_and_alloc (GST_ROUND_UP_4 (data->width * data->bpp) *
|
|
||||||
- data->height);
|
|
||||||
+ ret = gst_buffer_new_and_alloc (out_size);
|
|
||||||
gst_buffer_map (buffer, &inmap, GST_MAP_READ);
|
|
||||||
gst_buffer_map (ret, &outmap, GST_MAP_WRITE);
|
|
||||||
indata = inmap.data;
|
|
||||||
@@ -185,8 +190,8 @@ mxf_up_handle_essence_element (const MXFUL * key, GstBuffer * buffer,
|
|
||||||
|
|
||||||
for (y = 0; y < data->height; y++) {
|
|
||||||
memcpy (outdata, indata, data->width * data->bpp);
|
|
||||||
- outdata += GST_ROUND_UP_4 (data->width * data->bpp);
|
|
||||||
- indata += data->width * data->bpp;
|
|
||||||
+ outdata += out_stride;
|
|
||||||
+ indata += expected_in_stride;
|
|
||||||
}
|
|
||||||
|
|
||||||
gst_buffer_unmap (buffer, &inmap);
|
|
||||||
@@ -394,6 +399,36 @@ mxf_up_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
+ if (caps) {
|
|
||||||
+ MXFUPMappingData *data = *mapping_data;
|
|
||||||
+ gsize expected_in_stride = 0, out_stride = 0;
|
|
||||||
+ gsize expected_in_size = 0, out_size = 0;
|
|
||||||
+
|
|
||||||
+ // Do some checking of the parameters to see if they're valid and
|
|
||||||
+ // we can actually work with them.
|
|
||||||
+ if (data->image_start_offset > data->image_end_offset) {
|
|
||||||
+ GST_WARNING ("Invalid image start/end offset");
|
|
||||||
+ g_free (data);
|
|
||||||
+ *mapping_data = NULL;
|
|
||||||
+ gst_clear_caps (&caps);
|
|
||||||
+
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
+ if (!g_size_checked_mul (&expected_in_stride, data->bpp, data->width) ||
|
|
||||||
+ (out_stride = GST_ROUND_UP_4 (expected_in_stride)) < expected_in_stride
|
|
||||||
+ || !g_size_checked_mul (&expected_in_size, expected_in_stride,
|
|
||||||
+ data->height)
|
|
||||||
+ || !g_size_checked_mul (&out_size, out_stride, data->height)) {
|
|
||||||
+ GST_ERROR ("Invalid resolution or bit depth");
|
|
||||||
+ g_free (data);
|
|
||||||
+ *mapping_data = NULL;
|
|
||||||
+ gst_clear_caps (&caps);
|
|
||||||
+
|
|
||||||
+ return NULL;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
+
|
|
||||||
return caps;
|
|
||||||
}
|
|
||||||
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -1,45 +0,0 @@
|
|||||||
From 706abb367ab366be142fbea4e454fdaa7e7e2bcb Mon Sep 17 00:00:00 2001
|
|
||||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
|
||||||
Date: Thu, 10 Aug 2023 15:47:03 +0300
|
|
||||||
Subject: [PATCH 4/5] mxfdemux: Check number of channels for AES3 audio
|
|
||||||
|
|
||||||
Only up to 8 channels are allowed and using a higher number would cause
|
|
||||||
integer overflows when copying the data, and lead to out of bound
|
|
||||||
writes.
|
|
||||||
|
|
||||||
Also check that each buffer is at least 4 bytes long to avoid another
|
|
||||||
overflow.
|
|
||||||
|
|
||||||
Fixes ZDI-CAN-21661, CVE-2023-40475
|
|
||||||
|
|
||||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2897
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5362>
|
|
||||||
---
|
|
||||||
gst/mxf/mxfd10.c | 3 ++-
|
|
||||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
|
||||||
|
|
||||||
diff --git a/gst/mxf/mxfd10.c b/gst/mxf/mxfd10.c
|
|
||||||
index 21401cf52..99c197ab9 100644
|
|
||||||
--- a/gst/mxf/mxfd10.c
|
|
||||||
+++ b/gst/mxf/mxfd10.c
|
|
||||||
@@ -119,7 +119,7 @@ mxf_d10_sound_handle_essence_element (const MXFUL * key, GstBuffer * buffer,
|
|
||||||
gst_buffer_map (buffer, &map, GST_MAP_READ);
|
|
||||||
|
|
||||||
/* Now transform raw AES3 into raw audio, see SMPTE 331M */
|
|
||||||
- if ((map.size - 4) % 32 != 0) {
|
|
||||||
+ if (map.size < 4 || (map.size - 4) % 32 != 0) {
|
|
||||||
gst_buffer_unmap (buffer, &map);
|
|
||||||
GST_ERROR ("Invalid D10 sound essence buffer size");
|
|
||||||
return GST_FLOW_ERROR;
|
|
||||||
@@ -219,6 +219,7 @@ mxf_d10_create_caps (MXFMetadataTimelineTrack * track, GstTagList ** tags,
|
|
||||||
GstAudioFormat audio_format;
|
|
||||||
|
|
||||||
if (s->channel_count == 0 ||
|
|
||||||
+ s->channel_count > 8 ||
|
|
||||||
s->quantization_bits == 0 ||
|
|
||||||
s->audio_sampling_rate.n == 0 || s->audio_sampling_rate.d == 0) {
|
|
||||||
GST_ERROR ("Invalid descriptor");
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -1,42 +0,0 @@
|
|||||||
From 33868442087aac6f26f18aeafd527c1a75946f34 Mon Sep 17 00:00:00 2001
|
|
||||||
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
|
||||||
Date: Wed, 17 Jan 2024 12:50:34 +0100
|
|
||||||
Subject: [PATCH 5/5] h265parser: Fix possible overflow using
|
|
||||||
max_sub_layers_minus1
|
|
||||||
|
|
||||||
This fixes a possible overflow that can be triggered by an invalid value of
|
|
||||||
max_sub_layers_minus1 being set in the bitstream. The bitstream uses 3 bits,
|
|
||||||
but the allowed range is 0 to 6 only.
|
|
||||||
|
|
||||||
Fixes ZDI-CAN-21768, CVE-2023-40476
|
|
||||||
|
|
||||||
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/2895
|
|
||||||
|
|
||||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5364>
|
|
||||||
---
|
|
||||||
gst-libs/gst/codecparsers/gsth265parser.c | 2 ++
|
|
||||||
1 file changed, 2 insertions(+)
|
|
||||||
|
|
||||||
diff --git a/gst-libs/gst/codecparsers/gsth265parser.c b/gst-libs/gst/codecparsers/gsth265parser.c
|
|
||||||
index 16fce006b..2e8ef182b 100644
|
|
||||||
--- a/gst-libs/gst/codecparsers/gsth265parser.c
|
|
||||||
+++ b/gst-libs/gst/codecparsers/gsth265parser.c
|
|
||||||
@@ -1490,6 +1490,7 @@ gst_h265_parse_vps (GstH265NalUnit * nalu, GstH265VPS * vps)
|
|
||||||
|
|
||||||
READ_UINT8 (&nr, vps->max_layers_minus1, 6);
|
|
||||||
READ_UINT8 (&nr, vps->max_sub_layers_minus1, 3);
|
|
||||||
+ CHECK_ALLOWED (vps->max_sub_layers_minus1, 0, 6);
|
|
||||||
READ_UINT8 (&nr, vps->temporal_id_nesting_flag, 1);
|
|
||||||
|
|
||||||
/* skip reserved_0xffff_16bits */
|
|
||||||
@@ -1669,6 +1670,7 @@ gst_h265_parse_sps (GstH265Parser * parser, GstH265NalUnit * nalu,
|
|
||||||
sps->vps = vps;
|
|
||||||
|
|
||||||
READ_UINT8 (&nr, sps->max_sub_layers_minus1, 3);
|
|
||||||
+ CHECK_ALLOWED (sps->max_sub_layers_minus1, 0, 6);
|
|
||||||
READ_UINT8 (&nr, sps->temporal_id_nesting_flag, 1);
|
|
||||||
|
|
||||||
if (!gst_h265_parse_profile_tier_level (&sps->profile_tier_level, &nr,
|
|
||||||
--
|
|
||||||
2.43.0
|
|
||||||
|
|
@ -41,6 +41,7 @@ dataurisrc
|
|||||||
dccp
|
dccp
|
||||||
debugutils
|
debugutils
|
||||||
dtmf
|
dtmf
|
||||||
|
dvbsubenc
|
||||||
faceoverlay
|
faceoverlay
|
||||||
festival
|
festival
|
||||||
fieldanalysis
|
fieldanalysis
|
||||||
@ -84,6 +85,8 @@ proxy
|
|||||||
qtmux
|
qtmux
|
||||||
rawparse
|
rawparse
|
||||||
removesilence
|
removesilence
|
||||||
|
rist
|
||||||
|
rtmp2
|
||||||
rtp
|
rtp
|
||||||
rtpmux
|
rtpmux
|
||||||
rtpvp8
|
rtpvp8
|
||||||
@ -96,7 +99,9 @@ smooth
|
|||||||
speed
|
speed
|
||||||
stereo
|
stereo
|
||||||
subenc
|
subenc
|
||||||
|
switchbin
|
||||||
timecode
|
timecode
|
||||||
|
transcode
|
||||||
tta
|
tta
|
||||||
valve
|
valve
|
||||||
videofilters
|
videofilters
|
||||||
@ -164,20 +169,6 @@ for subdir in gst ext sys; do
|
|||||||
echo "**** Removing $MODULE ****"
|
echo "**** Removing $MODULE ****"
|
||||||
echo "Removing directory $dir"
|
echo "Removing directory $dir"
|
||||||
rm -r $dir || error "Cannot remove $dir"
|
rm -r $dir || error "Cannot remove $dir"
|
||||||
if grep -q "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac ; then
|
|
||||||
echo "Removing element check for $MODULE"
|
|
||||||
grep -v "AG_GST_CHECK_PLUGIN($MODULE)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
|
||||||
fi
|
|
||||||
echo "Removing Makefile generation for $MODULE"
|
|
||||||
grep -v "$dir/Makefile" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
|
||||||
# Urgh
|
|
||||||
if test $MODULE = real ; then
|
|
||||||
grep -v "AG_GST_DISABLE_PLUGIN(real)" configure.ac > configure.ac.new && mv configure.ac.new configure.ac
|
|
||||||
fi
|
|
||||||
echo "Removing documentation for $MODULE"
|
|
||||||
if grep -q "$MODULE" docs/plugins/Makefile.am ; then
|
|
||||||
grep -v $dir docs/plugins/Makefile.am > docs/plugins/Makefile.am.new && mv docs/plugins/Makefile.am.new docs/plugins/Makefile.am
|
|
||||||
fi
|
|
||||||
echo
|
echo
|
||||||
elif test $subdir = ext || test $subdir = sys; then
|
elif test $subdir = ext || test $subdir = sys; then
|
||||||
# Ignore library or system non-blacklisted plugins
|
# Ignore library or system non-blacklisted plugins
|
||||||
@ -197,10 +188,6 @@ if test "x$unknown" != "x"; then
|
|||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
#autoreconf
|
|
||||||
NOCONFIGURE=1 \
|
|
||||||
./autogen.sh
|
|
||||||
|
|
||||||
popd > /dev/null
|
popd > /dev/null
|
||||||
|
|
||||||
tar cJf $NEW_SOURCE $DIRECTORY
|
tar cJf $NEW_SOURCE $DIRECTORY
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
%global majorminor 1.0
|
%global majorminor 1.0
|
||||||
%global _gobject_introspection 1.31.1
|
%global _gobject_introspection 1.31.1
|
||||||
|
|
||||||
# Only build extras on Fedora
|
# Only have extras package on fedora
|
||||||
%if 0%{?fedora}
|
%if 0%{?fedora}
|
||||||
%bcond_without extras
|
%bcond_without extras
|
||||||
%else
|
%else
|
||||||
@ -13,8 +13,8 @@
|
|||||||
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
||||||
|
|
||||||
Name: gstreamer1-plugins-bad-free
|
Name: gstreamer1-plugins-bad-free
|
||||||
Version: 1.16.1
|
Version: 1.18.4
|
||||||
Release: 4%{?gitcommit:.git%{shortcommit}}%{?dist}
|
Release: 6%{?gitcommit:.git%{shortcommit}}%{?dist}.alma
|
||||||
Summary: GStreamer streaming media framework "bad" plugins
|
Summary: GStreamer streaming media framework "bad" plugins
|
||||||
|
|
||||||
License: LGPLv2+ and LGPLv2
|
License: LGPLv2+ and LGPLv2
|
||||||
@ -30,31 +30,35 @@ URL: http://gstreamer.freedesktop.org/
|
|||||||
%endif
|
%endif
|
||||||
Source0: gst-plugins-bad-free-%{version}.tar.xz
|
Source0: gst-plugins-bad-free-%{version}.tar.xz
|
||||||
Source1: gst-p-bad-cleanup.sh
|
Source1: gst-p-bad-cleanup.sh
|
||||||
|
# Fix build failure with opencv disabled:
|
||||||
|
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1406
|
||||||
|
# https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1570
|
||||||
|
Patch0: 0001-examples-only-check-opencv_dep-if-option-is-not-disa.patch
|
||||||
|
# Fix build failure with va disabled:
|
||||||
|
Patch1: 0001-No-va-test-when-va-disabled.patch
|
||||||
# upstream patches
|
# upstream patches
|
||||||
Patch0: 0001-mxfdemux-Store-GstMXFDemuxEssenceTrack-in-their-own-.patch
|
Patch2: 0001-vulkan-provide-a-custom-VK_DEFINE_NON_DISPATCHABLE_H.patch
|
||||||
Patch1: 0003-mxfdemux-Fix-integer-overflow-causing-out-of-bounds-.patch
|
|
||||||
Patch2: 0004-mxfdemux-Check-number-of-channels-for-AES3-audio.patch
|
|
||||||
Patch3: 0005-h265parser-Fix-possible-overflow-using-max_sub_layer.patch
|
|
||||||
|
|
||||||
|
BuildRequires: meson >= 0.48.0
|
||||||
|
BuildRequires: gcc-c++
|
||||||
BuildRequires: gstreamer1-devel >= %{version}
|
BuildRequires: gstreamer1-devel >= %{version}
|
||||||
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
|
BuildRequires: gstreamer1-plugins-base-devel >= %{version}
|
||||||
|
|
||||||
BuildRequires: check
|
BuildRequires: check
|
||||||
BuildRequires: gettext-devel
|
BuildRequires: gettext-devel
|
||||||
BuildRequires: libXt-devel
|
BuildRequires: libXt-devel
|
||||||
BuildRequires: gtk-doc
|
|
||||||
BuildRequires: gobject-introspection-devel >= %{_gobject_introspection}
|
BuildRequires: gobject-introspection-devel >= %{_gobject_introspection}
|
||||||
|
|
||||||
BuildRequires: bzip2-devel
|
BuildRequires: bzip2-devel
|
||||||
BuildRequires: exempi-devel
|
BuildRequires: exempi-devel
|
||||||
|
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9
|
||||||
|
BuildRequires: fdk-aac-free-devel
|
||||||
|
%endif
|
||||||
BuildRequires: gsm-devel
|
BuildRequires: gsm-devel
|
||||||
BuildRequires: jasper-devel
|
BuildRequires: jasper-devel
|
||||||
BuildRequires: ladspa-devel
|
|
||||||
BuildRequires: lcms2-devel
|
BuildRequires: lcms2-devel
|
||||||
BuildRequires: libdvdnav-devel
|
BuildRequires: libdvdnav-devel
|
||||||
BuildRequires: libexif-devel
|
BuildRequires: libexif-devel
|
||||||
BuildRequires: libmpcdec-devel
|
|
||||||
BuildRequires: librsvg2-devel
|
BuildRequires: librsvg2-devel
|
||||||
BuildRequires: libsndfile-devel
|
BuildRequires: libsndfile-devel
|
||||||
BuildRequires: mesa-libGL-devel
|
BuildRequires: mesa-libGL-devel
|
||||||
@ -62,7 +66,6 @@ BuildRequires: mesa-libGLES-devel
|
|||||||
BuildRequires: mesa-libGLU-devel
|
BuildRequires: mesa-libGLU-devel
|
||||||
BuildRequires: openssl-devel
|
BuildRequires: openssl-devel
|
||||||
BuildRequires: orc-devel
|
BuildRequires: orc-devel
|
||||||
BuildRequires: python3-devel
|
|
||||||
BuildRequires: soundtouch-devel
|
BuildRequires: soundtouch-devel
|
||||||
BuildRequires: wavpack-devel
|
BuildRequires: wavpack-devel
|
||||||
BuildRequires: opus-devel
|
BuildRequires: opus-devel
|
||||||
@ -70,6 +73,7 @@ BuildRequires: nettle-devel
|
|||||||
BuildRequires: libgcrypt-devel
|
BuildRequires: libgcrypt-devel
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
BuildRequires: wayland-devel
|
BuildRequires: wayland-devel
|
||||||
|
BuildRequires: wayland-protocols-devel
|
||||||
%endif
|
%endif
|
||||||
BuildRequires: gnutls-devel
|
BuildRequires: gnutls-devel
|
||||||
BuildRequires: libsrtp-devel
|
BuildRequires: libsrtp-devel
|
||||||
@ -79,11 +83,24 @@ BuildRequires: gtk3-devel >= 3.4
|
|||||||
BuildRequires: bluez-libs-devel >= 5.0
|
BuildRequires: bluez-libs-devel >= 5.0
|
||||||
BuildRequires: libwebp-devel
|
BuildRequires: libwebp-devel
|
||||||
BuildRequires: mesa-libEGL-devel
|
BuildRequires: mesa-libEGL-devel
|
||||||
#BuildRequires: vulkan-devel
|
BuildRequires: vulkan-devel
|
||||||
#BuildRequires: mesa-vulkan-devel
|
#BuildRequires: mesa-vulkan-devel
|
||||||
BuildRequires: webrtc-audio-processing-devel
|
BuildRequires: webrtc-audio-processing-devel
|
||||||
|
%if 0
|
||||||
|
BuildRequires: wpewebkit-devel
|
||||||
|
BuildRequires: wpebackend-fdo-devel
|
||||||
|
%endif
|
||||||
|
BuildRequires: glslc
|
||||||
|
BuildRequires: libdrm-devel
|
||||||
|
|
||||||
%if %{with extras}
|
%if %{with extras}
|
||||||
|
BuildRequires: ladspa-devel
|
||||||
|
BuildRequires: libmicrodns-devel
|
||||||
|
BuildRequires: liblrdf-devel
|
||||||
|
BuildRequires: srt-devel
|
||||||
|
BuildRequires: zvbi-devel
|
||||||
|
BuildRequires: libopenmpt-devel
|
||||||
|
BuildRequires: libaom-devel
|
||||||
BuildRequires: libbs2b-devel >= 3.1.0
|
BuildRequires: libbs2b-devel >= 3.1.0
|
||||||
## Plugins not ported
|
## Plugins not ported
|
||||||
#BuildRequires: dirac-devel
|
#BuildRequires: dirac-devel
|
||||||
@ -94,6 +111,8 @@ BuildRequires: libchromaprint-devel
|
|||||||
## Plugin not ported
|
## Plugin not ported
|
||||||
#BuildRequires: libcdaudio-devel
|
#BuildRequires: libcdaudio-devel
|
||||||
BuildRequires: libcurl-devel
|
BuildRequires: libcurl-devel
|
||||||
|
BuildRequires: libssh2-devel
|
||||||
|
BuildRequires: libxml2-devel
|
||||||
BuildRequires: game-music-emu-devel
|
BuildRequires: game-music-emu-devel
|
||||||
BuildRequires: libkate-devel
|
BuildRequires: libkate-devel
|
||||||
BuildRequires: libmodplug-devel
|
BuildRequires: libmodplug-devel
|
||||||
@ -102,18 +121,30 @@ BuildRequires: libofa-devel
|
|||||||
#BuildRequires: libmusicbrainz-devel
|
#BuildRequires: libmusicbrainz-devel
|
||||||
#BuildRequires: libtimidity-devel
|
#BuildRequires: libtimidity-devel
|
||||||
BuildRequires: libvdpau-devel
|
BuildRequires: libvdpau-devel
|
||||||
|
BuildRequires: libva-devel
|
||||||
BuildRequires: openal-soft-devel
|
BuildRequires: openal-soft-devel
|
||||||
|
## If enabled, adds ~90 additional deps; perhaps can be moved to a
|
||||||
|
## subpackage?
|
||||||
#BuildRequires: opencv-devel
|
#BuildRequires: opencv-devel
|
||||||
BuildRequires: openjpeg2-devel
|
BuildRequires: openjpeg2-devel
|
||||||
|
BuildRequires: pkgconfig(spandsp) >= 0.0.6
|
||||||
## Plugins not ported
|
## Plugins not ported
|
||||||
#BuildRequires: SDL-devel
|
#BuildRequires: SDL-devel
|
||||||
#BuildRequires: slv2-devel
|
BuildRequires: lilv-devel
|
||||||
BuildRequires: wildmidi-devel
|
BuildRequires: wildmidi-devel
|
||||||
BuildRequires: zbar-devel
|
BuildRequires: zbar-devel
|
||||||
BuildRequires: zvbi-devel
|
|
||||||
BuildRequires: OpenEXR-devel
|
BuildRequires: OpenEXR-devel
|
||||||
|
BuildRequires: libnice-devel
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9
|
||||||
|
# libgstfdkaac.so used to be shipped in -nonfree
|
||||||
|
Obsoletes: gstreamer1-plugins-bad-nonfree < 1.16.1-2
|
||||||
|
%endif
|
||||||
|
|
||||||
|
# Drop after f36
|
||||||
|
Provides: gst-transcoder = 1.16.0-4
|
||||||
|
Obsoletes: gst-transcoder < 1.16.0-4
|
||||||
|
|
||||||
%description
|
%description
|
||||||
GStreamer is a streaming media framework, based on graphs of elements which
|
GStreamer is a streaming media framework, based on graphs of elements which
|
||||||
@ -140,6 +171,19 @@ extra "bad" plugins for sources (mythtv), sinks (fbdev) and
|
|||||||
effects (pitch) which are not used very much and require additional
|
effects (pitch) which are not used very much and require additional
|
||||||
libraries to be installed.
|
libraries to be installed.
|
||||||
|
|
||||||
|
%package zbar
|
||||||
|
Summary: GStreamer "bad" plugins zbar plugin
|
||||||
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
|
|
||||||
|
%description zbar
|
||||||
|
GStreamer is a streaming media framework, based on graphs of elements which
|
||||||
|
operate on media data.
|
||||||
|
|
||||||
|
gstreamer-plugins-bad contains plug-ins that aren't tested well enough,
|
||||||
|
or the code is not of good enough quality.
|
||||||
|
|
||||||
|
This package (%{name}-zbar) contains the zbar
|
||||||
|
plugin which allows decode bar codes.
|
||||||
|
|
||||||
%package fluidsynth
|
%package fluidsynth
|
||||||
Summary: GStreamer "bad" plugins fluidsynth plugin
|
Summary: GStreamer "bad" plugins fluidsynth plugin
|
||||||
@ -178,6 +222,11 @@ Summary: Development files for the GStreamer media framework "bad" plug-i
|
|||||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||||
Requires: gstreamer1-plugins-base-devel
|
Requires: gstreamer1-plugins-base-devel
|
||||||
|
|
||||||
|
# Drop after f36
|
||||||
|
Provides: gst-transcoder-devel = 1.16.0-4
|
||||||
|
Obsoletes: gst-transcoder-devel < 1.16.0-4
|
||||||
|
|
||||||
|
|
||||||
%description devel
|
%description devel
|
||||||
GStreamer is a streaming media framework, based on graphs of elements which
|
GStreamer is a streaming media framework, based on graphs of elements which
|
||||||
operate on media data.
|
operate on media data.
|
||||||
@ -191,24 +240,47 @@ aren't tested well enough, or the code is not of good enough quality.
|
|||||||
%patch0 -p1
|
%patch0 -p1
|
||||||
%patch1 -p1
|
%patch1 -p1
|
||||||
%patch2 -p1
|
%patch2 -p1
|
||||||
%patch3 -p1
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --disable-silent-rules --disable-fatal-warnings \
|
%meson \
|
||||||
--with-package-name="GStreamer-plugins-bad package" \
|
-D package-name="Fedora GStreamer-plugins-bad package" \
|
||||||
--with-package-origin="http://www.redhat.com" \
|
-D package-origin="http://download.fedoraproject.org" \
|
||||||
%{!?with_extras:--disable-fbdev --disable-decklink --disable-linsys} \
|
%{!?with_extras:-D fbdev=disabled -D decklink=disabled } \
|
||||||
--enable-debug --disable-static --enable-gtk-doc --enable-experimental \
|
%{!?with_extras:-D assrender=disabled -D bs2b=disabled } \
|
||||||
--disable-dts --disable-faac --disable-faad --disable-nas \
|
%{!?with_extras:-D chromaprint=disabled -D d3dvideosink=disabled } \
|
||||||
--disable-mimic --disable-libmms --disable-mpeg2enc --disable-mplex \
|
%{!?with_extras:-D directsound=disabled -D dts=disabled } \
|
||||||
--disable-neon --disable-rtmp --disable-xvid \
|
%{!?with_extras:-D fluidsynth=disabled -D openexr=disabled } \
|
||||||
--disable-flite --disable-mpg123 --disable-sbc --disable-opencv \
|
%{!?with_extras:-D curl=disabled -D curl-ssh2=disabled } \
|
||||||
--disable-spandsp --disable-voamrwbenc --disable-x265
|
%{!?with_extras:-D ttml=disabled -D kate=disabled } \
|
||||||
|
%{!?with_extras:-D modplug=disabled -D ofa=disabled } \
|
||||||
|
%{!?with_extras:-D vdpau=disabled -D openal=disabled } \
|
||||||
|
%{!?with_extras:-D opencv=disabled -D openjpeg=disabled } \
|
||||||
|
%{!?with_extras:-D wildmidi=disabled -D zbar=disabled } \
|
||||||
|
%{!?with_extras:-D gme=disabled -D lv2=disabled } \
|
||||||
|
%{!?with_extras:-D webrtc=disabled -D aom=disabled } \
|
||||||
|
%{!?with_extras:-D teletext=disabled -D srt=disabled } \
|
||||||
|
%{!?with_extras:-D openmpt=disabled -D microdns=disabled } \
|
||||||
|
%{!?with_extras:-D ladspa=disabled } \
|
||||||
|
-D doc=disabled -D magicleap=disabled -D msdk=disabled \
|
||||||
|
-D dts=disabled -D faac=disabled -D faad=disabled \
|
||||||
|
-D libmms=disabled -D mpeg2enc=disabled -D mplex=disabled \
|
||||||
|
-D neon=disabled -D rtmp=disabled -D rtmp2=disabled \
|
||||||
|
-D flite=disabled -D sbc=disabled -D opencv=disabled \
|
||||||
|
%{!?with_extras:-D spandsp=disabled -D va=disabled } \
|
||||||
|
-D voamrwbenc=disabled -D x265=disabled \
|
||||||
|
-D dvbsuboverlay=disabled -D dvdspu=disabled -D siren=disabled \
|
||||||
|
-D real=disabled -D opensles=disabled -D tinyalsa=disabled \
|
||||||
|
-D wasapi=disabled -D wasapi2=disabled -D avtp=disabled \
|
||||||
|
-D dc1394=disabled -D directfb=disabled -D iqa=disabled \
|
||||||
|
-D libde265=disabled -D musepack=disabled -D openni2=disabled \
|
||||||
|
-D sctp=disabled -D svthevcenc=disabled -D voaacenc=disabled \
|
||||||
|
-D zxing=disabled -D wpe=disabled -D x11=disabled \
|
||||||
|
-D openh264=disabled
|
||||||
|
|
||||||
%make_build
|
%meson_build
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%make_install
|
%meson_install
|
||||||
|
|
||||||
# Register as an AppStream component to be visible in the software center
|
# Register as an AppStream component to be visible in the software center
|
||||||
#
|
#
|
||||||
@ -217,8 +289,8 @@ aren't tested well enough, or the code is not of good enough quality.
|
|||||||
#
|
#
|
||||||
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
|
# See http://www.freedesktop.org/software/appstream/docs/ for more details.
|
||||||
#
|
#
|
||||||
mkdir -p $RPM_BUILD_ROOT%{_datadir}/appdata
|
mkdir -p $RPM_BUILD_ROOT%{_metainfodir}
|
||||||
cat > $RPM_BUILD_ROOT%{_datadir}/appdata/gstreamer-bad-free.appdata.xml <<EOF
|
cat > $RPM_BUILD_ROOT%{_metainfodir}/gstreamer-bad-free.appdata.xml <<EOF
|
||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<!-- Copyright 2013 Richard Hughes <richard@hughsie.com> -->
|
<!-- Copyright 2013 Richard Hughes <richard@hughsie.com> -->
|
||||||
<component type="codec">
|
<component type="codec">
|
||||||
@ -263,20 +335,30 @@ EOF
|
|||||||
%find_lang gst-plugins-bad-%{majorminor}
|
%find_lang gst-plugins-bad-%{majorminor}
|
||||||
|
|
||||||
# unpackaged files
|
# unpackaged files
|
||||||
find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||||
|
|
||||||
|
|
||||||
%ldconfig_scriptlets
|
%ldconfig_scriptlets
|
||||||
|
|
||||||
%files -f gst-plugins-bad-%{majorminor}.lang
|
%files -f gst-plugins-bad-%{majorminor}.lang
|
||||||
%license COPYING COPYING.LIB
|
%license COPYING
|
||||||
%doc AUTHORS README REQUIREMENTS
|
%doc AUTHORS README REQUIREMENTS
|
||||||
|
|
||||||
%{_datadir}/appdata/*.appdata.xml
|
%{_metainfodir}/*.appdata.xml
|
||||||
|
%{_bindir}/gst-transcoder-%{majorminor}
|
||||||
|
|
||||||
# presets
|
# presets
|
||||||
%dir %{_datadir}/gstreamer-%{majorminor}/presets/
|
%dir %{_datadir}/gstreamer-%{majorminor}/presets/
|
||||||
%{_datadir}/gstreamer-%{majorminor}/presets/GstFreeverb.prs
|
%{_datadir}/gstreamer-%{majorminor}/presets/GstFreeverb.prs
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/device/dvd.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/avi.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/flv.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mkv.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mp3.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/mp4.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/oga.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/ogv.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/webm.gep
|
||||||
|
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/online-services/youtube.gep
|
||||||
|
|
||||||
# opencv data
|
# opencv data
|
||||||
#{_datadir}/gst-plugins-bad/%{majorminor}/opencv_haarcascades/
|
#{_datadir}/gst-plugins-bad/%{majorminor}/opencv_haarcascades/
|
||||||
@ -285,21 +367,30 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
|
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstbadaudio-%{majorminor}.so.*
|
%{_libdir}/libgstbadaudio-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstcodecparsers-%{majorminor}.so.*
|
%{_libdir}/libgstcodecparsers-%{majorminor}.so.*
|
||||||
|
%{_libdir}/libgstcodecs-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstinsertbin-%{majorminor}.so.*
|
%{_libdir}/libgstinsertbin-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstisoff-%{majorminor}.so.*
|
%{_libdir}/libgstisoff-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstmpegts-%{majorminor}.so.*
|
%{_libdir}/libgstmpegts-%{majorminor}.so.*
|
||||||
|
#{_libdir}/libgstopencv-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstplayer-%{majorminor}.so.*
|
%{_libdir}/libgstplayer-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstphotography-%{majorminor}.so.*
|
%{_libdir}/libgstphotography-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstsctp-%{majorminor}.so.*
|
%{_libdir}/libgstsctp-%{majorminor}.so.*
|
||||||
|
%{_libdir}/libgsttranscoder-%{majorminor}.so.*
|
||||||
%{_libdir}/libgsturidownloader-%{majorminor}.so.*
|
%{_libdir}/libgsturidownloader-%{majorminor}.so.*
|
||||||
|
%{_libdir}/libgstvulkan-%{majorminor}.so.*
|
||||||
%{_libdir}/libgstwebrtc-%{majorminor}.so.*
|
%{_libdir}/libgstwebrtc-%{majorminor}.so.*
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%{_libdir}/libgstwayland-%{majorminor}.so.*
|
%{_libdir}/libgstwayland-%{majorminor}.so.*
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%{_libdir}/girepository-1.0/GstBadAudio-1.0.typelib
|
||||||
|
%{_libdir}/girepository-1.0/GstCodecs-1.0.typelib
|
||||||
%{_libdir}/girepository-1.0/GstInsertBin-1.0.typelib
|
%{_libdir}/girepository-1.0/GstInsertBin-1.0.typelib
|
||||||
%{_libdir}/girepository-1.0/GstMpegts-1.0.typelib
|
%{_libdir}/girepository-1.0/GstMpegts-1.0.typelib
|
||||||
%{_libdir}/girepository-1.0/GstPlayer-1.0.typelib
|
%{_libdir}/girepository-1.0/GstPlayer-1.0.typelib
|
||||||
|
%{_libdir}/girepository-1.0/GstTranscoder-1.0.typelib
|
||||||
|
%{_libdir}/girepository-1.0/GstVulkan-1.0.typelib
|
||||||
|
%{_libdir}/girepository-1.0/GstVulkanWayland-1.0.typelib
|
||||||
%{_libdir}/girepository-1.0/GstWebRTC-1.0.typelib
|
%{_libdir}/girepository-1.0/GstWebRTC-1.0.typelib
|
||||||
|
|
||||||
# Plugins without external dependencies
|
# Plugins without external dependencies
|
||||||
@ -317,12 +408,16 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstbayer.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstbayer.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstcamerabin.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstdashdemux.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstdash.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstdvbsubenc.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so
|
||||||
%if %{with extras}
|
%if %{with extras}
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstfdkaac.so
|
||||||
|
%endif
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
|
||||||
@ -353,6 +448,7 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstresindvd.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstresindvd.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstrfbsrc.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstrsvg.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstrsvg.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstrtpmanagerbad.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstrtponvif.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstrtponvif.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so
|
||||||
@ -361,20 +457,23 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstspeed.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstspeed.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsubenc.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstswitchbin.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgsttimecode.so
|
%{_libdir}/gstreamer-%{majorminor}/libgsttimecode.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgsttranscode.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstuvch264.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstuvch264.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvideofiltersbad.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvideofiltersbad.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvideoframe_audiolevel.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvideoframe_audiolevel.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvideoparsersbad.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvideosignal.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvideosignal.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvmnc.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvmnc.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstyadif.so
|
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so
|
%{_libdir}/gstreamer-%{majorminor}/libgsty4mdec.so
|
||||||
|
|
||||||
# System (Linux) specific plugins
|
# System (Linux) specific plugins
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstdvb.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstdvb.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstv4l2codecs.so
|
||||||
|
|
||||||
# Plugins with external dependencies
|
# Plugins with external dependencies
|
||||||
|
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstbluez.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstbluez.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstbz2.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstbz2.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstclosedcaption.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstclosedcaption.so
|
||||||
@ -383,18 +482,26 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgsthls.so
|
%{_libdir}/gstreamer-%{majorminor}/libgsthls.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstgsm.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstgsm.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstkms.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstkms.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstnvcodec.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstopusparse.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstopusparse.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstrist.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstsrtp.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstsrtp.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstttmlsubs.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstvulkan.so
|
||||||
#{_libdir}/gstreamer-%{majorminor}/libgstvulkan.so
|
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstwaylandsink.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstwaylandsink.so
|
||||||
%endif
|
%endif
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstwebp.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstwebp.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstwebrtcdsp.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstwebrtcdsp.so
|
||||||
|
%if 0
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstwpe.so
|
||||||
|
%endif
|
||||||
|
%if %{with extras}
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstwebrtc.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstlv2.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstttmlsubs.so
|
||||||
|
%endif
|
||||||
|
|
||||||
#debugging plugin
|
#debugging plugin
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstdebugutilsbad.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstdebugutilsbad.so
|
||||||
@ -403,6 +510,7 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%if %{with extras}
|
%if %{with extras}
|
||||||
%files extras
|
%files extras
|
||||||
# Plugins with external dependencies
|
# Plugins with external dependencies
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstaom.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstbs2b.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstbs2b.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstchromaprint.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstchromaprint.so
|
||||||
@ -410,16 +518,23 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstgme.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstgme.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstkate.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstkate.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstmicrodns.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstofa.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstofa.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenal.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstopenal.so
|
||||||
#{_libdir}/gstreamer-%{majorminor}/libgstopencv.so
|
#{_libdir}/gstreamer-%{majorminor}/libgstopencv.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenexr.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstopenexr.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenjpeg.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstopenjpeg.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstopenmpt.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstspandsp.so
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstsrt.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstteletext.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstteletext.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstvdpau.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstva.so
|
||||||
%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
|
|
||||||
|
|
||||||
|
%files zbar
|
||||||
|
# Plugins with external dependencies
|
||||||
|
%{_libdir}/gstreamer-%{majorminor}/libgstzbar.so
|
||||||
|
|
||||||
%files fluidsynth
|
%files fluidsynth
|
||||||
# Plugins with external dependencies
|
# Plugins with external dependencies
|
||||||
@ -430,27 +545,37 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
|
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
|
%if 0
|
||||||
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
|
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
|
||||||
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor}
|
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-libs-%{majorminor}
|
||||||
|
%endif
|
||||||
|
|
||||||
|
%{_datadir}/gir-1.0/GstBadAudio-%{majorminor}.gir
|
||||||
|
%{_datadir}/gir-1.0/GstCodecs-%{majorminor}.gir
|
||||||
%{_datadir}/gir-1.0/GstInsertBin-%{majorminor}.gir
|
%{_datadir}/gir-1.0/GstInsertBin-%{majorminor}.gir
|
||||||
%{_datadir}/gir-1.0/GstMpegts-%{majorminor}.gir
|
%{_datadir}/gir-1.0/GstMpegts-%{majorminor}.gir
|
||||||
%{_datadir}/gir-1.0/GstPlayer-%{majorminor}.gir
|
%{_datadir}/gir-1.0/GstPlayer-%{majorminor}.gir
|
||||||
|
%{_datadir}/gir-1.0/GstTranscoder-%{majorminor}.gir
|
||||||
|
%{_datadir}/gir-1.0/GstVulkan-%{majorminor}.gir
|
||||||
|
%{_datadir}/gir-1.0/GstVulkanWayland-%{majorminor}.gir
|
||||||
%{_datadir}/gir-1.0/GstWebRTC-%{majorminor}.gir
|
%{_datadir}/gir-1.0/GstWebRTC-%{majorminor}.gir
|
||||||
|
|
||||||
%{_libdir}/libgstadaptivedemux-%{majorminor}.so
|
%{_libdir}/libgstadaptivedemux-%{majorminor}.so
|
||||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so
|
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so
|
||||||
%{_libdir}/libgstbadaudio-%{majorminor}.so
|
%{_libdir}/libgstbadaudio-%{majorminor}.so
|
||||||
%{_libdir}/libgstcodecparsers-%{majorminor}.so
|
%{_libdir}/libgstcodecparsers-%{majorminor}.so
|
||||||
|
%{_libdir}/libgstcodecs-%{majorminor}.so
|
||||||
%{_libdir}/libgstinsertbin-%{majorminor}.so
|
%{_libdir}/libgstinsertbin-%{majorminor}.so
|
||||||
%{_libdir}/libgstisoff-%{majorminor}.so
|
%{_libdir}/libgstisoff-%{majorminor}.so
|
||||||
%{_libdir}/libgstmpegts-%{majorminor}.so
|
%{_libdir}/libgstmpegts-%{majorminor}.so
|
||||||
|
#{_libdir}/libgstopencv-%{majorminor}.so
|
||||||
%{_libdir}/libgstplayer-%{majorminor}.so
|
%{_libdir}/libgstplayer-%{majorminor}.so
|
||||||
%{_libdir}/libgstphotography-%{majorminor}.so
|
%{_libdir}/libgstphotography-%{majorminor}.so
|
||||||
%{_libdir}/libgstsctp-%{majorminor}.so
|
%{_libdir}/libgstsctp-%{majorminor}.so
|
||||||
|
%{_libdir}/libgsttranscoder-%{majorminor}.so
|
||||||
%{_libdir}/libgsturidownloader-%{majorminor}.so
|
%{_libdir}/libgsturidownloader-%{majorminor}.so
|
||||||
|
%{_libdir}/libgstvulkan-%{majorminor}.so
|
||||||
%{_libdir}/libgstwebrtc-%{majorminor}.so
|
%{_libdir}/libgstwebrtc-%{majorminor}.so
|
||||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||||
%{_libdir}/libgstwayland-%{majorminor}.so
|
%{_libdir}/libgstwayland-%{majorminor}.so
|
||||||
@ -463,9 +588,12 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography*
|
%{_includedir}/gstreamer-%{majorminor}/gst/interfaces/photography*
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/isoff/
|
%{_includedir}/gstreamer-%{majorminor}/gst/isoff/
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/mpegts
|
%{_includedir}/gstreamer-%{majorminor}/gst/mpegts
|
||||||
|
#{_includedir}/gstreamer-%{majorminor}/gst/opencv
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/player
|
%{_includedir}/gstreamer-%{majorminor}/gst/player
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/sctp
|
%{_includedir}/gstreamer-%{majorminor}/gst/sctp
|
||||||
|
%{_includedir}/gstreamer-%{majorminor}/gst/transcoder
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/uridownloader
|
%{_includedir}/gstreamer-%{majorminor}/gst/uridownloader
|
||||||
|
%{_includedir}/gstreamer-%{majorminor}/gst/vulkan/
|
||||||
%{_includedir}/gstreamer-%{majorminor}/gst/webrtc/
|
%{_includedir}/gstreamer-%{majorminor}/gst/webrtc/
|
||||||
|
|
||||||
# pkg-config files
|
# pkg-config files
|
||||||
@ -473,51 +601,198 @@ find $RPM_BUILD_ROOT -name '*.la' -exec rm -fv {} ';'
|
|||||||
%{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-codecparsers-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-insertbin-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-insertbin-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-mpegts-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-mpegts-%{majorminor}.pc
|
||||||
|
%{_libdir}/pkgconfig/gstreamer-photography-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-player-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-player-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-sctp-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-sctp-%{majorminor}.pc
|
||||||
|
%{_libdir}/pkgconfig/gstreamer-transcoder-%{majorminor}.pc
|
||||||
%{_libdir}/pkgconfig/gstreamer-webrtc-%{majorminor}.pc
|
%{_libdir}/pkgconfig/gstreamer-webrtc-%{majorminor}.pc
|
||||||
|
%{_libdir}/pkgconfig/gstreamer-vulkan-%{majorminor}.pc
|
||||||
|
%{_libdir}/pkgconfig/gstreamer-vulkan-wayland-%{majorminor}.pc
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
* Wed Jan 17 2024 Wim Taymans <wtaymans@redhat.com> - 1.16.1-4
|
* Wed Mar 29 2023 Eduard Abdullin <eabdullin@almalinux.org> - 1.18.4-6.alma
|
||||||
- Patch CVE-2023-40474: Integer overflow
|
- Added wayland-protocols-devel to BR
|
||||||
- Patch CVE-2023-40475: Integer overflow
|
|
||||||
- Patch CVE-2023-40476: Integer overflow in H.265 video parser
|
|
||||||
- Resolves: RHEL-19500, RHEL-19504, RHEL-19507
|
|
||||||
|
|
||||||
* Thu Jan 11 2024 Wim Taymans <wtaymans@redhat.com> - 1.16.1-3
|
* Mon Nov 07 2022 Tomas Popela <tpopela@redhat.com> - 1.18.4-6
|
||||||
- Bump to avoid conflict with z stream.
|
- Fix FTBFS by BR wayland-protocols-devel
|
||||||
- Resolves: RHEL-16794
|
- Resolves: rhbz#2140540
|
||||||
|
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
|
||||||
|
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||||
|
Related: rhbz#1991688
|
||||||
|
|
||||||
* Wed Dec 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.16.1-2
|
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com>
|
||||||
- Patch CVE-2023-44446: MXF demuxer use-after-free
|
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||||
- Resolves: RHEL-16794
|
Related: rhbz#1971065
|
||||||
|
|
||||||
* Mon Nov 18 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.1-1
|
* Mon Jun 07 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-3
|
||||||
|
- Apply vulkan multilib patch
|
||||||
|
- Resolves: rhbz#1915341
|
||||||
|
|
||||||
|
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
|
||||||
|
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||||
|
|
||||||
|
* Tue Mar 16 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-1
|
||||||
|
- Update to 1.18.4
|
||||||
|
|
||||||
|
* Tue Mar 09 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.2-9
|
||||||
|
- Fix typo when disabling microdns
|
||||||
|
|
||||||
|
* Thu Feb 25 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.2-8
|
||||||
|
- Move ladspa, microdns, openmpt, srt and zvbi to extras
|
||||||
|
|
||||||
|
* Mon Feb 08 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.2-7
|
||||||
|
- Rebuild for updated libmicrodns
|
||||||
|
|
||||||
|
* Wed Jan 20 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.2-6
|
||||||
|
- Move libaom to extras
|
||||||
|
- Remove unused musepack buildreq
|
||||||
|
|
||||||
|
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.18.2-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||||
|
|
||||||
|
* Sun Jan 24 2021 Leigh Scott <leigh123linux@gmail.com> - 1.18.2-4
|
||||||
|
- Rebuild for new libmicrodns .so version
|
||||||
|
|
||||||
|
* Tue Jan 12 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.2-3
|
||||||
|
- Move libnice and webrtc to extras
|
||||||
|
|
||||||
|
* Fri Jan 01 2021 Richard Shaw <hobbes1069@gmail.com> - 1.18.2-2
|
||||||
|
- Rebuild for OpenEXR 2.5.3.
|
||||||
|
|
||||||
|
* Thu Dec 10 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.2-1
|
||||||
|
- Update to 1.18.2
|
||||||
|
|
||||||
|
* Fri Oct 30 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.1-1
|
||||||
|
- Update to 1.18.1
|
||||||
|
- Remove COPYING.LIB
|
||||||
|
|
||||||
|
* Mon Oct 19 2020 Troy Dawson <tdawson@redhat.com> - 1.18.0-5
|
||||||
|
- Do not run va tests when va is disabled
|
||||||
|
|
||||||
|
* Sat Oct 17 2020 Dominik Mierzejewski <rpm@greysector.net> - 1.18.0-4
|
||||||
|
- rebuild for libdvdread-6.1 ABI bump
|
||||||
|
|
||||||
|
* Tue Sep 22 2020 Gwyn Ciesla <gwync@protonmail.com> - 1.18.0-3
|
||||||
|
- Obsolete/Provide gst-transcoder
|
||||||
|
|
||||||
|
* Thu Sep 10 2020 Adam Williamson <awilliam@redhat.com> - 1.18.0-2
|
||||||
|
- Disable opencv again (pulls in huge number of deps)
|
||||||
|
|
||||||
|
* Tue Sep 8 2020 Wim Taymans <wtaymans@redhat.com> - 1.18.0-1
|
||||||
|
- Update to 1.18.0
|
||||||
|
- Enable opencv
|
||||||
|
|
||||||
|
* Fri Aug 21 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.90-1
|
||||||
|
- Update to 1.17.90
|
||||||
|
- Remove obsolete -bad-transcoder .pc file
|
||||||
|
- Add vulkan wayland
|
||||||
|
|
||||||
|
* Tue Jul 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.17.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jul 07 2020 Robert-André Mauchin <zebob.m@gmail.com> - 1.17.2-2
|
||||||
|
- Rebuilt for aom 2.0.0
|
||||||
|
|
||||||
|
* Mon Jul 6 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.2-1
|
||||||
|
- Update to 1.17.2
|
||||||
|
- Add new libva plugin
|
||||||
|
- Add new pkgconfig files
|
||||||
|
|
||||||
|
* Mon Jun 22 2020 Wim Taymans <wtaymans@redhat.com> - 1.17.1-1
|
||||||
|
- Update to 1.17.1
|
||||||
|
- Add sources
|
||||||
|
- Disable wpe for now
|
||||||
|
|
||||||
|
* Fri Mar 20 2020 Debarshi Ray <rishi@fedoraproject.org> - 1.16.2-4
|
||||||
|
- Enable the spandsp plugin
|
||||||
|
|
||||||
|
* Wed Jan 29 2020 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.2-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||||
|
|
||||||
|
* Tue Jan 7 2020 Tom Callaway <spot@fedoraproject.org> - 1.16.2-2
|
||||||
|
- rebuild for libsrtp2
|
||||||
|
|
||||||
|
* Thu Jan 2 2020 Wim Taymans <wtaymans@redhat.com> - 1.16.2-1
|
||||||
|
- Update to 1.16.2
|
||||||
|
|
||||||
|
* Fri Nov 15 2019 Dominik 'Rathann' Mierzejewski <rpm@greysector.net> - 1.16.1-3
|
||||||
|
- rebuild for libdvdread ABI bump
|
||||||
|
|
||||||
|
* Fri Oct 04 2019 Kalev Lember <klember@redhat.com> - 1.16.1-2
|
||||||
|
- Bump gstreamer1-plugins-bad-nonfree obsoletes version
|
||||||
|
|
||||||
|
* Tue Sep 24 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.1-1
|
||||||
- Update to 1.16.1
|
- Update to 1.16.1
|
||||||
- Remove upstreamed patches
|
|
||||||
|
* Mon Sep 23 2019 Kalev Lember <klember@redhat.com> - 1.16.0-4
|
||||||
|
- Enable AAC support through fdk-aac-free
|
||||||
|
|
||||||
|
* Thu Jul 25 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.16.0-3
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||||
|
|
||||||
|
* Mon Jun 24 2019 Rex Dieter <rdieter@fedoraproject.org> - 1.16.0-2
|
||||||
|
- BR: lilv-devel, enables lv2 plugin
|
||||||
|
- use %%_metainfodir macro
|
||||||
|
|
||||||
|
* Tue Apr 23 2019 Wim Taymans <wtaymans@redhat.com> - 1.16.0-1
|
||||||
|
- Update to 1.16.0
|
||||||
|
|
||||||
|
* Fri Mar 01 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.2-1
|
||||||
|
- Update to 1.15.2
|
||||||
|
- The vcdsrc plugin was removed
|
||||||
|
|
||||||
|
* Thu Feb 28 2019 Pete Walter <pwalter@fedoraproject.org> - 1.15.1-3
|
||||||
|
- Update wayland deps
|
||||||
|
|
||||||
|
* Fri Feb 01 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.15.1-2
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||||
|
|
||||||
|
* Fri Jan 25 2019 Wim Taymans <wtaymans@redhat.com> - 1.15.1-1
|
||||||
|
- Update to 1.15.1
|
||||||
- Remove dependency on removed package
|
- Remove dependency on removed package
|
||||||
- Add sctp and closedcaption plugins
|
- Add sctp and closedcaption plugins
|
||||||
- The vcdsrc plugin was removed
|
|
||||||
- Resolves: rhbz#1756299
|
|
||||||
|
|
||||||
* Thu Aug 16 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-5
|
* Wed Oct 03 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.4-1
|
||||||
- Fixes for problems found by covscan
|
- Update to 1.14.4
|
||||||
- Resolves: rhbz#1602534
|
|
||||||
|
|
||||||
* Mon Aug 13 2018 Troy Dawson <tdawson@redhat.com> - 1.14.0-4
|
* Tue Sep 18 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.3-1
|
||||||
- Add BuildRequest python3-devel
|
- Update to 1.14.3
|
||||||
|
|
||||||
* Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-3
|
* Wed Aug 15 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.2-2
|
||||||
- Remove obsolete liboil BR (#1588303)
|
- Enable LV2 plugin support (#1616070)
|
||||||
|
|
||||||
|
* Mon Jul 23 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.2-1
|
||||||
|
- Update to 1.14.2
|
||||||
|
|
||||||
|
* Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.org> - 1.14.1-7
|
||||||
- Only build extras on Fedora
|
- Only build extras on Fedora
|
||||||
- bluez is not in extras
|
- bluez is not in extras
|
||||||
- vdpau is in extras
|
- vdpau is in extras
|
||||||
|
|
||||||
* Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-2
|
* Tue Jul 17 2018 Wim Taymans <wtaymans@redhat.org> - 1.14.1-6
|
||||||
|
- remove unused liboil BR
|
||||||
|
|
||||||
|
* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 1.14.1-5
|
||||||
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||||
|
|
||||||
|
* Thu Jun 14 2018 Simone Caronni <negativo17@gmail.com> - 1.14.1-4
|
||||||
|
- Rebuild for updated libass.
|
||||||
|
|
||||||
|
* Fri May 25 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-3
|
||||||
|
- rebuild (#1581325) to update Provides
|
||||||
|
|
||||||
|
* Tue May 22 2018 Rex Dieter <rdieter@fedoraproject.org> - 1.14.1-2
|
||||||
|
- rebuild (file)
|
||||||
|
|
||||||
|
* Mon May 21 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.1-1
|
||||||
|
- Update to 1.14.1
|
||||||
- Use openjpeg2 instead of openjpeg (#1553079)
|
- Use openjpeg2 instead of openjpeg (#1553079)
|
||||||
|
|
||||||
|
* Thu May 10 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-2
|
||||||
|
- Add libnice-devel to get webrtc plugin (#1575244)
|
||||||
|
|
||||||
* Tue Mar 20 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-1
|
* Tue Mar 20 2018 Wim Taymans <wtaymans@redhat.com> - 1.14.0-1
|
||||||
- Update to 1.14.0
|
- Update to 1.14.0
|
||||||
- add webrtc gir and typelib
|
- add webrtc gir and typelib
|
||||||
|
Loading…
Reference in New Issue
Block a user