3 ms·
> For example, placing the metadata block at the end of the file means you must download (or read from local storage) the entire song before you can play it. To
by seanalltogether 5y ago
> For example, placing the metadata block at the end of the file means you must download (or read from local storage) the entire song before you can play it. To avoid this, encoders tend to place it before the much larger multimedia stream block. The metadata block refers to absolute positions inside the multimedia stream block measured as an offset from the start of the file. You can’t make changes to the metadata (e.g. change the spelling of an artist’s name) without reassembling the entire file to recalculate the offsets.
- bombcar 5y agoI know local storage can seek to a location in a file without reading the whole thing (ZIP files start with a pointer to the metadata directory which is at the end of the file IIRC), so then all you need is a download system that lets you grab the first block of the file, and then ask for a later block without the middle blocks.
- pavon 5y agoBack in the HDD days, loading music metadata was far from instantaneous even with the metadata in the front. Putting it at the back would have doubled the time needed for the UI to update. Now, that SSDs are more ubiquitous though it might be time to revisit that decision.
- eropple 5y agoThis requires multiple requests (or did before QUIC, things may be better now) and a server expecting range requests. It's much more reliable, considering the general mess of web requests, to put everything at the front. It was even more reliable in 2005 to do so.
- JKCalhoun 5y agoYeah, PDF suffered for this because the catalog was at the end of the PDF file. My understanding is that "streamable PDFs" are something of a hack where only the first page is front-loaded. At least that used to be the case.