static void
gst_atsc_mux_stream_get_es_descrs (TsMuxStream * stream,
- GstMpegtsPMTStream * pmt_stream, GstBaseTsMux * mpegtsmux)
+ GstMpegtsPMTStream * pmt_stream, gpointer user_data)
{
GstMpegtsDescriptor *descriptor;
}
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);
tsmux_stream_set_get_es_descriptors_func (ret,
(TsMuxStreamGetESDescriptorsFunc) gst_atsc_mux_stream_get_es_descrs,
- mpegtsmux);
+ user_data);
return ret;
}
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;
}
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:
*
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;
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;