summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Vander Stichele <thomas@apestaart.org>2002-10-25 14:31:15 +0000
committerThomas Vander Stichele <thomas@apestaart.org>2002-10-25 14:31:15 +0000
commit8bca9f16bb88f33064d077f7bb9aa70d32f8219c (patch)
treeead757c084df6b78ccb17b1c6788a5858246f8a9
parent1496394c0f4be1a718fb189846c6350cbd9e43da (diff)
downloadgstreamer-plugins-bad-8bca9f16bb88f33064d077f7bb9aa70d32f8219c.tar.gz
a no-brainer addition
Original commit message from CVS: a no-brainer addition
-rw-r--r--gst-libs/gst/gconf/gconf.c34
-rw-r--r--gst-libs/gst/gconf/gconf.h2
-rw-r--r--gst-libs/gst/gconf/test-gconf.c4
3 files changed, 40 insertions, 0 deletions
diff --git a/gst-libs/gst/gconf/gconf.c b/gst-libs/gst/gconf/gconf.c
index f14a0a6c7..c3b0d4cf3 100644
--- a/gst-libs/gst/gconf/gconf.c
+++ b/gst-libs/gst/gconf/gconf.c
@@ -167,6 +167,40 @@ gst_gconf_get_default_video_sink (void)
return ret;
}
+GstElement *
+gst_gconf_get_default_audio_src (void)
+{
+ GstElement *ret = gst_gconf_render_bin_from_key ("default/audiosrc");
+
+ if (!ret) {
+ ret = gst_element_factory_make ("osssrc", NULL);
+
+ if (!ret)
+ g_warning ("No GConf default audio src key and osssrc doesn't work");
+ else
+ g_warning ("GConf audio src not found, using osssrc");
+ }
+
+ return ret;
+}
+
+GstElement *
+gst_gconf_get_default_video_src (void)
+{
+ GstElement *ret = gst_gconf_render_bin_from_key ("default/videosrc");
+
+ if (!ret) {
+ ret = gst_element_factory_make ("videotestsrc", NULL);
+
+ if (!ret)
+ g_warning ("No GConf default video src key and videotestrc doesn't work");
+ else
+ g_warning ("GConf video src not found, using videotestrc");
+ }
+
+ return ret;
+}
+
static gboolean
plugin_init (GModule *module, GstPlugin *plugin)
{
diff --git a/gst-libs/gst/gconf/gconf.h b/gst-libs/gst/gconf/gconf.h
index c1ed9d420..4444b5fee 100644
--- a/gst-libs/gst/gconf/gconf.h
+++ b/gst-libs/gst/gconf/gconf.h
@@ -17,6 +17,8 @@ GstElement * gst_gconf_render_bin_from_description (const gchar *description);
GstElement * gst_gconf_get_default_video_sink (void);
GstElement * gst_gconf_get_default_audio_sink (void);
+GstElement * gst_gconf_get_default_video_src (void);
+GstElement * gst_gconf_get_default_audio_src (void);
/*
guint gst_gconf_notify_add (const gchar *key,
diff --git a/gst-libs/gst/gconf/test-gconf.c b/gst-libs/gst/gconf/test-gconf.c
index 25831d947..5f9c398ba 100644
--- a/gst-libs/gst/gconf/test-gconf.c
+++ b/gst-libs/gst/gconf/test-gconf.c
@@ -7,5 +7,9 @@ main (int argc, char *argv[])
gst_gconf_get_string ("default/videosink"));
printf ("Default audio sink : %s\n",
gst_gconf_get_string ("default/audiosink"));
+ printf ("Default video src : %s\n",
+ gst_gconf_get_string ("default/videosrc"));
+ printf ("Default audio src : %s\n",
+ gst_gconf_get_string ("default/audiosrc"));
return 0;
}