<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 12, 2016 at 9:21 AM, Ian Malone <span dir="ltr">&lt;<a href="mailto:ibmalone@gmail.com" target="_blank">ibmalone@gmail.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div id=":1t8" class="" style="overflow:hidden"> If you want to do that<br>
you have to cheat and cache everything before you start playback. Or,<br>
in more general terms, doing anything non-linear with multimedia<br>
information is very difficult to handle in a streamed manner</div></blockquote></div><br></div><div class="gmail_extra">No. I never said I wanted to &quot;stream&quot; anything. I wanted to play a local mp3 file sitting on my hard drive, to the default speakers. Mpg123 serves that purpose.<br></div><div class="gmail_extra">And as it fits the bill of &quot;the unix way&quot; (a simle, self-contained tool doing a single thing and doing it efficiently),IMHO it should be part of the standard toolset. That was my reasoning and I stick with that.<br><br></div><div class="gmail_extra">Now, if we drift the topic to &quot;how to do a mp3 player&quot; I bet I could design a player using mpg123 and standard command line gnu tools that performs much faster than one relying on the tons of smegma that come along Gstreamer + GUI toolkits that Gnome/KDE multimedia APIs.<br><br></div><div class="gmail_extra">What you call &quot;cheating&quot; (pre-loading the id3 info before loading every song instead of loading the whole file into ram, seeking to the end, and extracting the id3 info as each file is played) is actually efficient design, in my book.<br><br></div><div class="gmail_extra">Btw: id3 info could be obtained by using the http feature of requesting part of a file(*), by first obtaining the file size, closing the connection, then requesting the last &quot;x&quot; bytes (total file size - id3), that way you get your Id3 over &quot;streaming&quot; before requesting the whole file. :)<br><br></div><div class="gmail_extra">FC<br>(*)<br><a href="http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html">http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html</a><br></div><div class="gmail_extra"><br clear="all"><br>-- <br><div class="gmail_signature">During times of Universal Deceit, telling the truth becomes a revolutionary act<br>Durante épocas de Engaño Universal, decir la verdad se convierte en un Acto Revolucionario<br> - George Orwell<br></div>
</div></div>