mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-26 19:51:11 +00:00
tsmux: Fix default new_stream_func
`tsmux_stream_new` is missing the `user_data` parameter and shouldn't be cast to `TsMuxNewStreamFunc`. 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/5496>
This commit is contained in:
parent
5bac956b58
commit
2d72008361
3 changed files with 14 additions and 8 deletions
|
@ -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;
|
||||
|
||||
|
@ -291,8 +291,8 @@ gst_atsc_mux_stream_get_es_descrs (TsMuxStream * stream,
|
|||
}
|
||||
|
||||
static TsMuxStream *
|
||||
gst_atsc_mux_create_new_stream (guint16 new_pid,
|
||||
TsMuxStreamType stream_type, guint stream_number, GstBaseTsMux * mpegtsmux)
|
||||
gst_atsc_mux_create_new_stream (guint16 new_pid, TsMuxStreamType stream_type,
|
||||
guint stream_number, gpointer user_data)
|
||||
{
|
||||
TsMuxStream *ret = tsmux_stream_new (new_pid, stream_type, stream_number);
|
||||
|
||||
|
@ -307,7 +307,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;
|
||||
}
|
||||
|
@ -335,8 +335,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;
|
||||
}
|
||||
|
|
|
@ -116,6 +116,13 @@ tsmux_section_free (TsMuxSection * section)
|
|||
g_free (section);
|
||||
}
|
||||
|
||||
static TsMuxStream *
|
||||
tsmux_new_stream_default (guint16 pid, guint stream_type, guint stream_number,
|
||||
gpointer user_data)
|
||||
{
|
||||
return tsmux_stream_new (pid, stream_type, stream_number);
|
||||
}
|
||||
|
||||
/**
|
||||
* tsmux_new:
|
||||
*
|
||||
|
@ -150,7 +157,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;
|
||||
|
|
|
@ -84,7 +84,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, guint stream_number, void *user_data);
|
||||
typedef TsMuxStream * (*TsMuxNewStreamFunc) (guint16 new_pid, guint stream_type, guint stream_number, gpointer user_data);
|
||||
|
||||
struct TsMuxSection {
|
||||
TsMuxPacketInfo pi;
|
||||
|
|
Loading…
Reference in a new issue