From 853178894e8d39b98c36fd0e7c56933cb098e75a Mon Sep 17 00:00:00 2001 From: "Jan Alexander Steffens (heftig)" Date: Mon, 10 Jan 2022 13:03:11 +0100 Subject: [PATCH] tsmux: Remove program_array_index It's only used for removal. Let's just scan the array. Part-of: --- .../gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c | 19 +++---------------- .../gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c | 1 - .../gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h | 2 -- 3 files changed, 3 insertions(+), 19 deletions(-) diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c index 629717c..a3161c9 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c @@ -612,8 +612,6 @@ tsmux_program_add_stream (TsMuxProgram * program, TsMuxStream * stream) g_return_if_fail (program != NULL); g_return_if_fail (stream != NULL); - stream->program_array_index = program->streams->len; - g_ptr_array_add (program->streams, stream); program->pmt_changed = TRUE; } @@ -746,21 +744,10 @@ static gboolean tsmux_program_remove_stream (TsMuxProgram * program, TsMuxStream * stream) { GPtrArray *streams = program->streams; - TsMuxStream *s; - gint i; - - i = stream->program_array_index; - g_return_val_if_fail (i >= 0, FALSE); - - s = g_ptr_array_index (streams, i); - g_return_val_if_fail (s == stream, FALSE); - g_ptr_array_remove_index (streams, i); - - /* Correct indices of remaining streams, if any */ - for (; i < streams->len; i++) { - s = g_ptr_array_index (streams, i); - s->program_array_index -= 1; + if (!g_ptr_array_remove (streams, stream)) { + g_warn_if_reached (); + return FALSE; } return streams->len == 0; diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c index 87ec8b7..151ad83 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c @@ -117,7 +117,6 @@ tsmux_stream_new (guint16 pid, guint stream_type) stream->pes_payload_size = 0; stream->cur_pes_payload_size = 0; stream->pes_bytes_written = 0; - stream->program_array_index = -1; switch (stream_type) { case TSMUX_ST_VIDEO_MPEG1: diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h index 7a9bd94..6bdcde8 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h @@ -150,8 +150,6 @@ struct TsMuxStream { guint8 id; /* extended stream id (13818-1 Amdt 2) */ guint8 id_extended; - /* array index in program array */ - gint program_array_index; gboolean is_video_stream; -- 2.7.4