跟踪Gstreamer中的代码流有点困难。例如,如果你写' c'代码,它具有顺序命令执行,以便您知道哪个语句将在哪个语句之后执行。然而,在Gstreamer中没有序列,并且大多数时候它很难理解代码流。
答案 0 :(得分:0)
使用调试级别9的日志并在log中搜索change_state。因此,您将了解管道中元素的状态转换从何处开始。从那时起,尝试使用debug logs.ie来理解代码。尝试理解关于元素状态转换的代码。
如果你只是试图解决这个错误,那么上面的方法很有用。但是如果你想彻底了解gstreamer那么首先你需要知道GOBJECT,它只是带有OOPS概念的C。试着理解元素的层次结构你想调试。首先了解gobject中的继承,如何发生函数重写,还有一种叫做链机制的机制。如果你理解了这些基本机制,那么gstreamer代码流就像其他c / c ++代码流一样