summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Burt <gabriel.burt@gmail.com>2011-03-31 10:27:12 -0500
committerGabriel Burt <gabriel.burt@gmail.com>2011-03-31 10:42:54 -0500
commit9fb59c0a2954817cfa196b679e7f699f5bd01833 (patch)
tree8ef6fab293a241be0b4249c8dfa8e00379971665
parent209b493db9fccceceea9c0d11cd55645a541cf47 (diff)
libbanshee: Fix bad call to gst_element_get_request_pad (bgo#646347)
We were hardcoding the name of the src to return, instead of passing 'src%d'. GStreamer used to ignore it, but now complains loudly.
-rw-r--r--libbanshee/banshee-player-pipeline.c6
-rw-r--r--libbanshee/banshee-player-vis.c5
2 files changed, 9 insertions, 2 deletions
diff --git a/libbanshee/banshee-player-pipeline.c b/libbanshee/banshee-player-pipeline.c
index e0b3759da..71f221d2d 100644
--- a/libbanshee/banshee-player-pipeline.c
+++ b/libbanshee/banshee-player-pipeline.c
@@ -276,6 +276,7 @@ _bp_pipeline_construct (BansheePlayer *player)
GValue value = {0};
GstBus *bus;
GstPad *teepad;
+ GstPad *pad;
GstElement *audiosink;
GstElement *audiosinkqueue;
GstElement *eq_audioconvert = NULL;
@@ -413,7 +414,10 @@ _bp_pipeline_construct (BansheePlayer *player)
g_value_unset (&value);
// Link the first tee pad to the primary audio sink queue
- gst_pad_link (gst_element_get_request_pad (player->audiotee, "src0"), sinkpad);
+ pad = gst_element_get_request_pad (player->audiotee, "src%d");
+ gst_pad_link (pad, sinkpad);
+ gst_object_unref (GST_OBJECT (pad));
+
// Now allow specialized pipeline setups
_bp_cdda_pipeline_setup (player);
_bp_video_pipeline_setup (player, bus);
diff --git a/libbanshee/banshee-player-vis.c b/libbanshee/banshee-player-vis.c
index e3c3ebba4..5c7d5fe74 100644
--- a/libbanshee/banshee-player-vis.c
+++ b/libbanshee/banshee-player-vis.c
@@ -199,6 +199,7 @@ _bp_vis_pipeline_setup (BansheePlayer *player)
GstElement *fakesink, *converter, *resampler, *audiosinkqueue;
GstCaps *caps;
+ GstPad *teepad;
GstPad *pad;
gint wanted_size;
@@ -256,7 +257,9 @@ _bp_vis_pipeline_setup (BansheePlayer *player)
converter, fakesink, NULL);
pad = gst_element_get_static_pad (audiosinkqueue, "sink");
- gst_pad_link (gst_element_get_request_pad (player->audiotee, "src%d"), pad);
+ teepad = gst_element_get_request_pad (player->audiotee, "src%d");
+ gst_pad_link (teepad, pad);
+ gst_object_unref (GST_OBJECT (teepad));
gst_object_unref (GST_OBJECT (pad));
gst_element_link_many (audiosinkqueue, resampler, converter, NULL);