diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/gstatscmux.c b/subprojects/gst-plugins-bad/gst/mpegtsmux/gstatscmux.c index 88ced1f992..da2e4b5eee 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/gstatscmux.c +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/gstatscmux.c @@ -61,7 +61,7 @@ static GstStaticPadTemplate gst_atsc_mux_sink_factory = static void gst_atsc_mux_stream_get_es_descrs (TsMuxStream * stream, - GstMpegtsPMTStream * pmt_stream, GstBaseTsMux * mpegtsmux) + GstMpegtsPMTStream * pmt_stream, gpointer user_data) { GstMpegtsDescriptor *descriptor; @@ -130,8 +130,8 @@ gst_atsc_mux_stream_get_es_descrs (TsMuxStream * stream, } static TsMuxStream * -gst_atsc_mux_create_new_stream (guint16 new_pid, - TsMuxStreamType stream_type, GstBaseTsMux * mpegtsmux) +gst_atsc_mux_create_new_stream (guint16 new_pid, TsMuxStreamType stream_type, + gpointer user_data) { TsMuxStream *ret = tsmux_stream_new (new_pid, stream_type); @@ -146,7 +146,7 @@ gst_atsc_mux_create_new_stream (guint16 new_pid, tsmux_stream_set_get_es_descriptors_func (ret, (TsMuxStreamGetESDescriptorsFunc) gst_atsc_mux_stream_get_es_descrs, - mpegtsmux); + user_data); return ret; } @@ -174,8 +174,7 @@ gst_atsc_mux_create_ts_mux (GstBaseTsMux * mpegtsmux) section = gst_mpegts_section_from_atsc_rrt (rrt); tsmux_add_mpegts_si_section (ret, section); - tsmux_set_new_stream_func (ret, - (TsMuxNewStreamFunc) gst_atsc_mux_create_new_stream, mpegtsmux); + tsmux_set_new_stream_func (ret, gst_atsc_mux_create_new_stream, mpegtsmux); return ret; } diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c index 6ab7170859..143145cbce 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.c @@ -116,6 +116,12 @@ tsmux_section_free (TsMuxSection * section) g_slice_free (TsMuxSection, section); } +static TsMuxStream * +tsmux_new_stream_default (guint16 pid, guint stream_type, gpointer user_data) +{ + return tsmux_stream_new (pid, stream_type); +} + /** * tsmux_new: * @@ -150,7 +156,7 @@ tsmux_new (void) mux->si_sections = g_hash_table_new_full (g_direct_hash, g_direct_equal, NULL, (GDestroyNotify) tsmux_section_free); - mux->new_stream_func = (TsMuxNewStreamFunc) tsmux_stream_new; + mux->new_stream_func = tsmux_new_stream_default; mux->new_stream_data = NULL; mux->first_pcr_ts = G_MININT64; diff --git a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.h b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.h index 18490fc1fa..5f0334a693 100644 --- a/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.h +++ b/subprojects/gst-plugins-bad/gst/mpegtsmux/tsmux/tsmux.h @@ -86,7 +86,7 @@ typedef struct TsMux TsMux; typedef gboolean (*TsMuxWriteFunc) (GstBuffer * buf, void *user_data, gint64 new_pcr); typedef void (*TsMuxAllocFunc) (GstBuffer ** buf, void *user_data); -typedef TsMuxStream * (*TsMuxNewStreamFunc) (guint16 new_pid, guint stream_type, void *user_data); +typedef TsMuxStream * (*TsMuxNewStreamFunc) (guint16 new_pid, guint stream_type, gpointer user_data); struct TsMuxSection { TsMuxPacketInfo pi;