<html><head><meta http-equiv="Content-Type" content="text/html charset=us-ascii"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><br><div><div>On 1 Jan 2015, at 06:17, Duncan Palmer <<a href="mailto:dpalmer@digisoft.tv">dpalmer@digisoft.tv</a>> wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div dir="ltr">On 31 December 2014 at 19:29, Chris Tapp <span dir="ltr"><<a href="mailto:opensource@keylevel.com" target="_blank">opensource@keylevel.com</a>></span> wrote:<br><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><span class=""></span><div>If I leave the buffer settings at their defaults, then the whole stream breaks up and it keeps pausing to buffer every few seconds. If it makes any difference, the DVB TS is a live source.</div></div></blockquote><div><br></div><div>With your settings, I see that the multiqueue has been configured by the decodebin to allow plenty of buffering, so that's fine. I guess its however uridecodebin configures queue2 that causes you grief with the default buffer settings.<br><br></div><div>I see the pipeline you've sent me uses a fakesink for video - do you still get the audio problems with this pipeline? <br></div></div></div></div></blockquote><div><br></div><div>Sorry, should have sent a graph with xvimagesink for the video path. My app uses a fakesink and the problem is the same.</div><div><br></div><div>What seems strange to me is the video is good when the audio is breaking up, which makes me think this isn't a simple buffering problem. </div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>It sounds like your pipeline is being starved - can you see how much data is buffered in the queue elements? I've never used gstreamer for DVB playback, but have plenty of experience with other DVB stacks. These stacks often use an 'stc offset' to block data at the equivalent of the synchronizer element for a few hundred ms (time equal to the stc offset), forcing upstream buffering. Too much jitter, or too small an stc offset is a common cause of pipeline startup problems in these stacks. In your case, the pipeline is (I think) being clocked by the audio sink, and the tsdemux will modify the PTS/DTS values in the transport stream to account for clock drift between the audio clock and headend. I'm not sure how buffering is forced - perhaps this is your problem?<br></div></div></div></div></blockquote><div><br></div><div>The default clock does come from the audiosink. I've tried using the GstSystemClock, but that didn't make the glitches go away. I'm not sure if there's an easy way to get at the buffering information, but I'll have a look.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>There will be an variable offset of up to 2 seconds between audio and video PTS in your stream. So, audio will arrive at the synchronizer element much earlier than video. I'm not sure how the synchronizer element deals with this - does it send the audio on it's way, or wait for the first video to arrive?<br></div></div></div></div></blockquote><div><br></div><div>I'm not sure. Also worth a look I think.</div><br><blockquote type="cite"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><div>That's all a little bit vague, but hopefully of some help.</div></div></div></div></blockquote></div><br><div apple-content-edited="true">
<div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div style="color: rgb(0, 0, 0); letter-spacing: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px;"><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div>--</div><div><br></div><div>Chris Tapp</div><div><a href="mailto:opensource@keylevel.com">opensource@keylevel.com</a></div><div><a href="http://www.keylevel.com">www.keylevel.com</a></div><div><br></div><div>----</div><div>You can tell you're getting older when your car insurance gets real cheap!</div></div></span></div></div></div></div>
</div>
<br></body></html>