From 114425d7eebfe4729ded504765d1a4c027db5734 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tim-Philipp=20M=C3=BCller?= Date: Sun, 19 Jul 2009 15:37:50 +0100 Subject: real: differentiate between 'module does not exist' and genuine module opening errors Don't log a GST_ERROR if one of the codec modules we were looking for doesn't exist. That's not a genuine error, but somewhat expected. --- gst/real/gstrealaudiodec.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) (limited to 'gst/real/gstrealaudiodec.c') diff --git a/gst/real/gstrealaudiodec.c b/gst/real/gstrealaudiodec.c index 1a94a77b..5f5b900d 100644 --- a/gst/real/gstrealaudiodec.c +++ b/gst/real/gstrealaudiodec.c @@ -262,12 +262,20 @@ open_library (GstRealAudioDec * dec, gint version, GstRADecLibrary * lib) GST_LOG_OBJECT (dec, "opening module %s", codec); - lib->module = g_module_open (codec, G_MODULE_BIND_LAZY); + /* This is racy, but it doesn't matter here; would be nice if GModule + * gave us a GError instead of an error string, but it doesn't, so.. */ + if (g_file_test (codec, G_FILE_TEST_EXISTS)) { + lib->module = g_module_open (codec, G_MODULE_BIND_LAZY); + if (lib->module == NULL) { + GST_ERROR_OBJECT (dec, "Could not open codec library '%s': %s", + codec, g_module_error ()); + } + } else { + GST_DEBUG_OBJECT (dec, "%s does not exist", codec); + } g_free (codec); if (lib->module) goto codec_search_done; - - GST_LOG_OBJECT (dec, "failure, try next one..."); } } -- cgit v1.2.1