<html><body><div style="color:#000; background-color:#fff; font-family:times new roman, new york, times, serif;font-size:12pt"><div id="yiv1745220067"><div><div style="color:#000;background-color:#fff;font-family:times new roman, new york, times, serif;font-size:12pt;"><div id="yiv1745220067yui_3_2_0_18_134305529838250"><span id="yiv1745220067yui_3_2_0_18_134305529838273">Hi,<br><br>When an A/V stream is played in a pipeline, video and audio streams are passed downstream in separate branches. For the sake of sync. there are queue buffers between A/V codec and A/V sink. After A/V frames are pre-rolled, the sinks send message to the pipeline. When the pipeline receives both messages, A/V streams begin to play in terms of timestamp for sync. In case that one of branches is blocked, the pipeline would be deadlock. E.g. either audio buffers or video buffers are filled before one of A/V prerolls is reached. I met one case, there are many audio packets before
 the video packets come. I have to use a big buffer, In another case, video doesn't start from I frame, as a result, the audio buffers are quickly full. The audio branch blocks further incoming packets. Is there a better approach to oversome this issue?   <br></span><span></span></div><div id="yiv1745220067yui_3_2_0_18_134305529838253"> </div><div id="yiv1745220067yui_3_2_0_18_134305529838256"><br></div><div class="yiv1745220067yui_3_2_0_18_134305529838257" id="yiv1745220067yui_3_2_0_18_134305529838259" style="color:rgb(26, 26, 26);font-size:13px;font-family:arial, helvetica, clean, sans-serif;background-color:transparent;font-style:normal;">Kind Regards<br></div><div class="yiv1745220067yui_3_2_0_18_134305529838260" id="yiv1745220067yui_3_2_0_18_134305529838262" style="color:rgb(26, 26, 26);font-size:13px;font-family:arial, helvetica, clean,
 sans-serif;background-color:transparent;font-style:normal;"><br>Kai<br></div></div></div></div></div></body></html>