X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=gst%2Fgst.c;h=2f4c7895082dc0ba4ecf05960020e985d38739d9;hb=94ba1cea88788fd3ad72fadcc2ceb7884ed6df50;hp=9642ed7e3ff10a306e7086687a5c24dd2c6991a8;hpb=895bb7bcd627989951d2041aefba73bb4b59bad5;p=platform%2Fupstream%2Fgstreamer.git diff --git a/gst/gst.c b/gst/gst.c index 9642ed7..2f4c789 100644 --- a/gst/gst.c +++ b/gst/gst.c @@ -237,7 +237,7 @@ DllMain (HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved) * threading system as one of the very first things in your program * (see the example at the beginning of this section). * - * Returns: (transfer full): a pointer to GStreamer's option group. + * Returns: (transfer full) (nullable): a pointer to GStreamer's option group. */ GOptionGroup * @@ -324,17 +324,13 @@ static void find_executable_path (void) { GError *error = NULL; - gchar *path; if (_gst_executable_path) return; - path = g_file_read_link ("/proc/self/exe", &error); - - if (path) { - _gst_executable_path = g_path_get_dirname (path); - g_free (path); - } + _gst_executable_path = g_file_read_link ("/proc/self/exe", &error); + if (error) + g_error_free (error); } #elif defined(G_OS_WIN32) static void @@ -379,7 +375,7 @@ find_executable_path (void) * external process, the returned path will be the same as from the * parent process. * - * Returns: (transfer none): The path of the executable that + * Returns: (transfer none) (nullable): The path of the executable that * initialized GStreamer, or %NULL if it could not be determined. * * Since: 1.14 @@ -496,7 +492,8 @@ gst_is_initialized (void) return gst_initialized; } -#ifndef GST_DISABLE_REGISTRY +#ifndef GST_DISABLE_OPTION_PARSING +# ifndef GST_DISABLE_REGISTRY static void add_path_func (gpointer data, gpointer user_data) { @@ -504,6 +501,7 @@ add_path_func (gpointer data, gpointer user_data) _priv_gst_plugin_paths = g_list_append (_priv_gst_plugin_paths, g_strdup (data)); } +# endif #endif #ifndef GST_DISABLE_OPTION_PARSING @@ -635,7 +633,7 @@ gst_register_core_elements (GstPlugin * plugin) /* * this bit handles: - * - initalization of threads if we use them + * - initialization of threads if we use them * - log handler * - initial output * - initializes gst_format @@ -768,6 +766,7 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data, g_type_class_ref (gst_stream_flags_get_type ()); g_type_class_ref (gst_stream_type_get_type ()); g_type_class_ref (gst_stack_trace_flags_get_type ()); + g_type_class_ref (gst_promise_result_get_type ()); _priv_gst_event_initialize (); _priv_gst_buffer_initialize (); @@ -817,7 +816,8 @@ init_post (GOptionContext * context, GOptionGroup * group, gpointer data, return TRUE; } -#ifndef GST_DISABLE_GST_DEBUG +#ifndef GST_DISABLE_OPTION_PARSING +# ifndef GST_DISABLE_GST_DEBUG static gboolean select_all (GstPlugin * plugin, gpointer user_data) { @@ -939,7 +939,8 @@ gst_debug_help (void) g_slist_free (list); g_print ("\n"); } -#endif +# endif /* GST_DISABLE_OPTION_PARSING */ +#endif /* GST_DISABLE_GST_DEBUG */ #ifndef GST_DISABLE_OPTION_PARSING static gboolean @@ -1076,6 +1077,9 @@ gst_deinit (void) GstBinClass *bin_class; GstClock *clock; + if (!gst_initialized) + return; + GST_INFO ("deinitializing GStreamer"); if (gst_deinitialized) { @@ -1083,7 +1087,7 @@ gst_deinit (void) return; } g_thread_pool_set_max_unused_threads (0); - bin_class = GST_BIN_CLASS (g_type_class_peek (gst_bin_get_type ())); + bin_class = (GstBinClass *) g_type_class_peek (gst_bin_get_type ()); if (bin_class && bin_class->pool != NULL) { g_thread_pool_free (bin_class->pool, FALSE, TRUE); bin_class->pool = NULL; @@ -1121,6 +1125,7 @@ gst_deinit (void) _priv_gst_caps_features_cleanup (); _priv_gst_caps_cleanup (); + _priv_gst_debug_cleanup (); g_type_class_unref (g_type_class_peek (gst_object_get_type ())); g_type_class_unref (g_type_class_peek (gst_pad_get_type ())); @@ -1221,6 +1226,7 @@ gst_deinit (void) g_type_class_unref (g_type_class_peek (gst_stream_flags_get_type ())); g_type_class_unref (g_type_class_peek (gst_debug_color_mode_get_type ())); g_type_class_unref (g_type_class_peek (gst_stack_trace_flags_get_type ())); + g_type_class_unref (g_type_class_peek (gst_promise_result_get_type ())); gst_deinitialized = TRUE; GST_INFO ("deinitialized GStreamer");