This info is all taken from the format documentation, albeit paraphrased.
Ogg Vorbis is interesting, streaming-wise, in that it's arranged like a newspaper article. That is, the more important stuff in a given packet (Vorbis packet, not TCP packet) comes first. Thus the streamer can simply chop off part of each packet to decrease the bitrate.
This is obviously optimal when it comes to streaming audio, as the
extremely cpu-efficient nature allows for many streams to be run off a lesser computer than would otherwise be neccessary.
In addition to this, it's actually streaming. It's not trying to get it 100% correct, just to make the sound play, at the right time. So it's not going to pause in mid-stream, buffer a bit, and restart where it was. It might skip, though. Obviously this isn't always desirable, but you don't have to use the Ogg streaming protocol, you can just transfer the file.
Transferring the file is also improved over MP3s, as the file header contains information about the file, such as the title, which in MP3s is at the very end of the file. So if you stream an Ogg Vorbis encoded song off a webserver, you can read the header and know what the title/artist/etc. are. A significant improvement.
All in all, the Ogg Vorbis format has some actual thought being put into it, rather than simply falling together as little bits as patched on to the raw codec. Ogg Vorbis is designed from the ground up to accomodate the needs of the 'net, and in this is unlike any other format.
[ #k5: dyfrgi ]
[ TINK5C ]