一、Goal
对 gstreamer 的调试,我们可能会期待 bus 上 Error 的抛出,但是大多数时候,事情总没有那么顺利。但其实 gstream 有大量的调试信息,这里将演示如何进行调试。
- 如何得到更多的 GStreamer 日志
- 如何打印自己的 debug 信息 到 GStreamer 的日志中
- 如何得到 pipeline 的图表
二、Printing debug information
2.1 日志等级说明
GStreamer和它的插件都包含了调试跟踪,时间戳、过程、类别、源代码文件、函数和元素信息都会被打印到控制台。
调试信息由 GST_DEBUG 控制
但是由于 GStreamer 的日志是冗长的,如果全部打印到 console 或者 重定向到文件会使得程序无法正常运行,因此请根据你的需求选择合适的调试等级。
GST_DEBUG 等级一共分为 8 个等级
- 0=none 没有任何输出
- 1=ERROR 打印出所有致命的错误。如果APP处理了这些错误,它可以继续运行
- 2=WARNING 这些问题是非致命的。用于警告User存在一些异常
- 3=FIXME 打印出 “fixme” 信息。一般会打印出发生错误的代码路径
- 4=INFO 打印出所有的 informati