tsmux: Fix default get_es_descrs_func
authorJan Alexander Steffens (heftig) <jan.steffens@ltnglobal.com>
Tue, 10 Oct 2023 08:39:55 +0000 (10:39 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 20 Oct 2023 08:53:19 +0000 (08:53 +0000)
`tsmux_stream_default_get_es_descrs` is missing the `user_data`
parameter and shouldn't be cast to `TsMuxStreamGetESDescriptorsFunc`.

Prefer not casting at all to make sure we don't miss such an issue.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5516>

subprojects/gst-plugins-bad/gst/mpegtsmux/gstatscmux.c
subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.c
subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmuxstream.h

index da2e4b5..296b6c8 100644 (file)
@@ -145,8 +145,7 @@ gst_atsc_mux_create_new_stream (guint16 new_pid, TsMuxStreamType stream_type,
   }
 
   tsmux_stream_set_get_es_descriptors_func (ret,
-      (TsMuxStreamGetESDescriptorsFunc) gst_atsc_mux_stream_get_es_descrs,
-      user_data);
+      gst_atsc_mux_stream_get_es_descrs, user_data);
 
   return ret;
 }
index 04dafa0..7879e58 100644 (file)
@@ -96,6 +96,13 @@ struct TsMuxStreamBuffer
   void *user_data;
 };
 
+static void
+tsmux_stream_get_es_descrs_default (TsMuxStream * stream,
+    GstMpegtsPMTStream * pmt_stream, gpointer user_data)
+{
+  tsmux_stream_default_get_es_descrs (stream, pmt_stream);
+}
+
 /**
  * tsmux_stream_new:
  * @pid: a PID
@@ -217,8 +224,7 @@ tsmux_stream_new (guint16 pid, guint stream_type)
   stream->pcr_ref = 0;
   stream->next_pcr = -1;
 
-  stream->get_es_descrs =
-      (TsMuxStreamGetESDescriptorsFunc) tsmux_stream_default_get_es_descrs;
+  stream->get_es_descrs = tsmux_stream_get_es_descrs_default;
   stream->get_es_descrs_data = NULL;
 
   return stream;
index 9539029..3ee2ee3 100644 (file)
@@ -76,7 +76,7 @@ typedef enum TsMuxStreamState TsMuxStreamState;
 typedef struct TsMuxStreamBuffer TsMuxStreamBuffer;
 
 typedef void (*TsMuxStreamBufferReleaseFunc) (guint8 *data, void *user_data);
-typedef void (*TsMuxStreamGetESDescriptorsFunc) (TsMuxStream *stream, GstMpegtsPMTStream *pmt_stream, void *user_data);
+typedef void (*TsMuxStreamGetESDescriptorsFunc) (TsMuxStream *stream, GstMpegtsPMTStream *pmt_stream, gpointer user_data);
 
 /* Stream type assignments
  *