本文主要讨论pulseaudio模块的数据流。这里的模块(module)主要限制在sink和source这两种类型。其他类型的数据流后续有空
再撰文讨论。
pulseaudio的模块一般会启动一路线程进行数据的搬运和处理。
下面的是module-null-source模块的数据搬运线程启动代码。
进入thread_func函数内部看看函数做了哪些工作。
a.设置线程优先级。
b.设置消息处理队列。
c.for循环处理数据。
接下来看看for循环里面如何处理数据。
1.获取当前的系统时间。