2017-08-17 38 views
0

这是有点难以跟踪GStreamer中的代码流。例如,如果你写的“C”代码,它有顺序执行命令,让你知道哪种说法是怎么回事之后,一个执行。但是在Gstreamer中,没有序列,大部分时间都难以理解代码流。GStreamer的代码流

+0

....好吧,你的问题是? –

+0

怎么知道的代码序列。即从开始到结束。 – user7825639

+0

是的,多线程和事件循环难以跟踪。 – Velkan

回答

0

取一个带有调试级别9的日志,然后在logs.so中搜索change_state。您将会知道流水线中元素的状态转换从何处开始。从此处尝试使用调试日志理解代码。即尝试了解有关元素状态转换的代码。

上面的方法是有用的,如果你只是想解决bug。但如果你想彻底理解gstreamer,那么首先你需要知道GOBJECT,它只是C与OOPS概念。试着了解层次结构元素要debug.ie理解GObject的继承第一,功能压倒一切是如何发生的,并有一个名为链mechanism.if你了解这些基本的机制,然后GStreamer的码流多了一个机制,就像其他C/C++代码流