-base: fix for now request pad API

This commit is contained in:
Wim Taymans 2011-05-10 16:44:37 +02:00
parent 995fe2fedc
commit 7cad11e912
8 changed files with 25 additions and 20 deletions

View file

@ -116,7 +116,7 @@ static GstFlowReturn
gst_ogg_mux_collected (GstCollectPads * pads, GstOggMux * ogg_mux); gst_ogg_mux_collected (GstCollectPads * pads, GstOggMux * ogg_mux);
static gboolean gst_ogg_mux_handle_src_event (GstPad * pad, GstEvent * event); static gboolean gst_ogg_mux_handle_src_event (GstPad * pad, GstEvent * event);
static GstPad *gst_ogg_mux_request_new_pad (GstElement * element, static GstPad *gst_ogg_mux_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name); GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void gst_ogg_mux_release_pad (GstElement * element, GstPad * pad); static void gst_ogg_mux_release_pad (GstElement * element, GstPad * pad);
static void gst_ogg_mux_set_property (GObject * object, static void gst_ogg_mux_set_property (GObject * object,
@ -349,7 +349,7 @@ gst_ogg_mux_generate_serialno (GstOggMux * ogg_mux)
static GstPad * static GstPad *
gst_ogg_mux_request_new_pad (GstElement * element, gst_ogg_mux_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * req_name) GstPadTemplate * templ, const gchar * req_name, const GstCaps * caps)
{ {
GstOggMux *ogg_mux; GstOggMux *ogg_mux;
GstPad *newpad; GstPad *newpad;

View file

@ -131,7 +131,7 @@ static gboolean gst_adder_src_event (GstPad * pad, GstEvent * event);
static gboolean gst_adder_sink_event (GstPad * pad, GstEvent * event); static gboolean gst_adder_sink_event (GstPad * pad, GstEvent * event);
static GstPad *gst_adder_request_new_pad (GstElement * element, static GstPad *gst_adder_request_new_pad (GstElement * element,
GstPadTemplate * temp, const gchar * unused); GstPadTemplate * temp, const gchar * unused, const GstCaps * caps);
static void gst_adder_release_pad (GstElement * element, GstPad * pad); static void gst_adder_release_pad (GstElement * element, GstPad * pad);
static GstStateChangeReturn gst_adder_change_state (GstElement * element, static GstStateChangeReturn gst_adder_change_state (GstElement * element,
@ -958,7 +958,7 @@ gst_adder_get_property (GObject * object, guint prop_id, GValue * value,
static GstPad * static GstPad *
gst_adder_request_new_pad (GstElement * element, GstPadTemplate * templ, gst_adder_request_new_pad (GstElement * element, GstPadTemplate * templ,
const gchar * unused) const gchar * unused, const GstCaps * caps)
{ {
gchar *name; gchar *name;
GstAdder *adder; GstAdder *adder;

View file

@ -368,7 +368,7 @@ gst_encode_bin_class_init (GstEncodeBinClass * klass)
gstelement_klass->change_state = gstelement_klass->change_state =
GST_DEBUG_FUNCPTR (gst_encode_bin_change_state); GST_DEBUG_FUNCPTR (gst_encode_bin_change_state);
gstelement_klass->request_new_pad_full = gstelement_klass->request_new_pad =
GST_DEBUG_FUNCPTR (gst_encode_bin_request_new_pad); GST_DEBUG_FUNCPTR (gst_encode_bin_request_new_pad);
gstelement_klass->release_pad = gstelement_klass->release_pad =
GST_DEBUG_FUNCPTR (gst_encode_bin_release_pad); GST_DEBUG_FUNCPTR (gst_encode_bin_release_pad);
@ -820,7 +820,7 @@ beach:
static GstPad * static GstPad *
local_element_request_pad (GstElement * element, GstPadTemplate * templ, local_element_request_pad (GstElement * element, GstPadTemplate * templ,
const gchar * name) const gchar * name, const GstCaps * caps)
{ {
GstPad *newpad = NULL; GstPad *newpad = NULL;
GstElementClass *oclass; GstElementClass *oclass;
@ -828,7 +828,7 @@ local_element_request_pad (GstElement * element, GstPadTemplate * templ,
oclass = GST_ELEMENT_GET_CLASS (element); oclass = GST_ELEMENT_GET_CLASS (element);
if (oclass->request_new_pad) if (oclass->request_new_pad)
newpad = (oclass->request_new_pad) (element, templ, name); newpad = (oclass->request_new_pad) (element, templ, name, caps);
if (newpad) if (newpad)
gst_object_ref (newpad); gst_object_ref (newpad);
@ -1095,7 +1095,8 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
/* Path 1 : Already-encoded data */ /* Path 1 : Already-encoded data */
sinkpad = sinkpad =
local_element_request_pad (sgroup->combiner, NULL, "passthroughsink"); local_element_request_pad (sgroup->combiner, NULL, "passthroughsink",
NULL);
if (G_UNLIKELY (sinkpad == NULL)) if (G_UNLIKELY (sinkpad == NULL))
goto no_combiner_sinkpad; goto no_combiner_sinkpad;
@ -1122,7 +1123,9 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
g_object_unref (srcpad); g_object_unref (srcpad);
} }
srcpad = local_element_request_pad (sgroup->splitter, NULL, "passthroughsrc"); srcpad =
local_element_request_pad (sgroup->splitter, NULL, "passthroughsrc",
NULL);
if (G_UNLIKELY (srcpad == NULL)) if (G_UNLIKELY (srcpad == NULL))
goto no_splitter_srcpad; goto no_splitter_srcpad;
@ -1141,7 +1144,8 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
gst_bin_add ((GstBin *) ebin, sgroup->encoder); gst_bin_add ((GstBin *) ebin, sgroup->encoder);
tosync = g_list_append (tosync, sgroup->encoder); tosync = g_list_append (tosync, sgroup->encoder);
sinkpad = local_element_request_pad (sgroup->combiner, NULL, "encodingsink"); sinkpad =
local_element_request_pad (sgroup->combiner, NULL, "encodingsink", NULL);
if (G_UNLIKELY (sinkpad == NULL)) if (G_UNLIKELY (sinkpad == NULL))
goto no_combiner_sinkpad; goto no_combiner_sinkpad;
srcpad = gst_element_get_static_pad (sgroup->encoder, "src"); srcpad = gst_element_get_static_pad (sgroup->encoder, "src");
@ -1235,7 +1239,8 @@ _create_stream_group (GstEncodeBin * ebin, GstEncodingProfile * sprof,
/* Link to stream splitter */ /* Link to stream splitter */
sinkpad = gst_element_get_static_pad (last, "sink"); sinkpad = gst_element_get_static_pad (last, "sink");
srcpad = local_element_request_pad (sgroup->splitter, NULL, "encodingsrc"); srcpad =
local_element_request_pad (sgroup->splitter, NULL, "encodingsrc", NULL);
if (G_UNLIKELY (srcpad == NULL)) if (G_UNLIKELY (srcpad == NULL))
goto no_splitter_srcpad; goto no_splitter_srcpad;
if (G_UNLIKELY (fast_pad_link (srcpad, sinkpad) != GST_PAD_LINK_OK)) if (G_UNLIKELY (fast_pad_link (srcpad, sinkpad) != GST_PAD_LINK_OK))

View file

@ -44,7 +44,7 @@ G_DEFINE_TYPE (GstStreamCombiner, gst_stream_combiner, GST_TYPE_ELEMENT);
static void gst_stream_combiner_dispose (GObject * object); static void gst_stream_combiner_dispose (GObject * object);
static GstPad *gst_stream_combiner_request_new_pad (GstElement * element, static GstPad *gst_stream_combiner_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name); GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void gst_stream_combiner_release_pad (GstElement * element, static void gst_stream_combiner_release_pad (GstElement * element,
GstPad * pad); GstPad * pad);
@ -217,7 +217,7 @@ gst_stream_combiner_init (GstStreamCombiner * stream_combiner)
static GstPad * static GstPad *
gst_stream_combiner_request_new_pad (GstElement * element, gst_stream_combiner_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name) GstPadTemplate * templ, const gchar * name, const GstCaps * caps)
{ {
GstStreamCombiner *stream_combiner = (GstStreamCombiner *) element; GstStreamCombiner *stream_combiner = (GstStreamCombiner *) element;
GstPad *sinkpad; GstPad *sinkpad;

View file

@ -44,7 +44,7 @@ G_DEFINE_TYPE (GstStreamSplitter, gst_stream_splitter, GST_TYPE_ELEMENT);
static void gst_stream_splitter_dispose (GObject * object); static void gst_stream_splitter_dispose (GObject * object);
static GstPad *gst_stream_splitter_request_new_pad (GstElement * element, static GstPad *gst_stream_splitter_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name); GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void gst_stream_splitter_release_pad (GstElement * element, static void gst_stream_splitter_release_pad (GstElement * element,
GstPad * pad); GstPad * pad);
@ -387,7 +387,7 @@ gst_stream_splitter_init (GstStreamSplitter * stream_splitter)
static GstPad * static GstPad *
gst_stream_splitter_request_new_pad (GstElement * element, gst_stream_splitter_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name) GstPadTemplate * templ, const gchar * name, const GstCaps * caps)
{ {
GstStreamSplitter *stream_splitter = (GstStreamSplitter *) element; GstStreamSplitter *stream_splitter = (GstStreamSplitter *) element;
GstPad *srcpad; GstPad *srcpad;

View file

@ -245,7 +245,7 @@ static void gst_play_sink_get_property (GObject * object, guint prop_id,
GValue * value, GParamSpec * spec); GValue * value, GParamSpec * spec);
static GstPad *gst_play_sink_request_new_pad (GstElement * element, static GstPad *gst_play_sink_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * name); GstPadTemplate * templ, const gchar * name, const GstCaps * caps);
static void gst_play_sink_release_request_pad (GstElement * element, static void gst_play_sink_release_request_pad (GstElement * element,
GstPad * pad); GstPad * pad);
static gboolean gst_play_sink_send_event (GstElement * element, static gboolean gst_play_sink_send_event (GstElement * element,
@ -2979,7 +2979,7 @@ gst_play_sink_request_pad (GstPlaySink * playsink, GstPlaySinkType type)
static GstPad * static GstPad *
gst_play_sink_request_new_pad (GstElement * element, GstPadTemplate * templ, gst_play_sink_request_new_pad (GstElement * element, GstPadTemplate * templ,
const gchar * name) const gchar * name, const GstCaps * caps)
{ {
GstPlaySink *psink; GstPlaySink *psink;
GstPad *pad; GstPad *pad;

View file

@ -376,7 +376,7 @@ static void gst_stream_selector_get_property (GObject * object,
guint prop_id, GValue * value, GParamSpec * pspec); guint prop_id, GValue * value, GParamSpec * pspec);
static GstPad *gst_stream_selector_request_new_pad (GstElement * element, static GstPad *gst_stream_selector_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * unused); GstPadTemplate * templ, const gchar * unused, const GstCaps * caps);
static void gst_stream_selector_release_pad (GstElement * element, static void gst_stream_selector_release_pad (GstElement * element,
GstPad * pad); GstPad * pad);
static GstIterator *gst_stream_selector_pad_iterate_linked_pads (GstPad * pad); static GstIterator *gst_stream_selector_pad_iterate_linked_pads (GstPad * pad);
@ -652,7 +652,7 @@ gst_stream_selector_pad_iterate_linked_pads (GstPad * pad)
static GstPad * static GstPad *
gst_stream_selector_request_new_pad (GstElement * element, gst_stream_selector_request_new_pad (GstElement * element,
GstPadTemplate * templ, const gchar * unused) GstPadTemplate * templ, const gchar * unused, const GstCaps * caps)
{ {
GstStreamSelector *sel; GstStreamSelector *sel;
gchar *name = NULL; gchar *name = NULL;

View file

@ -681,7 +681,7 @@ done:
/* GstElement vfuncs */ /* GstElement vfuncs */
static GstPad * static GstPad *
gst_stream_synchronizer_request_new_pad (GstElement * element, gst_stream_synchronizer_request_new_pad (GstElement * element,
GstPadTemplate * temp, const gchar * name) GstPadTemplate * temp, const gchar * name, const GstCaps * caps)
{ {
GstStreamSynchronizer *self = GST_STREAM_SYNCHRONIZER (element); GstStreamSynchronizer *self = GST_STREAM_SYNCHRONIZER (element);
GstStream *stream; GstStream *stream;