如何在Win32 Windows应用程序中设置GST\U错误gstreamer调试消息的处理程序?

如何在Win32 Windows应用程序中设置GST\U错误gstreamer调试消息的处理程序?,gstreamer,Gstreamer,我正在Win32 Windows应用程序(而不是控制台应用程序)中测试gstreamer。我也喜欢在我的win32 Windows应用程序中抓取并显示“gstreamer”的调试和错误消息(通常打印在win32控制台应用程序中)。我在Win32 Windows应用程序中看不到它们,因为我有自己的主窗口和几个子窗口(而不是命令提示符)。使用 仅在我的“MyfGstGenLogHandle”函数中获取“应用程序”域日志消息;这意味着它只抓取,例如,我自己在自己的代码中使用了g_debug(…)命令。

我正在Win32 Windows应用程序(而不是控制台应用程序)中测试gstreamer。我也喜欢在我的win32 Windows应用程序中抓取并显示“gstreamer”的调试和错误消息(通常打印在win32控制台应用程序中)。我在Win32 Windows应用程序中看不到它们,因为我有自己的主窗口和几个子窗口(而不是命令提示符)。使用

仅在我的“MyfGstGenLogHandle”函数中获取“应用程序”域日志消息;这意味着它只抓取,例如,我自己在自己的代码中使用了g_debug(…)命令。我尝试了以下命令来抓取和显示“gstreamer”的调试和错误消息(例如,这些消息是在playbin尝试播放媒体时生成的):


到目前为止,这些尝试都没有帮助我在Win32 Windows应用程序中获取gstreamer调试消息,而如果我在Win32控制台应用程序中编写代码,则不使用g_log_set_处理程序的调试消息通常会打印在命令提示符中。有没有办法解决这个问题?提前感谢。

GStreamer有一个不同的API用于重定向日志,它的名称为


作为参考,您可以使用我们在android中使用的将GLib和GStreamer日志重定向到android的logcat。

GStreamer有一个不同的API用于重定向日志,它的名称为


作为参考,您可以使用我们在android中使用的将GLib和GStreamer日志重定向到android的logcat。

GStreamer有一个不同的API用于重定向日志,它的名称为


作为参考,您可以使用我们在android中使用的将GLib和GStreamer日志重定向到android的logcat。

GStreamer有一个不同的API用于重定向日志,它的名称为

作为参考,您可以使用我们在android中使用的将GLib和GStreamer日志重定向到android的logcat

g_log_set_handler( G_LOG_DOMAIN, G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION, MyfGstGenLogHandle, NULL );
g_log_set_default_handler( MyfGstGenLogHandle, NULL );
g_log_set_handler( G_LOG_DOMAIN     , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( NULL             , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "GStreamer"      , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "GLib-GObject"   , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "GLib"           , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "GModule"        , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "GThread"        , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "Gnt"            , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "stderr"         , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "stdout"         , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "Gtk"            , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );
g_log_set_handler( "Gdk"            , (GLogLevelFlags) ( G_LOG_LEVEL_MASK | G_LOG_FLAG_FATAL| G_LOG_FLAG_RECURSION ), MyfGstGenLogHandle, NULL );