GQueue是用链表来模拟队列,包含如下函数。
g_queue_peek_head
获取头节点数据部分。
g_queue_peek_head_link
获取头节点
g_queue_insert_before (GQueue *queue, GList *sibling, gpointer data)
在sibling前插入data。
g_queue_pop_head
移除队列的首元素。
gst_live_adder_setcaps{
//设置混音函数
gst_structure_get_int (structure, "width", &adder->width);
switch (adder->width) {
case 8:
adder->func = (adder->is_signed ?
(GstLiveAdderFunction) add_int8 : (GstLiveAdderFunction) add_uint8);
break;
}
gst_live_live_adder_chain{
插入数据。
如果时间不重合,就插入。
如果时间重合,就混合。
}
gst_live_adder_loop{
推数据出去。
}