From 8bca9f16bb88f33064d077f7bb9aa70d32f8219c Mon Sep 17 00:00:00 2001 From: Thomas Vander Stichele Date: Fri, 25 Oct 2002 14:31:15 +0000 Subject: a no-brainer addition Original commit message from CVS: a no-brainer addition --- gst-libs/gst/gconf/gconf.c | 34 ++++++++++++++++++++++++++++++++++ gst-libs/gst/gconf/gconf.h | 2 ++ gst-libs/gst/gconf/test-gconf.c | 4 ++++ 3 files changed, 40 insertions(+) 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; } -- cgit v1.2.1