mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-12 10:25:33 +00:00
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.
This commit is contained in:
parent
01200712ea
commit
114425d7ee
2 changed files with 23 additions and 11 deletions
|
@ -262,12 +262,20 @@ open_library (GstRealAudioDec * dec, gint version, GstRADecLibrary * lib)
|
||||||
|
|
||||||
GST_LOG_OBJECT (dec, "opening module %s", codec);
|
GST_LOG_OBJECT (dec, "opening module %s", codec);
|
||||||
|
|
||||||
|
/* 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);
|
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);
|
g_free (codec);
|
||||||
if (lib->module)
|
if (lib->module)
|
||||||
goto codec_search_done;
|
goto codec_search_done;
|
||||||
|
|
||||||
GST_LOG_OBJECT (dec, "failure, try next one...");
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -480,7 +480,17 @@ open_library (GstRealVideoDec * dec, GstRealVideoDecVersion version,
|
||||||
gchar *codec = g_strconcat (split_path[i], "/", split_names[j], NULL);
|
gchar *codec = g_strconcat (split_path[i], "/", split_names[j], NULL);
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (dec, "trying %s", codec);
|
GST_DEBUG_OBJECT (dec, "trying %s", codec);
|
||||||
|
/* 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)) {
|
||||||
module = g_module_open (codec, G_MODULE_BIND_LAZY);
|
module = g_module_open (codec, G_MODULE_BIND_LAZY);
|
||||||
|
if (module == NULL) {
|
||||||
|
GST_ERROR_OBJECT (dec, "Could not open codec library '%s': %s",
|
||||||
|
codec, g_module_error ());
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
GST_LOG_OBJECT (dec, "%s does not exist", codec);
|
||||||
|
}
|
||||||
g_free (codec);
|
g_free (codec);
|
||||||
if (module)
|
if (module)
|
||||||
goto codec_search_done;
|
goto codec_search_done;
|
||||||
|
@ -492,7 +502,7 @@ codec_search_done:
|
||||||
g_strfreev (split_names);
|
g_strfreev (split_names);
|
||||||
|
|
||||||
if (module == NULL)
|
if (module == NULL)
|
||||||
goto could_not_open;
|
return FALSE;
|
||||||
|
|
||||||
GST_DEBUG_OBJECT (dec, "module opened, finding symbols");
|
GST_DEBUG_OBJECT (dec, "module opened, finding symbols");
|
||||||
|
|
||||||
|
@ -527,12 +537,6 @@ unknown_version:
|
||||||
GST_ERROR_OBJECT (dec, "Cannot handle version %i.", version);
|
GST_ERROR_OBJECT (dec, "Cannot handle version %i.", version);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
could_not_open:
|
|
||||||
{
|
|
||||||
GST_ERROR_OBJECT (dec, "Could not open library '%s' in '%s': %s", names,
|
|
||||||
path, g_module_error ());
|
|
||||||
return FALSE;
|
|
||||||
}
|
|
||||||
could_not_load:
|
could_not_load:
|
||||||
{
|
{
|
||||||
close_library (dec, lib);
|
close_library (dec, lib);
|
||||||
|
|
Loading…
Reference in a new issue