我开发了一个使用以下Gstreamer管道的音频播放器:
appsrc! mpegaudioparse!排队!疯了!量! audioconvert!听觉样本! autoaudiosink
该应用程序有效。但是,有时它会通知一些恼人的警告消息如下:
GStreamer-CRITICAL **:_gst_util_uint64_scale_int:断言' num> = 0'失败 xcb_connection_has_error()返回true
我没有在我的应用程序中调用gst_util_uint64_scale_int()。 这是我使用的Gstreamer和插件的版本: gstreamer1.0(1.8.3) gstreamer1.0-插件基(1.8.3) gstreamer1.0-plugins的好(1.8.3) gstreamer1.0-插件丑(1.8.3) gstreamer1.0-ALSA(1.8.3) gstreamer1.0-的pulseaudio(1.8.3)
我已经花了很多时间来解决这个问题,但还没有找到原因。 如果有人知道这些警告信息的原因,请帮助。
更新#2 :当我设置GST_DEBUG = fatal_criticals并在GDB中运行我的播放器时,我得到了以下堆栈跟踪:
[New Thread 0xaa01cb40 (LWP 22656)]
Thread 149 "source:src" received signal SIGTRAP, Trace/breakpoint trap.
[Switching to Thread 0xab82fb40 (LWP 22655)]
0xb7878749 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
(gdb) backtrace
#0 0xb7878749 in g_logv () from /lib/i386-linux-gnu/libglib-2.0.so.0
#1 0xb7878805 in g_log () from /lib/i386-linux-gnu/libglib-2.0.so.0
#2 0xb7878839 in g_return_if_fail_warning () from /lib/i386-linux-gnu/libglib-2.0.so.0
#3 0xb7a53ed6 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#4 0xb7545910 in gst_base_parse_push_frame () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#5 0xb7549fbd in gst_base_parse_finish_frame () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#6 0xb518158e in ?? () from /usr/lib/i386-linux-gnu/gstreamer-1.0/libgstaudioparsers.so
#7 0xb75419f5 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#8 0xb7546a67 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#9 0xb7a169df in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#10 0xb7a1e98c in gst_pad_push () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#11 0xb755f393 in ?? () from /usr/lib/i386-linux-gnu/libgstbase-1.0.so.0
#12 0xb7a497ca in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#13 0xb7a4a767 in ?? () from /usr/lib/i386-linux-gnu/libgstreamer-1.0.so.0
#14 0xb7899a64 in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#15 0xb789900a in ?? () from /lib/i386-linux-gnu/libglib-2.0.so.0
#16 0xb7814295 in start_thread (arg=0xab82fb40) at pthread_create.c:333
#17 0xb7d50eee in clone () at ../sysdeps/unix/sysv/linux/i386/clone.S:114
(gdb)