<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><div><br></div><div>On Mon, Oct 14, 2019, at 13:15, Rémi Denis-Courmont wrote:<br></div><blockquote type="cite" id="qt"><div>Hi,<br></div><div><br></div><div>Using cache only essentially optimises for half-assed plugins that don't implement streaming like the libsmbclient-based one, but *breaks* slow bandwidth inputs even with properly implemented plugins like HTTP or FTP, which require prefetch.<br></div><div><br></div><div>I don't think we should optimise for bugs if it means breaking something else.<br></div></blockquote><div><br></div><div>I see the problem with "cache", it will very often read more than needed.<br></div><div>"prefetch" will also read a little more than needed. During a very small time while the meta parser is parsing, the prefetch thread will continue to read (but it will be likely less extra read than "cache").<br></div><div><br></div><div>Also, we have an issue with taglib, it will seek back and forth in an non optimized way. That is why "cache" could be useful here since it caches more than one "tracks".<br></div><div><br></div><div>I see 3 solutions:<br></div><div> - 1/ the "prefetch" plugin could handle more than one "tracks" like "cache" plugin is doing.<br></div><div> - 2/ Add more parameters to the "cache" plugin, like "prefetch", have a way to setup the read_atone, and maybe set it to 0 for our taglib case.<br></div><div> - 3/ Improve taglib<br></div><div><br></div><blockquote type="cite" id="qt"><div class="qt-gmail_quote"><div>Le 10 octobre 2019 16:54:59 GMT+03:00, "Hugo Beauzée-Luyssen" <hugo@beauzee.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-gmail_quote"><pre class="qt-k9mail"><div>We can't use vlc_stream_NewURL as it will include the skiptags filter<hr> modules/meta_engine/taglib.cpp | 3 +++<br></div><div> 1 file changed, 3 insertions(+)<br></div><div><br></div><div>diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp<br></div><div>index c71a66ca58..2826a7d85c 100644<br></div><div>--- a/modules/meta_engine/taglib.cpp<br></div><div>+++ b/modules/meta_engine/taglib.cpp<br></div><div>@@ -842,6 +842,9 @@ static int ReadMeta( vlc_object_t* p_this)<br></div><div>     free( psz_uri );<br></div><div>     if( p_stream == NULL )<br></div><div>         return VLC_EGENERIC;<br></div><div>+    stream_t* p_filter = vlc_stream_FilterNew( p_stream, "cache" );<br></div><div>+    if( p_filter )<br></div><div>+        p_stream = p_filter;<br></div><div> <br></div><div>     VlcIostream s( p_stream );<br></div><div>     f = FileRef( &s );<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></body></html>