Update to 1.22.12
This commit is contained in:
parent
2500c13331
commit
a2746122c8
1
.gitignore
vendored
1
.gitignore
vendored
@ -75,3 +75,4 @@
|
||||
/gst-plugins-bad-free-1.18.2.tar.xz
|
||||
/gst-plugins-bad-free-1.18.4.tar.xz
|
||||
/gst-plugins-bad-free-1.22.1.tar.xz
|
||||
/gst-plugins-bad-free-1.22.12.tar.xz
|
||||
|
@ -1,114 +0,0 @@
|
||||
From 27959a895db3949dee1c93cc05cb73465e2a1fbe 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 1/4] 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>
|
||||
---
|
||||
subprojects/gst-plugins-bad/gst/mxf/mxfup.c | 51 +++++++++++++++++----
|
||||
1 file changed, 43 insertions(+), 8 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst/mxf/mxfup.c b/subprojects/gst-plugins-bad/gst/mxf/mxfup.c
|
||||
index d8b6664dab..ba86255f20 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst/mxf/mxfup.c
|
||||
+++ b/subprojects/gst-plugins-bad/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,323 +0,0 @@
|
||||
From db2e5ccfcf4db7fc3d199d885b07e5eb34770c19 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= <sebastian@centricular.com>
|
||||
Date: Fri, 20 Oct 2023 00:09:57 +0300
|
||||
Subject: [PATCH 1/2] 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-plugins-bad/gst/mxf/mxfdemux.c | 116 ++++++++----------
|
||||
.../gst-plugins-bad/gst/mxf/mxfdemux.h | 2 +-
|
||||
2 files changed, 50 insertions(+), 68 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.c b/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.c
|
||||
index d9eb9a5844..1b58989631 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.c
|
||||
+++ b/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.c
|
||||
@@ -170,10 +170,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,
|
||||
@@ -182,23 +197,7 @@ gst_mxf_demux_reset_mxf_state (GstMXFDemux * demux)
|
||||
demux->partitions = NULL;
|
||||
|
||||
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
|
||||
@@ -216,7 +215,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->delta_id = -1;
|
||||
@@ -419,7 +418,7 @@ gst_mxf_demux_partition_postcheck (GstMXFDemux * demux,
|
||||
|
||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
||||
GstMXFDemuxEssenceTrack *cand =
|
||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
||||
|
||||
if (cand->body_sid != partition->partition.body_sid)
|
||||
continue;
|
||||
@@ -866,8 +865,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) {
|
||||
@@ -885,24 +883,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;
|
||||
}
|
||||
@@ -1050,13 +1047,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);
|
||||
}
|
||||
}
|
||||
@@ -1069,7 +1060,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);
|
||||
@@ -1438,7 +1429,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) {
|
||||
@@ -1927,8 +1918,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) {
|
||||
@@ -2712,7 +2702,7 @@ gst_mxf_demux_handle_generic_container_essence_element (GstMXFDemux * demux,
|
||||
if (!etrack) {
|
||||
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)) {
|
||||
@@ -3916,8 +3906,7 @@ from_track_offset:
|
||||
gst_mxf_demux_set_partition_for_offset (demux, demux->offset);
|
||||
|
||||
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);
|
||||
|
||||
if (index_start_position != -1 && t == etrack)
|
||||
t->position = index_start_position;
|
||||
@@ -3941,8 +3930,7 @@ from_track_offset:
|
||||
/* Handle 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;
|
||||
@@ -4180,8 +4168,7 @@ gst_mxf_demux_pull_and_handle_klv_packet (GstMXFDemux * demux)
|
||||
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 != partition->partition.body_sid)
|
||||
continue;
|
||||
@@ -4652,9 +4639,8 @@ gst_mxf_demux_pad_to_track_and_position (GstMXFDemux * demux,
|
||||
/* Get the corresponding essence track for the given source package and stream id */
|
||||
for (i = 0; i < demux->essence_tracks->len; i++) {
|
||||
GstMXFDemuxEssenceTrack *track =
|
||||
- &g_array_index (demux->essence_tracks, GstMXFDemuxEssenceTrack, i);
|
||||
- GST_LOG_OBJECT (pad,
|
||||
- "Looking at essence track body_sid:%d index_sid:%d",
|
||||
+ g_ptr_array_index (demux->essence_tracks, i);
|
||||
+ GST_LOG_OBJECT (pad, "Looking at essence track body_sid:%d index_sid:%d",
|
||||
track->body_sid, track->index_sid);
|
||||
if (clip->source_track_id == 0 || (track->track_id == clip->source_track_id
|
||||
&& mxf_umid_is_equal (&clip->source_package_id,
|
||||
@@ -4903,8 +4889,7 @@ 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;
|
||||
}
|
||||
|
||||
@@ -5342,8 +5327,7 @@ 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;
|
||||
}
|
||||
|
||||
@@ -5642,7 +5626,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;
|
||||
@@ -5683,8 +5667,7 @@ 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;
|
||||
@@ -5708,8 +5691,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);
|
||||
t->position = -1;
|
||||
}
|
||||
demux->current_partition = NULL;
|
||||
@@ -5982,7 +5964,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);
|
||||
@@ -6059,8 +6041,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/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.h b/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.h
|
||||
index d079a1de1a..1dc8a4edb5 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.h
|
||||
+++ b/subprojects/gst-plugins-bad/gst/mxf/mxfdemux.h
|
||||
@@ -266,7 +266,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
|
||||
|
@ -1,65 +0,0 @@
|
||||
From 73f1409447033b8e3291a51893d5a027e2be15fc Mon Sep 17 00:00:00 2001
|
||||
From: Benjamin Gaignard <benjamin.gaignard@collabora.com>
|
||||
Date: Tue, 21 Nov 2023 14:26:54 +0100
|
||||
Subject: [PATCH 2/2] codecparsers: av1: Clip max tile rows and cols values
|
||||
|
||||
Clip tile rows and cols to 64 as describe in AV1 specification
|
||||
to avoid writing outside array range but preserve sb_cols
|
||||
and sb_rows value which are used to futher computation.
|
||||
|
||||
Fixes ZDI-CAN-22226 / CVE-2023-44429
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5734>
|
||||
---
|
||||
.../gst-libs/gst/codecparsers/gstav1parser.c | 14 ++++++++++----
|
||||
1 file changed, 10 insertions(+), 4 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c
|
||||
index 22ffefd168..7ef583c7f5 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c
|
||||
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.c
|
||||
@@ -2243,7 +2243,9 @@ gst_av1_parse_tile_info (GstAV1Parser * parser, GstBitReader * br,
|
||||
tile_width_sb = (sb_cols + (1 << parser->state.tile_cols_log2) -
|
||||
1) >> parser->state.tile_cols_log2;
|
||||
i = 0;
|
||||
- for (start_sb = 0; start_sb < sb_cols; start_sb += tile_width_sb) {
|
||||
+ /* Fill mi_col_starts[] and make sure to not exceed array range */
|
||||
+ for (start_sb = 0; start_sb < sb_cols && i < GST_AV1_MAX_TILE_COLS;
|
||||
+ start_sb += tile_width_sb) {
|
||||
parser->state.mi_col_starts[i] = start_sb << sb_shift;
|
||||
i += 1;
|
||||
}
|
||||
@@ -2272,7 +2274,9 @@ gst_av1_parse_tile_info (GstAV1Parser * parser, GstBitReader * br,
|
||||
tile_height_sb = (sb_rows + (1 << parser->state.tile_rows_log2) -
|
||||
1) >> parser->state.tile_rows_log2;
|
||||
i = 0;
|
||||
- for (start_sb = 0; start_sb < sb_rows; start_sb += tile_height_sb) {
|
||||
+ /* Fill mi_row_starts[] and make sure to not exceed array range */
|
||||
+ for (start_sb = 0; start_sb < sb_rows && i < GST_AV1_MAX_TILE_ROWS;
|
||||
+ start_sb += tile_height_sb) {
|
||||
parser->state.mi_row_starts[i] = start_sb << sb_shift;
|
||||
i += 1;
|
||||
}
|
||||
@@ -2287,7 +2291,8 @@ gst_av1_parse_tile_info (GstAV1Parser * parser, GstBitReader * br,
|
||||
} else {
|
||||
widest_tile_sb = 0;
|
||||
start_sb = 0;
|
||||
- for (i = 0; start_sb < sb_cols; i++) {
|
||||
+ /* Fill mi_col_starts[] and make sure to not exceed array range */
|
||||
+ for (i = 0; start_sb < sb_cols && i < GST_AV1_MAX_TILE_COLS; i++) {
|
||||
parser->state.mi_col_starts[i] = start_sb << sb_shift;
|
||||
max_width = MIN (sb_cols - start_sb, max_tile_width_sb);
|
||||
tile_info->width_in_sbs_minus_1[i] =
|
||||
@@ -2312,7 +2317,8 @@ gst_av1_parse_tile_info (GstAV1Parser * parser, GstBitReader * br,
|
||||
max_tile_height_sb = MAX (max_tile_area_sb / widest_tile_sb, 1);
|
||||
|
||||
start_sb = 0;
|
||||
- for (i = 0; start_sb < sb_rows; i++) {
|
||||
+ /* Fill mi_row_starts[] and make sure to not exceed array range */
|
||||
+ for (i = 0; start_sb < sb_rows && i < GST_AV1_MAX_TILE_ROWS; i++) {
|
||||
parser->state.mi_row_starts[i] = start_sb << sb_shift;
|
||||
max_height = MIN (sb_rows - start_sb, max_tile_height_sb);
|
||||
tile_info->height_in_sbs_minus_1[i] =
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,45 +0,0 @@
|
||||
From cfccf4b36197359271c95f20bfcda854f6c812cc 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 2/4] 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>
|
||||
---
|
||||
subprojects/gst-plugins-bad/gst/mxf/mxfd10.c | 3 ++-
|
||||
1 file changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst/mxf/mxfd10.c b/subprojects/gst-plugins-bad/gst/mxf/mxfd10.c
|
||||
index 66c071372a..060d5a02de 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst/mxf/mxfd10.c
|
||||
+++ b/subprojects/gst-plugins-bad/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,66 +0,0 @@
|
||||
From 0ded5a6d028ad40604093690c44eb022ef793531 Mon Sep 17 00:00:00 2001
|
||||
From: Seungha Yang <seungha@centricular.com>
|
||||
Date: Thu, 23 Nov 2023 20:24:42 +0900
|
||||
Subject: [PATCH 3/4] av1parser: Fix array sizes in scalability structure
|
||||
|
||||
Since the AV1 specification is not explicitly mentioning about
|
||||
the array size bounds, array sizes in scalability structure
|
||||
should be defined as possible maximum sizes that can have.
|
||||
|
||||
Also, this commit removes GST_AV1_MAX_SPATIAL_LAYERS define from
|
||||
public header which is API break but the define is misleading
|
||||
and this patch is introducing ABI break already
|
||||
|
||||
ZDI-CAN-22300
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5824>
|
||||
---
|
||||
.../gst-libs/gst/codecparsers/gstav1parser.h | 11 +++++------
|
||||
.../gst-plugins-bad/gst/videoparsers/gstav1parse.c | 2 +-
|
||||
2 files changed, 6 insertions(+), 7 deletions(-)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h
|
||||
index a5f1c761f6..7d2ec69fb5 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h
|
||||
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gstav1parser.h
|
||||
@@ -71,9 +71,8 @@ G_BEGIN_DECLS
|
||||
#define GST_AV1_MAX_TILE_COUNT 512
|
||||
#define GST_AV1_MAX_OPERATING_POINTS \
|
||||
(GST_AV1_MAX_NUM_TEMPORAL_LAYERS * GST_AV1_MAX_NUM_SPATIAL_LAYERS)
|
||||
-#define GST_AV1_MAX_SPATIAL_LAYERS 2 /* correct? */
|
||||
-#define GST_AV1_MAX_TEMPORAL_GROUP_SIZE 8 /* correct? */
|
||||
-#define GST_AV1_MAX_TEMPORAL_GROUP_REFERENCES 8 /* correct? */
|
||||
+#define GST_AV1_MAX_TEMPORAL_GROUP_SIZE 255
|
||||
+#define GST_AV1_MAX_TEMPORAL_GROUP_REFERENCES 7
|
||||
#define GST_AV1_MAX_NUM_Y_POINTS 16
|
||||
#define GST_AV1_MAX_NUM_CB_POINTS 16
|
||||
#define GST_AV1_MAX_NUM_CR_POINTS 16
|
||||
@@ -968,9 +967,9 @@ struct _GstAV1MetadataScalability {
|
||||
gboolean spatial_layer_dimensions_present_flag;
|
||||
gboolean spatial_layer_description_present_flag;
|
||||
gboolean temporal_group_description_present_flag;
|
||||
- guint16 spatial_layer_max_width[GST_AV1_MAX_SPATIAL_LAYERS];
|
||||
- guint16 spatial_layer_max_height[GST_AV1_MAX_SPATIAL_LAYERS];
|
||||
- guint8 spatial_layer_ref_id[GST_AV1_MAX_SPATIAL_LAYERS];
|
||||
+ guint16 spatial_layer_max_width[GST_AV1_MAX_NUM_SPATIAL_LAYERS];
|
||||
+ guint16 spatial_layer_max_height[GST_AV1_MAX_NUM_SPATIAL_LAYERS];
|
||||
+ guint8 spatial_layer_ref_id[GST_AV1_MAX_NUM_SPATIAL_LAYERS];
|
||||
guint8 temporal_group_size;
|
||||
|
||||
guint8 temporal_group_temporal_id[GST_AV1_MAX_TEMPORAL_GROUP_SIZE];
|
||||
diff --git a/subprojects/gst-plugins-bad/gst/videoparsers/gstav1parse.c b/subprojects/gst-plugins-bad/gst/videoparsers/gstav1parse.c
|
||||
index 923bc5d70a..9eaa1f47d9 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst/videoparsers/gstav1parse.c
|
||||
+++ b/subprojects/gst-plugins-bad/gst/videoparsers/gstav1parse.c
|
||||
@@ -1271,7 +1271,7 @@ gst_av1_parse_handle_sequence_obu (GstAV1Parse * self, GstAV1OBU * obu)
|
||||
}
|
||||
|
||||
val = (self->parser->state.operating_point_idc >> 8) & 0x0f;
|
||||
- for (i = 0; i < (1 << GST_AV1_MAX_SPATIAL_LAYERS); i++) {
|
||||
+ for (i = 0; i < GST_AV1_MAX_NUM_SPATIAL_LAYERS; i++) {
|
||||
if (val & (1 << i))
|
||||
self->highest_spatial_id = i;
|
||||
}
|
||||
--
|
||||
2.43.0
|
||||
|
@ -1,42 +0,0 @@
|
||||
From 6780451f22c87e926ebf60fe55e1a9e10517f6d1 Mon Sep 17 00:00:00 2001
|
||||
From: Nicolas Dufresne <nicolas.dufresne@collabora.com>
|
||||
Date: Wed, 9 Aug 2023 12:49:19 -0400
|
||||
Subject: [PATCH 4/4] 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-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c | 2 ++
|
||||
1 file changed, 2 insertions(+)
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c
|
||||
index fe775a86cd..44b723737a 100644
|
||||
--- a/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c
|
||||
+++ b/subprojects/gst-plugins-bad/gst-libs/gst/codecparsers/gsth265parser.c
|
||||
@@ -1845,6 +1845,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 */
|
||||
@@ -2015,6 +2016,7 @@ gst_h265_parse_sps (GstH265Parser * parser, GstH265NalUnit * nalu,
|
||||
READ_UINT8 (&nr, sps->vps_id, 4);
|
||||
|
||||
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
|
||||
|
@ -2,42 +2,37 @@
|
||||
%global _gobject_introspection 1.31.1
|
||||
|
||||
# Only have extras package on fedora
|
||||
%if 0%{?fedora}
|
||||
%bcond_without extras
|
||||
%else
|
||||
%bcond_with extras
|
||||
%endif
|
||||
%bcond extras %{defined fedora}
|
||||
%bcond opencv %[ 0%{?fedora} >= 39 ]
|
||||
%bcond openh264 %[ 0%{?fedora} >= 40 ]
|
||||
|
||||
#global gitrel 140
|
||||
#global gitcommit 4ca3a22b6b33ad8be4383063e76f79c4d346535d
|
||||
#global shortcommit %(c=%{gitcommit}; echo ${c:0:5})
|
||||
|
||||
Name: gstreamer1-plugins-bad-free
|
||||
Version: 1.22.1
|
||||
Release: 4%{?gitcommit:.git%{shortcommit}}%{?dist}
|
||||
Version: 1.22.12
|
||||
Release: 1%{?dist}
|
||||
Summary: GStreamer streaming media framework "bad" plugins
|
||||
|
||||
License: LGPLv2+ and LGPLv2
|
||||
URL: http://gstreamer.freedesktop.org/
|
||||
%if 0%{?gitrel}
|
||||
# git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-good
|
||||
# cd gst-plugins-good; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck
|
||||
# git clone git://anongit.freedesktop.org/gstreamer/gst-plugins-bad
|
||||
# cd gst-plugins-bad; git reset --hard %{gitcommit}; ./autogen.sh; make; make distcheck
|
||||
# modified with gst-p-bad-cleanup.sh from SOURCE1
|
||||
%else
|
||||
# The source is:
|
||||
# http://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz
|
||||
# https://gstreamer.freedesktop.org/src/gst-plugins-bad/gst-plugins-bad-%{version}.tar.xz
|
||||
# modified with gst-p-bad-cleanup.sh from SOURCE1
|
||||
%endif
|
||||
Source0: gst-plugins-bad-free-%{version}.tar.xz
|
||||
Source1: gst-p-bad-cleanup.sh
|
||||
|
||||
Patch0: 0001-mxfdemux-Store-GstMXFDemuxEssenceTrack-in-their-own-.patch
|
||||
Patch1: 0002-codecparsers-av1-Clip-max-tile-rows-and-cols-values.patch
|
||||
Patch2: 0001-mxfdemux-Fix-integer-overflow-causing-out-of-bounds-.patch
|
||||
Patch3: 0002-mxfdemux-Check-number-of-channels-for-AES3-audio.patch
|
||||
Patch4: 0003-av1parser-Fix-array-sizes-in-scalability-structure.patch
|
||||
Patch5: 0004-h265parser-Fix-possible-overflow-using-max_sub_layer.patch
|
||||
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5622
|
||||
Patch: openh264-add-license-file.patch
|
||||
# https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5780
|
||||
Patch: openh264-drop-runtime-version-checks.patch
|
||||
|
||||
BuildRequires: meson >= 0.48.0
|
||||
BuildRequires: gcc-c++
|
||||
@ -83,13 +78,14 @@ BuildRequires: libwebp-devel
|
||||
BuildRequires: mesa-libEGL-devel
|
||||
BuildRequires: vulkan-devel
|
||||
#BuildRequires: mesa-vulkan-devel
|
||||
BuildRequires: webrtc-audio-processing-devel
|
||||
BuildRequires: pkgconfig(webrtc-audio-processing) >= 0.3
|
||||
%if 0
|
||||
BuildRequires: wpewebkit-devel
|
||||
BuildRequires: wpebackend-fdo-devel
|
||||
%endif
|
||||
BuildRequires: glslc
|
||||
BuildRequires: libdrm-devel
|
||||
BuildRequires: libva-devel
|
||||
|
||||
%if %{with extras}
|
||||
BuildRequires: ladspa-devel
|
||||
@ -114,15 +110,18 @@ BuildRequires: libxml2-devel
|
||||
BuildRequires: game-music-emu-devel
|
||||
BuildRequires: libkate-devel
|
||||
BuildRequires: libmodplug-devel
|
||||
BuildRequires: libmpcdec-devel
|
||||
## Plugins not ported
|
||||
#BuildRequires: libmusicbrainz-devel
|
||||
#BuildRequires: libtimidity-devel
|
||||
BuildRequires: libva-devel
|
||||
BuildRequires: openal-soft-devel
|
||||
## If enabled, adds ~90 additional deps; perhaps can be moved to a
|
||||
## subpackage?
|
||||
#BuildRequires: opencv-devel
|
||||
%if %{with opencv}
|
||||
BuildRequires: opencv-devel
|
||||
%endif
|
||||
BuildRequires: openjpeg2-devel
|
||||
%if %{with openh264}
|
||||
BuildRequires: pkgconfig(openh264)
|
||||
%endif
|
||||
BuildRequires: pkgconfig(spandsp) >= 0.0.6
|
||||
## Plugins not ported
|
||||
#BuildRequires: SDL-devel
|
||||
@ -137,12 +136,20 @@ BuildRequires: pkgconfig(ldacBT-enc)
|
||||
%endif
|
||||
BuildRequires: qrencode-devel
|
||||
BuildRequires: json-glib-devel
|
||||
BuildRequires: vo-amrwbenc-devel
|
||||
BuildRequires: libavtp-devel
|
||||
BuildRequires: libdca-devel
|
||||
BuildRequires: flite-devel
|
||||
%endif
|
||||
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
|
||||
%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
|
||||
# dtsdec, dvbsuboverlay, siren used to be shipped in -freeworld
|
||||
Conflicts: gstreamer1-plugins-bad-freeworld < 1.22.7-2
|
||||
|
||||
# Drop after f36
|
||||
Provides: gst-transcoder = 1.16.0-4
|
||||
@ -219,6 +226,49 @@ plugin which allows playback of midi files.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with opencv}
|
||||
%package opencv
|
||||
Summary: GStreamer "bad" plugins OpenCV plugins
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
Requires: opencv-data
|
||||
|
||||
%description opencv
|
||||
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}-opencv) contains the OpenCV plugins.
|
||||
%endif
|
||||
|
||||
|
||||
%if %{with openh264}
|
||||
%package -n gstreamer1-plugin-openh264
|
||||
Summary: GStreamer OpenH264 plugin
|
||||
License: LGPL-2.0-or-later AND BSD-2-Clause
|
||||
# Prefer actual openh264 library over the noopenh264 stub
|
||||
Suggests: openh264%{_isa}
|
||||
|
||||
%description -n gstreamer1-plugin-openh264
|
||||
GStreamer is a streaming media framework, based on graphs of elements which
|
||||
operate on media data.
|
||||
|
||||
This package contains the OpenH264 plugin.
|
||||
%endif
|
||||
|
||||
|
||||
%package libs
|
||||
Summary: Runtime libraries for the GStreamer media framework "bad" plug-ins
|
||||
|
||||
%description libs
|
||||
GStreamer is a streaming media framework, based on graphs of elements which
|
||||
operate on media data.
|
||||
|
||||
This package contains the runtime libraries for plugins that
|
||||
aren't tested well enough, or the code is not of good enough quality.
|
||||
|
||||
|
||||
%package devel
|
||||
Summary: Development files for the GStreamer media framework "bad" plug-ins
|
||||
Requires: %{name}%{?_isa} = %{version}-%{release}
|
||||
@ -238,13 +288,7 @@ aren't tested well enough, or the code is not of good enough quality.
|
||||
|
||||
|
||||
%prep
|
||||
%setup -q -n gst-plugins-bad-%{version}
|
||||
%patch0 -p3
|
||||
%patch1 -p3
|
||||
%patch2 -p3
|
||||
%patch3 -p3
|
||||
%patch4 -p3
|
||||
%patch5 -p3
|
||||
%autosetup -n gst-plugins-bad-%{version} -p3
|
||||
|
||||
%build
|
||||
%meson \
|
||||
@ -260,25 +304,31 @@ aren't tested well enough, or the code is not of good enough quality.
|
||||
%{!?with_extras:-D ttml=disabled -D kate=disabled } \
|
||||
%{!?with_extras:-D modplug=disabled } \
|
||||
%{!?with_extras:-D openal=disabled } \
|
||||
%{!?with_extras:-D opencv=disabled -D openjpeg=disabled } \
|
||||
%{!?with_opencv:-D opencv=disabled } \
|
||||
%{!?with_openh264:-D openh264=disabled } \
|
||||
%{!?with_extras:-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 } \
|
||||
%{!?with_extras:-D avtp=disabled -D dts=disabled } \
|
||||
%{!?with_extras:-D flite=disabled } \
|
||||
-D doc=disabled -D magicleap=disabled -D msdk=disabled \
|
||||
-D dts=disabled -D faac=disabled -D faad=disabled \
|
||||
-D faac=disabled -D faad=disabled \
|
||||
-D mpeg2enc=disabled -D mplex=disabled \
|
||||
-D neon=disabled -D rtmp=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 sbc=disabled \
|
||||
%{!?with_extras:-D spandsp=disabled } \
|
||||
%{!?with_extras:-D voamrwbenc=disabled } \
|
||||
-D x265=disabled \
|
||||
-D dvdspu=disabled \
|
||||
-D opensles=disabled -D tinyalsa=disabled \
|
||||
-D wasapi=disabled -D wasapi2=disabled -D avtp=disabled \
|
||||
-D wasapi=disabled -D wasapi2=disabled \
|
||||
-D dc1394=disabled -D directfb=disabled -D iqa=disabled \
|
||||
-D libde265=disabled -D musepack=disabled -D openni2=disabled \
|
||||
-D libde265=disabled -D openni2=disabled \
|
||||
%{!?with_extras:-D musepack=disabled } \
|
||||
-D svthevcenc=disabled -D voaacenc=disabled \
|
||||
-D zxing=disabled -D wpe=disabled -D x11=disabled \
|
||||
%ifarch s390x
|
||||
@ -287,7 +337,7 @@ aren't tested well enough, or the code is not of good enough quality.
|
||||
%{!?with_extras:-D ldac=disabled } \
|
||||
%endif
|
||||
%{!?with_extras:-D qroverlay=disabled } \
|
||||
-D openh264=disabled -D gs=disabled -D isac=disabled \
|
||||
-D gs=disabled -D isac=disabled \
|
||||
-D onnx=disabled -D openaptx=disabled -Dgpl=enabled \
|
||||
-D amfcodec=disabled -D directshow=disabled -D qsv=disabled
|
||||
|
||||
@ -296,6 +346,12 @@ aren't tested well enough, or the code is not of good enough quality.
|
||||
%install
|
||||
%meson_install
|
||||
|
||||
%if %{with opencv}
|
||||
# no pkgconfig file or GIR, nothing aside from the plugin uses the library
|
||||
rm -f $RPM_BUILD_ROOT%{_includedir}/gstreamer-%{majorminor}/gst/opencv/*
|
||||
rm -f $RPM_BUILD_ROOT%{_libdir}/libgstopencv-%{majorminor}.so
|
||||
%endif
|
||||
|
||||
# Register as an AppStream component to be visible in the software center
|
||||
#
|
||||
# NOTE: It would be *awesome* if this file was maintained by the upstream
|
||||
@ -346,6 +402,39 @@ cat > $RPM_BUILD_ROOT%{_metainfodir}/gstreamer-bad-free.appdata.xml <<EOF
|
||||
</component>
|
||||
EOF
|
||||
|
||||
%if %{with openh264}
|
||||
cat > $RPM_BUILD_ROOT%{_metainfodir}/gstreamer-openh264.appdata.xml <<EOF
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!-- Copyright 2015 Kalev Lember <klember@redhat.com> -->
|
||||
<component type="codec">
|
||||
<id>gstreamer-openh264</id>
|
||||
<metadata_license>CC0-1.0</metadata_license>
|
||||
<name>GStreamer Multimedia Codecs - H.264</name>
|
||||
<summary>Multimedia playback for H.264</summary>
|
||||
<description>
|
||||
<p>
|
||||
This addon includes a codec for H.264 playback and encoding.
|
||||
</p>
|
||||
<p>
|
||||
These codecs can be used to encode and decode media files where the
|
||||
format is not patent encumbered.
|
||||
</p>
|
||||
<p>
|
||||
A codec decodes audio and video for playback or editing and is also
|
||||
used for transmission or storage.
|
||||
Different codecs are used in video-conferencing, streaming media and
|
||||
video editing applications.
|
||||
</p>
|
||||
</description>
|
||||
<url type="homepage">http://gstreamer.freedesktop.org/</url>
|
||||
<url type="bugtracker">https://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer</url>
|
||||
<url type="help">http://gstreamer.freedesktop.org/documentation/</url>
|
||||
<url type="donation">http://www.gnome.org/friends/</url>
|
||||
<update_contact><!-- upstream-contact_at_email.com --></update_contact>
|
||||
</component>
|
||||
EOF
|
||||
%endif
|
||||
|
||||
%find_lang gst-plugins-bad-%{majorminor}
|
||||
|
||||
# unpackaged files
|
||||
@ -357,7 +446,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%license COPYING
|
||||
%doc AUTHORS NEWS README.md README.static-linking RELEASE REQUIREMENTS
|
||||
|
||||
%{_metainfodir}/*.appdata.xml
|
||||
%{_metainfodir}/gstreamer-bad-free.appdata.xml
|
||||
%{_bindir}/gst-transcoder-%{majorminor}
|
||||
|
||||
# presets
|
||||
@ -375,53 +464,6 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/file-extension/webm.gep
|
||||
%{_datadir}/gstreamer-%{majorminor}/encoding-profiles/online-services/youtube.gep
|
||||
|
||||
# opencv data
|
||||
#{_datadir}/gst-plugins-bad/%{majorminor}/opencv_haarcascades/
|
||||
|
||||
%{_libdir}/libgstadaptivedemux-%{majorminor}.so.*
|
||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.*
|
||||
%{_libdir}/libgstbadaudio-%{majorminor}.so.*
|
||||
%{_libdir}/libgstcodecparsers-%{majorminor}.so.*
|
||||
%{_libdir}/libgstcodecs-%{majorminor}.so.*
|
||||
%{_libdir}/libgstcuda-%{majorminor}.so.*
|
||||
%{_libdir}/libgstinsertbin-%{majorminor}.so.*
|
||||
%{_libdir}/libgstisoff-%{majorminor}.so.*
|
||||
%{_libdir}/libgstmpegts-%{majorminor}.so.*
|
||||
#{_libdir}/libgstopencv-%{majorminor}.so.*
|
||||
%{_libdir}/libgstplay-%{majorminor}.so.*
|
||||
%{_libdir}/libgstplayer-%{majorminor}.so.*
|
||||
%{_libdir}/libgstphotography-%{majorminor}.so.*
|
||||
%{_libdir}/libgstsctp-%{majorminor}.so.*
|
||||
%{_libdir}/libgsttranscoder-%{majorminor}.so.*
|
||||
%{_libdir}/libgsturidownloader-%{majorminor}.so.*
|
||||
%{_libdir}/libgstvulkan-%{majorminor}.so.*
|
||||
%if %{with extras}
|
||||
%{_libdir}/libgstva-%{majorminor}.so.*
|
||||
%endif
|
||||
%{_libdir}/libgstwebrtc-%{majorminor}.so.*
|
||||
%if %{with extras}
|
||||
%{_libdir}/libgstwebrtcnice-%{majorminor}.so.*
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%{_libdir}/libgstwayland-%{majorminor}.so.*
|
||||
%endif
|
||||
|
||||
%{_libdir}/girepository-1.0/CudaGst-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstBadAudio-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstCodecs-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstCuda-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstInsertBin-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstMpegts-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstPlay-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstPlayer-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstTranscoder-1.0.typelib
|
||||
%if %{with extras}
|
||||
%{_libdir}/girepository-1.0/GstVa-1.0.typelib
|
||||
%endif
|
||||
%{_libdir}/girepository-1.0/GstVulkan-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstVulkanWayland-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstWebRTC-1.0.typelib
|
||||
|
||||
# Plugins without external dependencies
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstaccurip.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstadpcmdec.so
|
||||
@ -441,14 +483,11 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstcoloreffects.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdash.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdvbsubenc.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdvbsuboverlay.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfaceoverlay.so
|
||||
%if %{with extras}
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfbdevsink.so
|
||||
%endif
|
||||
|
||||
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfdkaac.so
|
||||
%endif
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfestival.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfieldanalysis.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfreeverb.so
|
||||
@ -485,6 +524,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsdpelem.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsegmentclip.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstshm.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsiren.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsmooth.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsmoothstreaming.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstspeed.so
|
||||
@ -512,6 +552,9 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstclosedcaption.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstcolormanagement.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdtls.so
|
||||
%if 0%{?fedora} >= 31 || 0%{?rhel} >= 9
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstfdkaac.so
|
||||
%endif
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgsthls.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstgsm.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstgtkwayland.so
|
||||
@ -523,6 +566,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsndfile.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsoundtouch.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsrtp.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstva.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstvulkan.so
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstwaylandsink.so
|
||||
@ -544,13 +588,19 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
|
||||
%if %{with extras}
|
||||
%files extras
|
||||
# presets
|
||||
%{_datadir}/gstreamer-%{majorminor}/presets/GstVoAmrwbEnc.prs
|
||||
|
||||
# Plugins with external dependencies
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstaom.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstassrender.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstavtp.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstbs2b.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstchromaprint.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstcurl.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdecklink.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstdtsdec.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstflite.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstgme.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstkate.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstladspa.so
|
||||
@ -559,8 +609,8 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%endif
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstmicrodns.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstmodplug.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstmusepack.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenal.so
|
||||
#{_libdir}/gstreamer-%{majorminor}/libgstopencv.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenexr.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenjpeg.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstopenmpt.so
|
||||
@ -568,7 +618,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstspandsp.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstsrt.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstteletext.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstva.so
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstvoamrwbenc.so
|
||||
|
||||
%files zbar
|
||||
# Plugins with external dependencies
|
||||
@ -583,6 +633,62 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstwildmidi.so
|
||||
%endif
|
||||
|
||||
%if %{with opencv}
|
||||
%files opencv
|
||||
# Plugins with external dependencies
|
||||
%{_libdir}/gstreamer-%{majorminor}/libgstopencv.so
|
||||
%{_libdir}/libgstopencv-%{majorminor}.so.0{,.*}
|
||||
%endif
|
||||
|
||||
%if %{with openh264}
|
||||
%files -n gstreamer1-plugin-openh264
|
||||
%license COPYING
|
||||
%license ext/openh264/LICENSE
|
||||
%{_metainfodir}/gstreamer-openh264.appdata.xml
|
||||
%{_libdir}/gstreamer-1.0/libgstopenh264.so
|
||||
%endif
|
||||
|
||||
%files libs
|
||||
%license COPYING
|
||||
%{_libdir}/libgstadaptivedemux-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstbasecamerabinsrc-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstbadaudio-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstcodecparsers-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstcodecs-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstcuda-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstinsertbin-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstisoff-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstmpegts-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstplay-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstplayer-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstphotography-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstsctp-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgsttranscoder-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgsturidownloader-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstvulkan-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstva-%{majorminor}.so.0{,.*}
|
||||
%{_libdir}/libgstwebrtc-%{majorminor}.so.0{,.*}
|
||||
%if %{with extras}
|
||||
%{_libdir}/libgstwebrtcnice-%{majorminor}.so.0{,.*}
|
||||
%endif
|
||||
%if 0%{?fedora} || 0%{?rhel} > 7
|
||||
%{_libdir}/libgstwayland-%{majorminor}.so.0{,.*}
|
||||
%endif
|
||||
|
||||
%{_libdir}/girepository-1.0/CudaGst-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstBadAudio-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstCodecs-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstCuda-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstInsertBin-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstMpegts-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstPlay-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstPlayer-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstTranscoder-1.0.typelib
|
||||
%{_libdir}/girepository-1.0/GstVa-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
|
||||
|
||||
%files devel
|
||||
%if 0
|
||||
%doc %{_datadir}/gtk-doc/html/gst-plugins-bad-plugins-%{majorminor}
|
||||
@ -598,9 +704,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_datadir}/gir-1.0/GstPlay-%{majorminor}.gir
|
||||
%{_datadir}/gir-1.0/GstPlayer-%{majorminor}.gir
|
||||
%{_datadir}/gir-1.0/GstTranscoder-%{majorminor}.gir
|
||||
%if %{with extras}
|
||||
%{_datadir}/gir-1.0/GstVa-%{majorminor}.gir
|
||||
%endif
|
||||
%{_datadir}/gir-1.0/GstVulkan-%{majorminor}.gir
|
||||
%{_datadir}/gir-1.0/GstVulkanWayland-%{majorminor}.gir
|
||||
%{_datadir}/gir-1.0/GstWebRTC-%{majorminor}.gir
|
||||
@ -622,9 +726,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/libgsttranscoder-%{majorminor}.so
|
||||
%{_libdir}/libgsturidownloader-%{majorminor}.so
|
||||
%{_libdir}/libgstvulkan-%{majorminor}.so
|
||||
%if %{with extras}
|
||||
%{_libdir}/libgstva-%{majorminor}.so
|
||||
%endif
|
||||
%{_libdir}/libgstwebrtc-%{majorminor}.so
|
||||
%if %{with extras}
|
||||
%{_libdir}/libgstwebrtcnice-%{majorminor}.so
|
||||
@ -647,9 +749,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/sctp
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/transcoder
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/uridownloader
|
||||
%if %{with extras}
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/va/
|
||||
%endif
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/vulkan/
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/wayland/
|
||||
%{_includedir}/gstreamer-%{majorminor}/gst/webrtc/
|
||||
@ -666,9 +766,7 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
%{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-sctp-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-transcoder-%{majorminor}.pc
|
||||
%if %{with extras}
|
||||
%{_libdir}/pkgconfig/gstreamer-va-%{majorminor}.pc
|
||||
%endif
|
||||
%{_libdir}/pkgconfig/gstreamer-vulkan-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-vulkan-wayland-%{majorminor}.pc
|
||||
%{_libdir}/pkgconfig/gstreamer-wayland-%{majorminor}.pc
|
||||
@ -679,43 +777,163 @@ rm $RPM_BUILD_ROOT%{_bindir}/playout
|
||||
|
||||
|
||||
%changelog
|
||||
* Wed Jan 17 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.1-4
|
||||
- CVE-2023-40474: Integer overflow leading to heap overwrite in MXF
|
||||
- CVE-2023-40475: Integer overflow leading to heap overwrite in MXF
|
||||
- CVE-2023-40476: Integer overflow in H.265 video parser
|
||||
- ZDI-CAN-22300: buffer overflow vulnerability
|
||||
- Resolves: RHEL-19501, RHEL-19505, RHEL-19506, RHEL-20201
|
||||
* Tue Apr 30 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.22.12-1
|
||||
- 1.22.12
|
||||
|
||||
* Thu Jan 11 2024 Wim Taymans <wtaymans@redhat.com> - 1.22.1-3
|
||||
- Bump version
|
||||
- Resolves: RHEL-16795, RHEL-16788
|
||||
* Thu Apr 18 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.22.11-1
|
||||
- 1.22.11
|
||||
|
||||
* Tue Dec 12 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-2
|
||||
- Patch CVE-2023-44429: AV1 codec parser heap-based buffer overflow
|
||||
- Patch CVE-2023-44446: MXF demuxer use-after-free
|
||||
- Resolves: RHEL-17030, RHEL-17039
|
||||
* Thu Feb 08 2024 Kalev Lember <klember@redhat.com> - 1.22.9-3
|
||||
- Add gstreamer1-plugin-openh264 subpackage with the openh264 plugin
|
||||
|
||||
* Thu Apr 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-1
|
||||
* Tue Feb 06 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.9-2
|
||||
- Rebuilt for opencv-4.9.0
|
||||
|
||||
* Thu Jan 25 2024 Gwyn Ciesla <gwync@protonmail.com> - 1.22.9-1
|
||||
- 1.22.9
|
||||
|
||||
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.8-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Sat Jan 20 2024 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.8-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Mon Jan 08 2024 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.8-3
|
||||
- Backport of "va: fixes for Mesa driver"
|
||||
- Resolves: rhbz#2256693
|
||||
|
||||
* Wed Dec 20 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.8-2
|
||||
- Enable dvbsuboverlay and siren plugins
|
||||
- Enable avtp, dtsdec, and flite plugins in extras
|
||||
|
||||
* Mon Dec 18 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.8-1
|
||||
- 1.22.8
|
||||
|
||||
* Tue Nov 21 2023 Michael Catanzaro <mcatanzaro@redhat.com> - 1.22.7-2
|
||||
- Move gstva from extras into main package
|
||||
|
||||
* Tue Nov 14 2023 Gwyn Ciesla <gwync@protonmail.com> - 1.22.7-1
|
||||
- 1.22.7
|
||||
|
||||
* Fri Sep 22 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.5-2
|
||||
- Separate libs subpackage
|
||||
- Enable opencv as separate subpackage
|
||||
|
||||
* Fri Jul 21 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.5-1
|
||||
- Update to 1.22.5
|
||||
|
||||
* Thu Jul 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.22.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu May 25 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.3-1
|
||||
- Update to 1.22.3
|
||||
|
||||
* Sun May 21 2023 Sérgio Basto <sergio@serjux.com> - 1.22.2-4
|
||||
- Remove obsolete of plugins-bad-freeworld to workaround a dnf bug
|
||||
https://bugzilla.redhat.com/show_bug.cgi?id=1867376#c9
|
||||
|
||||
* Thu Apr 27 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.2-3
|
||||
- Fix migration of musepack and voamrwbenc to -bad-free-extras
|
||||
|
||||
* Mon Apr 24 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 1.22.2-2
|
||||
- Enable musepack and voamrwbenc in extras
|
||||
|
||||
* Thu Apr 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.2-1
|
||||
- Update to 1.22.2
|
||||
|
||||
* Mon Mar 13 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.1-1
|
||||
- Update to 1.22.1
|
||||
|
||||
* Mon Nov 07 2022 Tomas Popela <tpopela@redhat.com> - 1.18.4-6
|
||||
- Fix FTBFS by BR wayland-protocols-devel
|
||||
- Resolves: rhbz#2140540
|
||||
* Tue Jan 24 2023 Wim Taymans <wtaymans@redhat.com> - 1.22.0-1
|
||||
- Update to 1.22.0
|
||||
|
||||
* Mon Aug 09 2021 Mohan Boddu <mboddu@redhat.com>
|
||||
- Rebuilt for IMA sigs, glibc 2.34, aarch64 flags
|
||||
Related: rhbz#1991688
|
||||
* Fri Jan 20 2023 Wim Taymans <wtaymans@redhat.com> - 1.21.90-1
|
||||
- Update to 1.21.90
|
||||
|
||||
* Wed Jun 16 2021 Mohan Boddu <mboddu@redhat.com>
|
||||
- Rebuilt for RHEL 9 BETA for openssl 3.0
|
||||
Related: rhbz#1971065
|
||||
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
|
||||
|
||||
* Mon Jun 07 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-3
|
||||
- Apply vulkan multilib patch
|
||||
- Resolves: rhbz#1915341
|
||||
* Wed Jan 11 2023 Wim Taymans <wtaymans@redhat.com> - 1.20.5-1
|
||||
- Update to 1.20.5
|
||||
- Remove unwanted crypto dependencies.
|
||||
|
||||
* Fri Apr 16 2021 Mohan Boddu <mboddu@redhat.com>
|
||||
- Rebuilt for RHEL 9 BETA on Apr 15th 2021. Related: rhbz#1947937
|
||||
* Mon Nov 14 2022 Stephen Gallagher <sgallagh@redhat.com> - 1.20.4-2
|
||||
- Drop vdpau configure option
|
||||
- The libgstva plugin is now excluded from file listings when disabled
|
||||
- Resolves: rhbz#2141093
|
||||
|
||||
* Thu Oct 13 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.4-1
|
||||
- Update to 1.20.4
|
||||
|
||||
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.20.3-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
|
||||
|
||||
* Mon Jul 18 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.3-1
|
||||
- Update to 1.20.3
|
||||
|
||||
* Wed Jun 22 2022 Robert-André Mauchin <zebob.m@gmail.com> - 1.20.0-4
|
||||
- Rebuilt for new aom
|
||||
|
||||
* Sat Jun 18 2022 Scott Talbert <swt@techie.net> - 1.20.0-3
|
||||
- Rebuild for srt-1.5.0 (#2097636, #2098341)
|
||||
|
||||
* Fri May 20 2022 Sandro Mani <manisandro@gmail.com> - 1.20.0-2
|
||||
- Rebuild for gdal-3.5.0 and/or openjpeg-2.5.0
|
||||
|
||||
* Fri Feb 4 2022 Wim Taymans <wtaymans@redhat.com> - 1.20.0-1
|
||||
- Update to 1.20.0
|
||||
|
||||
* Thu Feb 03 2022 Scott Talbert <swt@techie.net> - 1.19.3-6
|
||||
- Enable rtmp2 plugin (#1915517)
|
||||
|
||||
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.3-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Mon Jan 10 2022 Scott Talbert <swt@techie.net> - 1.19.3-4
|
||||
- Fix GstPlayer with GstPlayerVideoOverlayVideoRenderer (#2035937)
|
||||
|
||||
* Mon Jan 10 2022 Scott Talbert <swt@techie.net> - 1.19.3-3
|
||||
- Add BR for wayland-protocols-devel to fix another FTBFS
|
||||
|
||||
* Mon Nov 22 2021 Scott Talbert <swt@techie.net> - 1.19.3-2
|
||||
- Fix FTBFS with meson 0.60.1 (#2025782)
|
||||
|
||||
* Thu Nov 11 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.3-1
|
||||
- Update to 1.19.3
|
||||
- Remove ofa plugin, is was removed
|
||||
|
||||
* Thu Sep 23 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.2-1
|
||||
- Update to 1.19.2
|
||||
|
||||
* Tue Sep 14 2021 Sahana Prasad <sahana@redhat.com> - 1.19.1-8
|
||||
- Rebuilt with OpenSSL 3.0.0
|
||||
|
||||
* Sat Aug 21 2021 Richard Shaw <hobbes1069@gmail.com> - 1.19.1-7
|
||||
- Rebuild for OpenEXR/Imath 3.1.
|
||||
|
||||
* Tue Aug 10 2021 Richard Shaw <hobbes1069@gmail.com> - 1.19.1-6
|
||||
- Rebuild for OpenEXR 3.
|
||||
|
||||
* Thu Jul 22 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.19.1-5
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
|
||||
|
||||
* Mon Jul 19 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.1-4
|
||||
- Enable sctp plugin
|
||||
|
||||
* Mon Jun 21 2021 Gwyn Ciesla <gwync@protonmail.com> - 1.19.1-3
|
||||
- Fluidsynth rebuild.
|
||||
|
||||
* Sun Jun 13 2021 Robert-André Mauchin <zebob.m@gmail.com> - 1.19.1-2
|
||||
- Rebuilt for aom v3.1.1
|
||||
|
||||
* Thu Jun 03 2021 Wim Taymans <wtaymans@redhat.com> - 1.19.1-1
|
||||
- Update to 1.19.1
|
||||
|
||||
* Wed May 26 2021 Nicolas Chauvet <kwizart@gmail.com> - 1.18.4-3
|
||||
- Rebuilt for srt
|
||||
|
||||
* Tue Apr 6 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-2
|
||||
- Add patch to fix multilib issues with vulkan (#1915341)
|
||||
|
||||
* Tue Mar 16 2021 Wim Taymans <wtaymans@redhat.com> - 1.18.4-1
|
||||
- Update to 1.18.4
|
||||
|
45
openh264-add-license-file.patch
Normal file
45
openh264-add-license-file.patch
Normal file
@ -0,0 +1,45 @@
|
||||
From b13e925daa574fb07aac0271f2b51c25ecb9d483 Mon Sep 17 00:00:00 2001
|
||||
From: Kalev Lember <klember@redhat.com>
|
||||
Date: Wed, 8 Nov 2023 14:41:14 +0100
|
||||
Subject: [PATCH 1/1] openh264: Add LICENSE file
|
||||
|
||||
The openh264 plugin is BSD-licensed, different from the rest of the
|
||||
gst-plugins-bad. This commit splits the license text out in its own file
|
||||
to make it easier for binary distributions to distribute the license
|
||||
text.
|
||||
---
|
||||
.../gst-plugins-bad/ext/openh264/LICENSE | 22 +++++++++++++++++++
|
||||
1 file changed, 22 insertions(+)
|
||||
create mode 100644 subprojects/gst-plugins-bad/ext/openh264/LICENSE
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/LICENSE b/subprojects/gst-plugins-bad/ext/openh264/LICENSE
|
||||
new file mode 100644
|
||||
index 00000000000..e57601b4fb6
|
||||
--- /dev/null
|
||||
+++ b/subprojects/gst-plugins-bad/ext/openh264/LICENSE
|
||||
@@ -0,0 +1,22 @@
|
||||
+Copyright (c) 2014, Ericsson AB. All rights reserved.
|
||||
+
|
||||
+Redistribution and use in source and binary forms, with or without modification,
|
||||
+are permitted provided that the following conditions are met:
|
||||
+
|
||||
+1. Redistributions of source code must retain the above copyright notice, this
|
||||
+list of conditions and the following disclaimer.
|
||||
+
|
||||
+2. Redistributions in binary form must reproduce the above copyright notice, this
|
||||
+list of conditions and the following disclaimer in the documentation and/or other
|
||||
+materials provided with the distribution.
|
||||
+
|
||||
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
+ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
+WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
+IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
+INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
+NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
+PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
+WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
+OF SUCH DAMAGE.
|
||||
--
|
||||
GitLab
|
||||
|
149
openh264-drop-runtime-version-checks.patch
Normal file
149
openh264-drop-runtime-version-checks.patch
Normal file
@ -0,0 +1,149 @@
|
||||
From 1dadccd48c97a4b7c96ae0307c2263107e7f1876 Mon Sep 17 00:00:00 2001
|
||||
From: Kalev Lember <klember@redhat.com>
|
||||
Date: Wed, 6 Dec 2023 14:58:38 +0100
|
||||
Subject: [PATCH] openh264: Drop runtime version checks
|
||||
|
||||
With the way the runtime checks are currently set up, every single
|
||||
openh264 release, no matter how minor, is considered an ABI break and
|
||||
requires gst-plugins-bad recompilation. This is unnecessarily strict
|
||||
because it doesn't allow downstream distributions to ship any openh264
|
||||
bug fix version updates without breaking gstreamer's openh264 support.
|
||||
|
||||
Years ago, at the time when gstreamer's openh264 support was merged,
|
||||
openh264 releases were done without a versioned soname (the library was
|
||||
just libopenh264.so, unversioned). Since then, starting with version
|
||||
1.3.0, openh264 has started using versioned sonames and the intent has
|
||||
been to bump the soname every time there's a new release with an ABI
|
||||
change.
|
||||
|
||||
This patch drops the strict version check. meson.build already has a
|
||||
minimum requirement on openh264 version 1.3.0 where soname versioning
|
||||
was added, which should be good enough to ensure that the library is
|
||||
using soname versioning.
|
||||
|
||||
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5780>
|
||||
---
|
||||
.../ext/openh264/gstopenh264dec.cpp | 7 +--
|
||||
.../ext/openh264/gstopenh264element.c | 48 -------------------
|
||||
.../ext/openh264/gstopenh264elements.h | 2 -
|
||||
.../ext/openh264/gstopenh264enc.cpp | 7 +--
|
||||
.../gst-plugins-bad/ext/openh264/meson.build | 1 -
|
||||
5 files changed, 4 insertions(+), 61 deletions(-)
|
||||
delete mode 100644 subprojects/gst-plugins-bad/ext/openh264/gstopenh264element.c
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264dec.cpp b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264dec.cpp
|
||||
index 77f2b8fe348..f3302567c7b 100644
|
||||
--- a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264dec.cpp
|
||||
+++ b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264dec.cpp
|
||||
@@ -459,10 +459,7 @@ openh264dec_element_init (GstPlugin * plugin)
|
||||
{
|
||||
GST_DEBUG_CATEGORY_INIT (gst_openh264dec_debug_category, "openh264dec", 0,
|
||||
"debug category for openh264dec element");
|
||||
- if (openh264_element_init (plugin))
|
||||
- return gst_element_register (plugin, "openh264dec", GST_RANK_MARGINAL,
|
||||
- GST_TYPE_OPENH264DEC);
|
||||
|
||||
- GST_ERROR ("Incorrect library version loaded, expecting %s", g_strCodecVer);
|
||||
- return FALSE;
|
||||
+ return gst_element_register (plugin, "openh264dec", GST_RANK_MARGINAL,
|
||||
+ GST_TYPE_OPENH264DEC);
|
||||
}
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264element.c b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264element.c
|
||||
deleted file mode 100644
|
||||
index 3c5c378c81e..00000000000
|
||||
--- a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264element.c
|
||||
+++ /dev/null
|
||||
@@ -1,48 +0,0 @@
|
||||
-/*
|
||||
- * Copyright (c) 2014, Ericsson AB. All rights reserved.
|
||||
- *
|
||||
- * Redistribution and use in source and binary forms, with or without modification,
|
||||
- * are permitted provided that the following conditions are met:
|
||||
- *
|
||||
- * 1. Redistributions of source code must retain the above copyright notice, this
|
||||
- * list of conditions and the following disclaimer.
|
||||
- *
|
||||
- * 2. Redistributions in binary form must reproduce the above copyright notice, this
|
||||
- * list of conditions and the following disclaimer in the documentation and/or other
|
||||
- * materials provided with the distribution.
|
||||
- *
|
||||
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
- * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
|
||||
- * IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||
- * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
|
||||
- * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
|
||||
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
|
||||
- * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY
|
||||
- * OF SUCH DAMAGE.
|
||||
- */
|
||||
-
|
||||
-#ifdef HAVE_CONFIG_H
|
||||
-#include <config.h>
|
||||
-#endif
|
||||
-
|
||||
-#include <gst/gst.h>
|
||||
-#include <wels/codec_api.h>
|
||||
-#include <wels/codec_ver.h>
|
||||
-#include <string.h>
|
||||
-#include "gstopenh264elements.h"
|
||||
-
|
||||
-
|
||||
-gboolean
|
||||
-openh264_element_init (GstPlugin * plugin)
|
||||
-{
|
||||
- OpenH264Version libver;
|
||||
- /* g_stCodecVersion is the version detected at build time as defined in the
|
||||
- * headers and WelsGetCodecVersion() is the version detected at runtime.
|
||||
- * This is a safeguard to avoid crashes since OpenH264 has been changing
|
||||
- * ABI without changing the SONAME.
|
||||
- */
|
||||
- libver = WelsGetCodecVersion ();
|
||||
- return (memcmp (&libver, &g_stCodecVersion, sizeof (libver)) == 0);
|
||||
-}
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264elements.h b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264elements.h
|
||||
index 572f6a8e078..5c9582941ee 100644
|
||||
--- a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264elements.h
|
||||
+++ b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264elements.h
|
||||
@@ -27,8 +27,6 @@
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
-gboolean openh264_element_init (GstPlugin * plugin);
|
||||
-
|
||||
GST_ELEMENT_REGISTER_DECLARE (openh264dec);
|
||||
GST_ELEMENT_REGISTER_DECLARE (openh264enc);
|
||||
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264enc.cpp b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264enc.cpp
|
||||
index 6b54b1584f8..05c126cfc64 100644
|
||||
--- a/subprojects/gst-plugins-bad/ext/openh264/gstopenh264enc.cpp
|
||||
+++ b/subprojects/gst-plugins-bad/ext/openh264/gstopenh264enc.cpp
|
||||
@@ -1066,10 +1066,7 @@ openh264enc_element_init (GstPlugin * plugin)
|
||||
{
|
||||
GST_DEBUG_CATEGORY_INIT (gst_openh264enc_debug_category, "openh264enc", 0,
|
||||
"debug category for openh264enc element");
|
||||
- if (openh264_element_init (plugin))
|
||||
- return gst_element_register (plugin, "openh264enc", GST_RANK_MARGINAL,
|
||||
- GST_TYPE_OPENH264ENC);
|
||||
|
||||
- GST_ERROR ("Incorrect library version loaded, expecting %s", g_strCodecVer);
|
||||
- return FALSE;
|
||||
+ return gst_element_register (plugin, "openh264enc", GST_RANK_MARGINAL,
|
||||
+ GST_TYPE_OPENH264ENC);
|
||||
}
|
||||
diff --git a/subprojects/gst-plugins-bad/ext/openh264/meson.build b/subprojects/gst-plugins-bad/ext/openh264/meson.build
|
||||
index 1f0a198b05e..c6f247e1cdd 100644
|
||||
--- a/subprojects/gst-plugins-bad/ext/openh264/meson.build
|
||||
+++ b/subprojects/gst-plugins-bad/ext/openh264/meson.build
|
||||
@@ -1,7 +1,6 @@
|
||||
openh264_sources = [
|
||||
'gstopenh264dec.cpp',
|
||||
'gstopenh264enc.cpp',
|
||||
- 'gstopenh264element.c',
|
||||
'gstopenh264plugin.c',
|
||||
]
|
||||
|
||||
--
|
||||
GitLab
|
||||
|
2
sources
2
sources
@ -1 +1 @@
|
||||
SHA512 (gst-plugins-bad-free-1.22.1.tar.xz) = c3d120d5e4b98d806e97e3d42270d8848c1de4d5209e2bf33fa44557c937b34418a7baedae2d160ce2be3a8657570229a65df3d4901257cb33c9f2e1b5f1b59b
|
||||
SHA512 (gst-plugins-bad-free-1.22.12.tar.xz) = 791a35edcfbf3ac6e4442ff0cf43f41edd547ebeeafa33771c365345dd04319453bea7a0a3d706a665e7e5c579d45072b182cfecae5595c25064653745e96972
|
||||
|
Loading…
Reference in New Issue
Block a user