+2008-05-21 Wim Taymans <wim.taymans@collabora.co.uk>
+
+ * ext/ogg/gstoggdemux.c: (gst_ogg_pad_typefind):
+ * gst/playback/decodetest.c: (new_decoded_pad_cb):
+ * gst/playback/gstdecodebin.c: (gst_decode_bin_init),
+ (try_to_link_1), (elem_is_dynamic), (close_link), (type_found),
+ (cleanup_decodebin):
+ * gst/playback/gstdecodebin2.c: (gst_decode_bin_init),
+ (connect_element), (gst_decode_group_control_demuxer_pad):
+ * gst/playback/gstplaybasebin.c: (queue_remove_probe),
+ (queue_out_of_data), (gen_preroll_element), (preroll_unlinked),
+ (mute_group_type):
+ * gst/playback/gstplaybin.c: (gst_play_bin_vis_blocked),
+ (gst_play_bin_set_property), (handoff), (gen_video_element),
+ (gen_text_element), (gen_audio_element), (gen_vis_element),
+ (remove_sinks), (add_sink), (setup_sinks):
+ * gst/playback/gstplaybin2.c: (pad_added_cb), (no_more_pads_cb):
+ * gst/playback/gstplaysink.c: (gst_play_sink_get_video_sink),
+ (gst_play_sink_get_audio_sink), (gst_play_sink_vis_unblocked),
+ (gst_play_sink_vis_blocked), (gst_play_sink_set_vis_plugin),
+ (gst_play_sink_get_vis_plugin), (gst_play_sink_set_mute),
+ (gen_video_chain), (gen_text_chain), (gen_audio_chain),
+ (gen_vis_chain), (gst_play_sink_reconfigure),
+ (gst_play_sink_set_font_desc), (gst_play_sink_get_font_desc),
+ (gst_play_sink_request_pad):
+ * gst/playback/gsturidecodebin.c: (type_found), (setup_source):
+ * gst/playback/test.c: (gen_video_element), (gen_audio_element),
+ (cb_newpad):
+ * gst/playback/test6.c: (new_decoded_pad_cb):
+ * tests/check/elements/audioconvert.c: (GST_START_TEST):
+ * tests/check/elements/audiorate.c: (test_injector_chain),
+ (do_perfect_stream_test):
+ * tests/check/elements/ffmpegcolorspace.c: (GST_START_TEST):
+ * tests/check/elements/gdpdepay.c: (GST_START_TEST):
+ * tests/check/elements/gnomevfssink.c:
+ * tests/check/elements/textoverlay.c:
+ (notgst_check_setup_src_pad2), (notgst_check_teardown_src_pad2):
+ * tests/check/elements/videotestsrc.c: (GST_START_TEST):
+ * tests/check/libs/cddabasesrc.c: (GST_START_TEST):
+ * tests/check/pipelines/oggmux.c: (test_pipeline):
+ * tests/check/pipelines/streamheader.c: (GST_START_TEST):
+ * tests/check/pipelines/theoraenc.c: (GST_START_TEST):
+ * tests/check/pipelines/vorbisenc.c: (GST_START_TEST):
+ * tests/examples/seek/scrubby.c: (make_wav_pipeline):
+ * tests/examples/seek/seek.c: (make_mod_pipeline),
+ (make_dv_pipeline), (make_wav_pipeline), (make_flac_pipeline),
+ (make_sid_pipeline), (make_parse_pipeline), (make_vorbis_pipeline),
+ (make_theora_pipeline), (make_vorbis_theora_pipeline),
+ (make_avi_msmpeg4v3_mp3_pipeline), (make_mp3_pipeline),
+ (make_avi_pipeline), (make_mpeg_pipeline), (make_mpegnt_pipeline),
+ (update_fill), (msg_buffering):
+ Don't use bad gst_element_get_pad().
+
2008-05-21 Stefan Kost <ensonic@users.sf.net>
* gst-libs/gst/riff/riff-media.c:
-Subproject commit d0749502b0e891038593866f619a75305367b409
+Subproject commit 5e771924d59d9ac912237ea466d0c60ad95df5ab
gst_object_sink (GST_OBJECT (element));
/* FIXME, it might not be named "sink" */
- pad->elem_pad = gst_element_get_pad (element, "sink");
+ pad->elem_pad = gst_element_get_static_pad (element, "sink");
gst_element_set_state (element, GST_STATE_PAUSED);
template = gst_static_pad_template_get (&internaltemplate);
pad->elem_out = gst_pad_new_from_template (template, "internal");
{
GstPad *p;
- p = gst_element_get_pad (element, "src");
+ p = gst_element_get_static_pad (element, "src");
if (p) {
gst_pad_link (p, pad->elem_out);
gst_object_unref (p);
GstPad *fakesink_pad;
fakesink = gst_element_factory_make ("fakesink", NULL);
- fakesink_pad = gst_element_get_pad (fakesink, "sink");
+ fakesink_pad = gst_element_get_static_pad (fakesink, "sink");
gst_bin_add (GST_BIN (pipeline), fakesink);
}
/* get the sinkpad */
- pad = gst_element_get_pad (decode_bin->typefind, "sink");
+ pad = gst_element_get_static_pad (decode_bin->typefind, "sink");
/* ghost the sink pad to ourself */
gpad = gst_ghost_pad_new ("sink", pad);
g_object_set (G_OBJECT (queue), "max-size-bytes", 8192, NULL);
gst_bin_add (GST_BIN (decode_bin), queue);
gst_element_set_state (queue, GST_STATE_READY);
- queuesinkpad = gst_element_get_pad (queue, "sink");
- usedsrcpad = queuesrcpad = gst_element_get_pad (queue, "src");
+ queuesinkpad = gst_element_get_static_pad (queue, "sink");
+ usedsrcpad = queuesrcpad = gst_element_get_static_pad (queue, "src");
dqlink = gst_pad_link (pad, queuesinkpad);
g_return_val_if_fail (dqlink == GST_PAD_LINK_OK, NULL);
/* try to link the given pad to a sinkpad */
/* FIXME, find the sinkpad by looping over the pads instead of
* looking it up by name */
- if ((sinkpad = gst_element_get_pad (element, "sink")) == NULL) {
+ if ((sinkpad = gst_element_get_static_pad (element, "sink")) == NULL) {
/* if no pad is found we can't do anything */
GST_WARNING_OBJECT (decode_bin, "could not find sinkpad in element");
continue;
{
/* try to get the pad to see if it is already created or
* not */
- GstPad *pad = gst_element_get_pad (element, templ_name);
+ GstPad *pad = gst_element_get_static_pad (element, templ_name);
if (pad) {
GST_DEBUG_OBJECT (decode_bin, "got the pad for sometimes template %s",
case GST_PAD_ALWAYS:
{
/* get the pad that we need to autoplug */
- GstPad *pad = gst_element_get_pad (element, templ_name);
+ GstPad *pad = gst_element_get_static_pad (element, templ_name);
if (pad) {
GST_DEBUG_OBJECT (decode_bin, "got the pad for always template %s",
{
/* try to get the pad to see if it is already created or
* not */
- GstPad *pad = gst_element_get_pad (element, templ_name);
+ GstPad *pad = gst_element_get_static_pad (element, templ_name);
if (pad) {
GST_DEBUG_OBJECT (decode_bin, "got the pad for sometimes template %s",
}
/* autoplug the new pad with the caps that the signal gave us. */
- pad = gst_element_get_pad (typefind, "src");
+ pad = gst_element_get_static_pad (typefind, "src");
close_pad_link (typefind, pad, caps, decode_bin, FALSE);
gst_object_unref (pad);
GST_DEBUG_OBJECT (decode_bin, "cleaning up decodebin");
- typefind_pad = gst_element_get_pad (decode_bin->typefind, "src");
+ typefind_pad = gst_element_get_static_pad (decode_bin->typefind, "src");
if (GST_IS_PAD (typefind_pad)) {
g_signal_handlers_block_by_func (typefind_pad, (gpointer) unlinked,
decode_bin);
}
/* get the sinkpad */
- pad = gst_element_get_pad (decode_bin->typefind, "sink");
+ pad = gst_element_get_static_pad (decode_bin->typefind, "sink");
/* ghost the sink pad to ourself */
gpad = gst_ghost_pad_new ("sink", pad);
case GST_PAD_ALWAYS:
{
/* get the pad that we need to autoplug */
- GstPad *pad = gst_element_get_pad (element, templ_name);
+ GstPad *pad = gst_element_get_static_pad (element, templ_name);
if (pad) {
GST_DEBUG_OBJECT (dbin, "got the pad for always template %s",
{
/* try to get the pad to see if it is already created or
* not */
- GstPad *pad = gst_element_get_pad (element, templ_name);
+ GstPad *pad = gst_element_get_static_pad (element, templ_name);
if (pad) {
GST_DEBUG_OBJECT (dbin, "got the pad for sometimes template %s",
GROUP_MUTEX_LOCK (group);
- if (!(srcpad = gst_element_get_pad (group->multiqueue, srcname))) {
+ if (!(srcpad = gst_element_get_static_pad (group->multiqueue, srcname))) {
GST_ERROR ("Couldn't get srcpad %s from multiqueue", srcname);
goto chiringuito;
}
GstPad *sinkpad;
data = g_object_get_data (G_OBJECT (queue), "probe");
- sinkpad = gst_element_get_pad (queue, "sink");
+ sinkpad = gst_element_get_static_pad (queue, "sink");
if (data) {
GST_DEBUG_OBJECT (play_base_bin,
GstPad *sinkpad;
guint id;
- sinkpad = gst_element_get_pad (queue, "sink");
+ sinkpad = gst_element_get_static_pad (queue, "sink");
id = gst_pad_add_buffer_probe (sinkpad, G_CALLBACK (check_queue), queue);
g_object_set_data (G_OBJECT (queue), "probe", GINT_TO_POINTER (id));
GST_DEBUG_OBJECT (play_base_bin,
g_object_set_data (G_OBJECT (preroll), "pbb", play_base_bin);
/* give updates on queue size */
- sinkpad = gst_element_get_pad (preroll, "sink");
+ sinkpad = gst_element_get_static_pad (preroll, "sink");
id = gst_pad_add_buffer_probe (sinkpad, G_CALLBACK (check_queue), preroll);
GST_DEBUG_OBJECT (play_base_bin, "Attaching probe to pad %s:%s (%p)",
GST_DEBUG_PAD_NAME (sinkpad), sinkpad);
}
/* listen for EOS so we can switch groups when one ended. */
- preroll_pad = gst_element_get_pad (preroll, "src");
+ preroll_pad = gst_element_get_static_pad (preroll, "src");
gst_pad_add_event_probe (preroll_pad, G_CALLBACK (probe_triggered), info);
gst_object_unref (preroll_pad);
GST_DEBUG ("patching unlinked pad %s:%s", GST_DEBUG_PAD_NAME (pad));
- srcpad = gst_element_get_pad (fakesrc, "src");
+ srcpad = gst_element_get_static_pad (fakesrc, "src");
gst_bin_add (GST_BIN_CAST (play_base_bin), fakesrc);
gst_pad_link (srcpad, pad);
gst_object_unref (srcpad);
gboolean active = !mute;
GstPad *pad;
- pad = gst_element_get_pad (group->type[type - 1].preroll, "src");
+ pad = gst_element_get_static_pad (group->type[type - 1].preroll, "src");
gst_pad_set_active (pad, active);
gst_object_unref (pad);
- pad = gst_element_get_pad (group->type[type - 1].preroll, "sink");
+ pad = gst_element_get_static_pad (group->type[type - 1].preroll, "sink");
gst_pad_set_active (pad, active);
gst_object_unref (pad);
- pad = gst_element_get_pad (group->type[type - 1].selector, "src");
+ pad = gst_element_get_static_pad (group->type[type - 1].selector, "src");
gst_pad_set_active (pad, active);
gst_object_unref (pad);
goto beach;
}
- vis_src_pad = gst_element_get_pad (play_bin->visualisation, "src");
+ vis_src_pad = gst_element_get_static_pad (play_bin->visualisation, "src");
vis_sink_pad = gst_pad_get_peer (tee_pad);
/* Can be fakesink */
/* Synchronizing state */
gst_element_set_state (pending_visualisation, bin_state);
- vis_sink_pad = gst_element_get_pad (pending_visualisation, "sink");
- vis_src_pad = gst_element_get_pad (pending_visualisation, "src");
+ vis_sink_pad = gst_element_get_static_pad (pending_visualisation, "sink");
+ vis_src_pad = gst_element_get_static_pad (pending_visualisation, "src");
if (!GST_IS_PAD (vis_sink_pad) || !GST_IS_PAD (vis_src_pad)) {
goto beach;
GstPad *vis_sink_pad = NULL, *tee_pad = NULL;
/* Now get tee pad and block it async */
- vis_sink_pad = gst_element_get_pad (play_bin->visualisation,
+ vis_sink_pad = gst_element_get_static_pad (play_bin->visualisation,
"sink");
if (!GST_IS_PAD (vis_sink_pad)) {
goto beach;
if (GST_BUFFER_CAPS (frame) == NULL) {
GstPad *pad;
- if ((pad = gst_element_get_pad (identity, "sink"))) {
+ if ((pad = gst_element_get_static_pad (identity, "sink"))) {
gst_buffer_set_caps (frame, GST_PAD_CAPS (pad));
gst_object_unref (pad);
}
if (!gst_element_link_pads (scale, "src", sink, NULL))
goto link_failed;
- pad = gst_element_get_pad (identity, "sink");
+ pad = gst_element_get_static_pad (identity, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
gst_element_link_pads (overlay, "src", vbin, "sink");
/* Add ghost pads on the subtitle bin */
- pad = gst_element_get_pad (overlay, "text_sink");
+ pad = gst_element_get_static_pad (overlay, "text_sink");
gst_element_add_pad (element, gst_ghost_pad_new ("text_sink", pad));
gst_object_unref (pad);
- pad = gst_element_get_pad (csp, "sink");
+ pad = gst_element_get_static_pad (csp, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
if (!res)
goto link_failed;
- pad = gst_element_get_pad (conv, "sink");
+ pad = gst_element_get_static_pad (conv, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
if (!res)
goto link_failed;
- pad = gst_element_get_pad (aqueue, "sink");
+ pad = gst_element_get_static_pad (aqueue, "sink");
rpad = gst_element_get_request_pad (tee, "src%d");
gst_pad_link (rpad, pad);
gst_object_unref (rpad);
gst_object_unref (pad);
gst_element_link_pads (aqueue, "src", asink, "sink");
- pad = gst_element_get_pad (vqueue, "sink");
+ pad = gst_element_get_static_pad (vqueue, "sink");
rpad = gst_element_get_request_pad (tee, "src%d");
gst_pad_link (rpad, pad);
gst_object_unref (rpad);
gst_object_unref (pad);
- pad = gst_element_get_pad (tee, "sink");
+ pad = gst_element_get_static_pad (tee, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
gst_bin_remove (GST_BIN_CAST (parent), element);
gst_object_unref (parent);
}
- pad = gst_element_get_pad (element, "sink");
+ pad = gst_element_get_static_pad (element, "sink");
if (pad != NULL) {
peer = gst_pad_get_peer (pad);
if (peer != NULL) {
gst_bin_remove (GST_BIN_CAST (parent), element);
gst_object_unref (parent);
}
- pad = gst_element_get_pad (element, "sink");
+ pad = gst_element_get_static_pad (element, "sink");
if (pad != NULL) {
peer = gst_pad_get_peer (pad);
if (peer != NULL) {
GstPad *pad;
GstPad *peer;
- pad = gst_element_get_pad (element, "sink");
+ pad = gst_element_get_static_pad (element, "sink");
GST_LOG ("removing sink %p", element);
goto state_failed;
/* we found a sink for this stream, now try to install it */
- sinkpad = gst_element_get_pad (sink, "sink");
+ sinkpad = gst_element_get_static_pad (sink, "sink");
linkres = gst_pad_link (srcpad, sinkpad);
gst_object_unref (sinkpad);
goto link_failed;
if (GST_IS_PAD (subtitle_pad)) {
- sinkpad = gst_element_get_pad (sink, "text_sink");
+ sinkpad = gst_element_get_static_pad (sink, "text_sink");
linkres = gst_pad_link (subtitle_pad, sinkpad);
gst_object_unref (sinkpad);
}
if (!sink)
return FALSE;
- pad = gst_element_get_pad (group->type[GST_STREAM_TYPE_AUDIO - 1].preroll,
- "src");
+ pad =
+ gst_element_get_static_pad (group->type[GST_STREAM_TYPE_AUDIO -
+ 1].preroll, "src");
res = add_sink (play_bin, sink, pad, NULL);
gst_object_unref (pad);
}
sink = gen_text_element (play_bin);
textsrcpad =
- gst_element_get_pad (group->type[GST_STREAM_TYPE_TEXT - 1].preroll,
- "src");
+ gst_element_get_static_pad (group->type[GST_STREAM_TYPE_TEXT -
+ 1].preroll, "src");
/* This pad is from subtitle-bin, we need to create a ghost pad to have
common grandparents */
beach:
if (!sink)
return FALSE;
- pad = gst_element_get_pad (group->type[GST_STREAM_TYPE_VIDEO - 1].preroll,
- "src");
+ pad =
+ gst_element_get_static_pad (group->type[GST_STREAM_TYPE_VIDEO -
+ 1].preroll, "src");
res = add_sink (play_bin, sink, pad, textsrcpad);
gst_object_unref (pad);
if (textsrcpad)
gst_element_set_state (select->selector, GST_STATE_PAUSED);
/* save source pad */
- select->srcpad = gst_element_get_pad (select->selector, "src");
+ select->srcpad = gst_element_get_static_pad (select->selector, "src");
}
/* get sinkpad for the new stream */
gst_element_set_state (chain->vis, GST_STATE_PLAYING);
/* get pads */
- chain->vissinkpad = gst_element_get_pad (chain->vis, "sink");
- chain->vissrcpad = gst_element_get_pad (chain->vis, "src");
+ chain->vissinkpad = gst_element_get_static_pad (chain->vis, "sink");
+ chain->vissrcpad = gst_element_get_static_pad (chain->vis, "src");
/* link pads */
gst_pad_link (chain->blockpad, chain->vissinkpad);
if (!gst_element_link_pads (chain->scale, "src", chain->sink, NULL))
goto link_failed;
- pad = gst_element_get_pad (chain->queue, "sink");
+ pad = gst_element_get_static_pad (chain->queue, "sink");
} else {
if (!gst_element_link_pads (chain->queue, "src", chain->sink, NULL))
goto link_failed;
- pad = gst_element_get_pad (chain->queue, "sink");
+ pad = gst_element_get_static_pad (chain->queue, "sink");
}
chain->sinkpad = gst_ghost_pad_new ("sink", pad);
gst_element_link_pads (chain->conv, "src", chain->overlay, "video_sink");
/* Add ghost pads on the subtitle bin */
- pad = gst_element_get_pad (chain->overlay, "text_sink");
+ pad = gst_element_get_static_pad (chain->overlay, "text_sink");
chain->textsinkpad = gst_ghost_pad_new ("text_sink", pad);
gst_object_unref (pad);
gst_element_add_pad (chain->chain.bin, chain->textsinkpad);
- pad = gst_element_get_pad (chain->conv, "sink");
+ pad = gst_element_get_static_pad (chain->conv, "sink");
chain->videosinkpad = gst_ghost_pad_new ("sink", pad);
gst_object_unref (pad);
gst_element_add_pad (chain->chain.bin, chain->videosinkpad);
- pad = gst_element_get_pad (chain->overlay, "src");
+ pad = gst_element_get_static_pad (chain->overlay, "src");
chain->srcpad = gst_ghost_pad_new ("src", pad);
gst_object_unref (pad);
gst_element_add_pad (chain->chain.bin, chain->srcpad);
if (queue) {
res = gst_element_link_pads (chain->queue, "src", chain->conv, "sink");
- pad = gst_element_get_pad (chain->queue, "sink");
+ pad = gst_element_get_static_pad (chain->queue, "sink");
} else {
- pad = gst_element_get_pad (chain->conv, "sink");
+ pad = gst_element_get_static_pad (chain->conv, "sink");
}
} else {
if (queue) {
res = gst_element_link_pads (chain->queue, "src", chain->sink, "sink");
- pad = gst_element_get_pad (chain->queue, "sink");
+ pad = gst_element_get_static_pad (chain->queue, "sink");
} else {
- pad = gst_element_get_pad (chain->sink, "sink");
+ pad = gst_element_get_static_pad (chain->sink, "sink");
}
}
/* post a warning if we have no way to configure the volume */
/* this pad will be used for blocking the dataflow and switching the vis
* plugin */
- chain->blockpad = gst_element_get_pad (chain->resample, "src");
+ chain->blockpad = gst_element_get_static_pad (chain->resample, "src");
if (playsink->visualisation) {
chain->vis = gst_object_ref (playsink->visualisation);
if (!res)
goto link_failed;
- chain->vissinkpad = gst_element_get_pad (chain->vis, "sink");
- chain->vissrcpad = gst_element_get_pad (chain->vis, "src");
+ chain->vissinkpad = gst_element_get_static_pad (chain->vis, "sink");
+ chain->vissrcpad = gst_element_get_static_pad (chain->vis, "src");
- pad = gst_element_get_pad (chain->queue, "sink");
+ pad = gst_element_get_static_pad (chain->queue, "sink");
chain->sinkpad = gst_ghost_pad_new ("sink", pad);
gst_object_unref (pad);
gst_element_add_pad (chain->chain.bin, chain->sinkpad);
GST_DEBUG_OBJECT (playsink, "adding visualisation");
srcpad =
- gst_element_get_pad (GST_ELEMENT_CAST (playsink->vischain->chain.bin),
- "src");
+ gst_element_get_static_pad (GST_ELEMENT_CAST (playsink->vischain->chain.
+ bin), "src");
add_chain (GST_PLAY_CHAIN (playsink->vischain), TRUE);
gst_pad_link (playsink->audio_tee_vissrc, playsink->vischain->sinkpad);
gst_pad_link (srcpad, playsink->videochain->sinkpad);
* and the vis chain. */
playsink->audio_tee = gst_element_factory_make ("tee", "audiotee");
playsink->audio_tee_sink =
- gst_element_get_pad (playsink->audio_tee, "sink");
+ gst_element_get_static_pad (playsink->audio_tee, "sink");
/* get two request pads */
playsink->audio_tee_vissrc =
gst_element_get_request_pad (playsink->audio_tee, "src%d");
goto no_queue2;
g_object_set (G_OBJECT (queue), "use-buffering", TRUE, NULL);
- //g_object_set (G_OBJECT (queue), "temp-location", "temp", NULL);
+// g_object_set (G_OBJECT (queue), "temp-location", "temp", NULL);
gst_bin_add (GST_BIN_CAST (decoder), queue);
gst_bin_add (GST_BIN (element), sink);
gst_element_link_pads (conv, "src", sink, "sink");
- pad = gst_element_get_pad (conv, "sink");
+ pad = gst_element_get_static_pad (conv, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
gst_bin_add (GST_BIN (element), sink);
gst_element_link_pads (conv, "src", sink, "sink");
- pad = gst_element_get_pad (conv, "sink");
+ pad = gst_element_get_static_pad (conv, "sink");
gst_element_add_pad (element, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
goto state_error;
/* get the ghostpad of the sink bin */
- sinkpad = gst_element_get_pad (sink, "sink");
+ sinkpad = gst_element_get_static_pad (sink, "sink");
/* link'n'play */
lret = gst_pad_link (pad, sinkpad);
fakesink = gst_element_factory_make ("fakesink", NULL);
gst_bin_add (GST_BIN (pipeline), fakesink);
- sinkpad = gst_element_get_pad (fakesink, "sink");
+ sinkpad = gst_element_get_static_pad (fakesink, "sink");
if (GST_PAD_LINK_FAILED (gst_pad_link (new_pad, sinkpad))) {
g_warning ("Failed to link %s:%s to %s:%s", GST_DEBUG_PAD_NAME (new_pad),
GST_DEBUG_PAD_NAME (sinkpad));
ac2 = gst_element_factory_make ("audioconvert", "ac2");
ac3 = gst_element_factory_make ("audioconvert", "ac3");
sink = gst_element_factory_make ("fakesink", "sink");
- ac3_src = gst_element_get_pad (ac3, "src");
+ ac3_src = gst_element_get_static_pad (ac3, "src");
/* test with 2 audioconvert elements */
gst_bin_add_many (GST_BIN (pipeline), src, ac1, ac3, sink, NULL);
GstFlowReturn ret;
GstPad *srcpad;
- srcpad = gst_element_get_pad (GST_ELEMENT (GST_PAD_PARENT (pad)), "src");
+ srcpad =
+ gst_element_get_static_pad (GST_ELEMENT (GST_PAD_PARENT (pad)), "src");
/* since we're increasing timestamp/offsets, push this one first */
GST_LOG (" passing buffer [t=%" GST_TIME_FORMAT "-%" GST_TIME_FORMAT
injector = GST_ELEMENT (g_object_new (test_injector_get_type (), NULL));
- srcpad = gst_element_get_pad (injector, "src");
+ srcpad = gst_element_get_static_pad (injector, "src");
fail_unless (srcpad != NULL);
gst_pad_add_buffer_probe (srcpad, G_CALLBACK (probe_cb), &drop_probability);
gst_object_unref (srcpad);
fail_unless (gst_element_link (csp, filter2));
fail_unless (gst_element_link (filter2, sink));
- srcpad = gst_element_get_pad (src, "src");
+ srcpad = gst_element_get_static_pad (src, "src");
template_caps = gst_pad_get_pad_template_caps (srcpad);
gst_object_unref (srcpad);
pk = gst_dp_packetizer_new (GST_DP_VERSION_1_0);
gdpdepay = setup_gdpdepay ();
- srcpad = gst_element_get_pad (gdpdepay, "src");
+ srcpad = gst_element_get_static_pad (gdpdepay, "src");
fail_unless (gst_element_set_state (gdpdepay,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
pk = gst_dp_packetizer_new (GST_DP_VERSION_1_0);
gdpdepay = setup_gdpdepay ();
- srcpad = gst_element_get_pad (gdpdepay, "src");
+ srcpad = gst_element_get_static_pad (gdpdepay, "src");
fail_unless (gst_element_set_state (gdpdepay,
GST_STATE_PLAYING) == GST_STATE_CHANGE_SUCCESS,
pk = gst_dp_packetizer_new (GST_DP_VERSION_1_0);
gdpdepay = setup_gdpdepay_streamheader ();
- srcpad = gst_element_get_pad (gdpdepay, "src");
+ srcpad = gst_element_get_static_pad (gdpdepay, "src");
ASSERT_OBJECT_REFCOUNT (gdpdepay, "gdpdepay", 1);
fail_unless (gst_element_set_state (gdpdepay,
fail_unless_equals_int (pos, position); \
} G_STMT_END
#else
-#define CHECK_QUERY_POSITION(gnomevfssink,format,position) \
+#define CHECK_QUERY_POSITION(gnomevfssink,format,position) \
G_STMT_START { \
GstFormat fmt = format; \
GstPad *pad; \
gint64 pos; \
- pad = gst_element_get_pad (gnomevfssink, "sink"); \
+ pad = gst_element_get_static_pad (gnomevfssink, "sink"); \
fail_unless (gst_pad_query_position (pad, &fmt, &pos)); \
fail_unless_equals_int (pos, position); \
gst_object_unref (pad); \
fail_if (srcpad == NULL, "Could not create a srcpad");
ASSERT_OBJECT_REFCOUNT (srcpad, "srcpad", 1);
- sinkpad = gst_element_get_pad (element, sink_template_name);
+ if (!(sinkpad = gst_element_get_static_pad (element, sink_template_name)))
+ sinkpad = gst_element_get_request_pad (element, sink_template_name);
fail_if (sinkpad == NULL, "Could not get sink pad from %s",
GST_ELEMENT_NAME (element));
ASSERT_OBJECT_REFCOUNT (sinkpad, "sinkpad", 2);
sink_template_name = "sink";
/* clean up floating src pad */
- sinkpad = gst_element_get_pad (element, sink_template_name);
+ if (!(sinkpad = gst_element_get_static_pad (element, sink_template_name)))
+ sinkpad = gst_element_get_request_pad (element, sink_template_name);
ASSERT_OBJECT_REFCOUNT (sinkpad, "sinkpad", 2);
srcpad = gst_pad_get_peer (sinkpad);
fail_unless (gst_element_link (src, filter));
fail_unless (gst_element_link (filter, sink));
- srcpad = gst_element_get_pad (src, "src");
+ srcpad = gst_element_get_static_pad (src, "src");
template_caps = gst_pad_get_pad_template_caps (srcpad);
gst_object_unref (srcpad);
fakesink = gst_element_factory_make ("fakesink", "fakesink");
gst_bin_add_many (GST_BIN (pipeline), foosrc, fakesink, NULL);
fail_unless (gst_element_link (foosrc, fakesink));
- sinkpad = gst_element_get_pad (fakesink, "sink");
+ sinkpad = gst_element_get_static_pad (fakesink, "sink");
GST_CD_FOO_SRC (foosrc)->cur_disc = 0;
sink = gst_element_factory_make ("fakesink", "fake_sink");
fail_unless (sink != NULL, "Could create fakesink");
fail_unless (gst_bin_add (GST_BIN (bin), sink), "Could not insert fakesink");
- sinkpad = gst_element_get_pad (sink, "sink");
+ sinkpad = gst_element_get_static_pad (sink, "sink");
fail_unless (sinkpad != NULL, "Could not get fakesink src pad");
linkret = gst_pad_link (pad, sinkpad);
depay = gst_bin_get_by_name (GST_BIN (p2), "depay");
fail_if (depay == NULL);
- pad = gst_element_get_pad (depay, "src");
+ pad = gst_element_get_static_pad (depay, "src");
fail_unless (pad != NULL, "Could not get pad out of depay");
gst_object_unref (depay);
depay = gst_bin_get_by_name (GST_BIN (p2), "depay");
fail_if (depay == NULL);
- pad = gst_element_get_pad (depay, "src");
+ pad = gst_element_get_static_pad (depay, "src");
fail_unless (pad != NULL, "Could not get pad out of depay");
gst_object_unref (depay);
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fs0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fs0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "theoraenc0");
fail_unless (sink != NULL, "Could not get theoraenc out of bin");
- droppad = gst_element_get_pad (sink, "sink");
+ droppad = gst_element_get_static_pad (sink, "sink");
fail_unless (droppad != NULL, "Could not get pad out of theoraenc");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fs0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "vorbisenc0");
fail_unless (sink != NULL, "Could not get vorbisenc out of bin");
- droppad = gst_element_get_pad (sink, "sink");
+ droppad = gst_element_get_static_pad (sink, "sink");
fail_unless (droppad != NULL, "Could not get pad out of vorbisenc");
gst_object_unref (sink);
}
GstElement *sink = gst_bin_get_by_name (GST_BIN (bin), "fakesink0");
fail_unless (sink != NULL, "Could not get fakesink out of bin");
- pad = gst_element_get_pad (sink, "sink");
+ pad = gst_element_get_static_pad (sink, "sink");
fail_unless (pad != NULL, "Could not get pad out of fakesink");
gst_object_unref (sink);
}
gst_element_link (src, decoder);
- setup_dynamic_link (decoder, "src", gst_element_get_pad (audiosink, "sink"),
- NULL);
+ setup_dynamic_link (decoder, "src", gst_element_get_static_pad (audiosink,
+ "sink"), NULL);
return pipeline;
}
gst_element_link (src, decoder);
gst_element_link (decoder, audiosink);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_element_link (v_queue, decoder);
gst_element_link (decoder, videosink);
- setup_dynamic_link (demux, "video", gst_element_get_pad (v_queue, "sink"),
- NULL);
- setup_dynamic_link (demux, "audio", gst_element_get_pad (a_queue, "sink"),
- NULL);
+ setup_dynamic_link (demux, "video", gst_element_get_static_pad (v_queue,
+ "sink"), NULL);
+ setup_dynamic_link (demux, "audio", gst_element_get_static_pad (a_queue,
+ "sink"), NULL);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
gst_element_link (src, decoder);
- setup_dynamic_link (decoder, "src", gst_element_get_pad (audiosink, "sink"),
- NULL);
+ setup_dynamic_link (decoder, "src", gst_element_get_static_pad (audiosink,
+ "sink"), NULL);
seekable_elements = g_list_prepend (seekable_elements, audiosink);
gst_element_link (src, decoder);
gst_element_link (decoder, audiosink);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_element_link (src, decoder);
gst_element_link (decoder, audiosink);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_element_link (src, parser);
gst_element_link (parser, fakesink);
- seekable = gst_element_get_pad (parser, "src");
+ seekable = gst_element_get_static_pad (parser, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (parser, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (parser, "sink"));
return pipeline;
}
gst_element_link (decoder, convert);
gst_element_link (convert, audiosink);
- pad = gst_element_get_pad (decoder, "sink");
+ pad = gst_element_get_static_pad (decoder, "sink");
gst_element_add_pad (audio_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (audio_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (audio_bin,
+ "sink"), NULL);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_element_link (decoder, convert);
gst_element_link (convert, videosink);
- pad = gst_element_get_pad (decoder, "sink");
+ pad = gst_element_get_static_pad (decoder, "sink");
gst_element_add_pad (video_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (video_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (video_bin,
+ "sink"), NULL);
- seekable = gst_element_get_pad (decoder, "src");
+ seekable = gst_element_get_static_pad (decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_element_link (a_decoder, a_convert);
gst_element_link (a_convert, audiosink);
- pad = gst_element_get_pad (a_queue, "sink");
+ pad = gst_element_get_static_pad (a_queue, "sink");
gst_element_add_pad (audio_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (audio_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (audio_bin,
+ "sink"), NULL);
video_bin = gst_bin_new ("v_decoder_bin");
v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
gst_element_link_many (v_queue, v_decoder, v_convert, v_scale, videosink,
NULL);
- pad = gst_element_get_pad (v_queue, "sink");
+ pad = gst_element_get_static_pad (v_queue, "sink");
gst_element_add_pad (video_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (video_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (video_bin,
+ "sink"), NULL);
- seekable = gst_element_get_pad (a_decoder, "src");
+ seekable = gst_element_get_static_pad (a_decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (a_decoder,
+ "sink"));
return pipeline;
}
gst_bin_add (GST_BIN (pipeline), audio_bin);
- pad = gst_element_get_pad (a_queue, "sink");
+ pad = gst_element_get_static_pad (a_queue, "sink");
gst_element_add_pad (audio_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (audio_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (audio_bin,
+ "sink"), NULL);
video_bin = gst_bin_new ("v_decoder_bin");
v_queue = gst_element_factory_make_or_warn ("queue", "v_queue");
gst_bin_add (GST_BIN (pipeline), video_bin);
- pad = gst_element_get_pad (v_queue, "sink");
+ pad = gst_element_get_static_pad (v_queue, "sink");
gst_element_add_pad (video_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, NULL, gst_element_get_pad (video_bin, "sink"),
- NULL);
+ setup_dynamic_link (demux, NULL, gst_element_get_static_pad (video_bin,
+ "sink"), NULL);
- seekable = gst_element_get_pad (a_decoder, "src");
+ seekable = gst_element_get_static_pad (a_decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (a_decoder,
+ "sink"));
return pipeline;
}
gst_element_link (decoder, queue);
gst_element_link (queue, osssink);
- seekable = gst_element_get_pad (queue, "src");
+ seekable = gst_element_get_static_pad (queue, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
- rate_pads = g_list_prepend (rate_pads, gst_element_get_pad (decoder, "sink"));
+ rate_pads =
+ g_list_prepend (rate_pads, gst_element_get_static_pad (decoder, "sink"));
return pipeline;
}
gst_bin_add (GST_BIN (audio_bin), audiosink);
gst_element_set_state (audio_bin, GST_STATE_PAUSED);
- setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder,
+ setup_dynamic_link (demux, "audio_00", gst_element_get_static_pad (a_decoder,
"sink"), audio_bin);
- seekable = gst_element_get_pad (a_queue, "src");
+ seekable = gst_element_get_static_pad (a_queue, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (a_decoder,
+ "sink"));
video_bin = gst_bin_new ("v_decoder_bin");
v_decoder = gst_element_factory_make_or_warn ("ffmpegdecall", "v_dec");
gst_element_set_state (video_bin, GST_STATE_PAUSED);
- setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder,
+ setup_dynamic_link (demux, "video_00", gst_element_get_static_pad (v_decoder,
"sink"), video_bin);
- seekable = gst_element_get_pad (v_queue, "src");
+ seekable = gst_element_get_static_pad (v_queue, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (v_decoder,
+ "sink"));
return pipeline;
}
gst_bin_add (GST_BIN (pipeline), audio_bin);
- pad = gst_element_get_pad (a_decoder, "sink");
+ pad = gst_element_get_static_pad (a_decoder, "sink");
gst_element_add_pad (audio_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, "audio_c0", gst_element_get_pad (audio_bin,
+ setup_dynamic_link (demux, "audio_c0", gst_element_get_static_pad (audio_bin,
"sink"), NULL);
video_bin = gst_bin_new ("v_decoder_bin");
gst_bin_add (GST_BIN (pipeline), video_bin);
- pad = gst_element_get_pad (v_decoder, "sink");
+ pad = gst_element_get_static_pad (v_decoder, "sink");
gst_element_add_pad (video_bin, gst_ghost_pad_new ("sink", pad));
gst_object_unref (pad);
- setup_dynamic_link (demux, "video_e0", gst_element_get_pad (video_bin,
+ setup_dynamic_link (demux, "video_e0", gst_element_get_static_pad (video_bin,
"sink"), NULL);
- seekable = gst_element_get_pad (v_filter, "src");
+ seekable = gst_element_get_static_pad (v_filter, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (v_decoder,
+ "sink"));
return pipeline;
}
gst_bin_add (GST_BIN (audio_bin), a_queue);
gst_bin_add (GST_BIN (audio_bin), audiosink);
- setup_dynamic_link (demux, "audio_00", gst_element_get_pad (a_decoder,
+ setup_dynamic_link (demux, "audio_00", gst_element_get_static_pad (a_decoder,
"sink"), audio_bin);
- seekable = gst_element_get_pad (a_queue, "src");
+ seekable = gst_element_get_static_pad (a_queue, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (a_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (a_decoder,
+ "sink"));
video_bin = gst_bin_new ("v_decoder_bin");
v_decoder = gst_element_factory_make_or_warn ("mpeg2dec", "v_dec");
gst_bin_add_many (GST_BIN (video_bin), v_decoder, v_filter, videosink, NULL);
- setup_dynamic_link (demux, "video_00", gst_element_get_pad (v_decoder,
+ setup_dynamic_link (demux, "video_00", gst_element_get_static_pad (v_decoder,
"sink"), video_bin);
- seekable = gst_element_get_pad (v_decoder, "src");
+ seekable = gst_element_get_static_pad (v_decoder, "src");
seekable_pads = g_list_prepend (seekable_pads, seekable);
rate_pads = g_list_prepend (rate_pads, seekable);
rate_pads =
- g_list_prepend (rate_pads, gst_element_get_pad (v_decoder, "sink"));
+ g_list_prepend (rate_pads, gst_element_get_static_pad (v_decoder,
+ "sink"));
return pipeline;
}