<!DOCTYPE html><html><head><title></title><style type="text/css">
p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div><a href="https://docs.microsoft.com/en-us/windows/win32/coreaudio/audclnt-streamflags-xxx-constants#remarks">https://docs.microsoft.com/en-us/windows/win32/coreaudio/audclnt-streamflags-xxx-constants#remarks</a><br></div><div><br></div><div>"the audio engine will signal the event handle to notify the client each time a buffer becomes ready for the client to process."<br></div><div><br></div><div>Is this the interrupt ? I don't know the internal of Windows, but for me it's just like a condition variable.<br></div><div><br></div><div>On Thu, Oct 3, 2019, at 11:17, Thomas Guillem wrote:<br></div><blockquote type="cite" id="qt"><div><br></div><div>On Thu, Oct 3, 2019, at 11:14, Rémi Denis-Courmont wrote:<br></div><blockquote id="qt-qt" type="cite"><div>The interrupt is useless. It just draws energy for naught.<br></div></blockquote><div><br></div><div>Which interrupt ?<br></div><div><br></div><blockquote id="qt-qt" type="cite"><div><br></div><div class="qt-qt-gmail_quote"><div>Le 1 octobre 2019 12:28:52 GMT+03:00, Thomas Guillem <thomas@gllm.fr> a écrit :<br></div><blockquote class="qt-qt-gmail_quote" style="margin-top:0pt;margin-right:0pt;margin-bottom:0pt;margin-left:0.8ex;border-left-color:rgb(204, 204, 204);border-left-style:solid;border-left-width:1px;padding-left:1ex;"><div><br></div><div>On Tue, Oct 1, 2019, at 11:17, Rémi Denis-Courmont wrote:<br></div><blockquote type="cite" id="qt-qt-qt"><div>Hi,<br></div><div><br></div><div>You can't do low delay with long period. That's fundamentally impossible. The end-to-end delay cannot be shorter than the period.<br></div></blockquote><div><br></div><div>Yes, I will remove the mention about low delay.<br></div><div><br></div><div>And what about the forced interrupt ? <br></div><div><br></div><div><br></div><blockquote type="cite" id="qt-qt-qt"><div><br></div><div class="qt-qt-qt-gmail_quote"><div>Le 1 octobre 2019 12:07:46 GMT+03:00, Thomas Guillem <thomas@gllm.fr> a écrit :<br></div><blockquote style="margin-top:0pt;margin-right:0pt;margin-bottom:0pt;margin-left:0.8ex;border-left-color:rgb(204, 204, 204);border-left-style:solid;border-left-width:1px;padding-left:1ex;" class="qt-qt-qt-gmail_quote"><pre class="qt-qt-qt-k9mail"><div><br></div><div><br></div><div>On Mon, Sep 30, 2019, at 21:38, Rémi Denis-Courmont wrote:<br></div><blockquote style="margin-top:0pt;margin-right:0pt;margin-bottom:1ex;margin-left:0.8ex;border-left-color:rgb(114, 159, 207);border-left-style:solid;border-left-width:1px;padding-left:1ex;" class="qt-qt-qt-gmail_quote"><div>Le maanantaina 30. syyskuuta 2019, 17.26.10 EEST Thomas Guillem a écrit :<br></div><blockquote style="margin-top:0pt;margin-right:0pt;margin-bottom:1ex;margin-left:0.8ex;border-left-color:rgb(173, 127, 168);border-left-style:solid;border-left-width:1px;padding-left:1ex;" class="qt-qt-qt-gmail_quote"><div>And remove the sleep in case of full buffer. This will improve low delay<br></div><div>rendering.<br></div></blockquote><div>I don't really see why. Low delay does not imply short buffers - so in fact, in <br></div><div>low delay case, the buffer should never be even close to full, and thus there <br></div><div>never should be a need to wait.<br></div></blockquote><div><br></div><div>What if you are playing one second of audio, that is the case with some ogg files. Waiting from Play should not happen in most cases but it can happen anyway (if you increase the rate, or depending on the input).<br></div><div><br></div><div>By the way, Pulse audio is the only module that doesn't wait and trigger an overflow with flushing in that case (that is not very common I concede).<br></div><div><br></div><div>> <br></div><blockquote style="margin-top:0pt;margin-right:0pt;margin-bottom:1ex;margin-left:0.8ex;border-left-color:rgb(114, 159, 207);border-left-style:solid;border-left-width:1px;padding-left:1ex;" class="qt-qt-qt-gmail_quote"><div>And if there is a need to way because of "high" delay / advance, then the <br></div><div>thread will be descheduled, whether it is for a time-out, or for an event.<br></div><div>This patches just forces an interrupt, which potentially inhibits power <br></div><div>management.<br></div></blockquote><div><br></div><div>The WaitForSingleObject() will be executed only if the audio buffer is full. As I said, this case should not happen often.<br></div><div>I don't see how the interrupt is forced in that case.<br></div><div><br></div><div>Waiting for audio, without a guessed sleep, is a necessary step for VLC 5.0 where we may set all aout modules asynchronous (In that case, the wait will be done from an aout module own thread).<br></div><div><br></div><div>> <br></div><blockquote style="margin-top:0pt;margin-right:0pt;margin-bottom:1ex;margin-left:0.8ex;border-left-color:rgb(114, 159, 207);border-left-style:solid;border-left-width:1px;padding-left:1ex;" class="qt-qt-qt-gmail_quote"><div>-- <br></div><div>レミ・デニ-クールモン<br></div><div><a href="http://www.remlab.net/">http://www.remlab.net/</a><hr>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></div></blockquote><div><hr>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div><a href="https://mailman.videolan.org/listinfo/vlc-devel">https://mailman.videolan.org/listinfo/vlc-devel</a><br></div></pre></blockquote></div><div><br></div><div>-- <br></div><div>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté. <br></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div>https://mailman.videolan.org/listinfo/vlc-devel<br></div></blockquote><div><br></div></blockquote></div><div><br></div><div>-- <br></div><div>Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté. <br></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div>https://mailman.videolan.org/listinfo/vlc-devel<br></div></blockquote><div><br></div><div>_______________________________________________<br></div><div>vlc-devel mailing list<br></div><div>To unsubscribe or modify your subscription options:<br></div><div>https://mailman.videolan.org/listinfo/vlc-devel<br></div></blockquote><div><br></div></body></html>