Instant-start music with HTTP Live Streaming?

Up today on Mac Rumors is the article Apple’s Music Streaming Service to Eliminate Buffering Lag With Locally-Stored Snippets?, which details a patent application for a streaming music locker service that makes music instantly playable, with no connection-time delay, by cacheing the first few seconds of the audio locally, and playing that while the network connection is negotiated and the buffer fills. From their summary:

In essence, local storage requirements can be significantly reduced by keeping only a few seconds’ worth of each audio or video file on the device itself. That content could begin playing immediately upon selection by the user as the remainder of the requested file is streamed in the background and seamlessly appended onto the locally-stored portion. The solution seeks to eliminate lag that can be generated by a streaming-only solution as the device builds an initial buffer of content to ensure smooth playback.

There’s a potential hassle here in perfectly timing the handoff from local file-based playback to getting the audio from the network stream (though of course a local buffer like an Audio Queue would help).

But it gets even easier. Assume your stream protocol is HTTP Live Streaming. Then you’re not opening and holding a socket connection, you’re just pulling down a series of 10-second segments of audio, and your cached audio is just the first n segments. You also don’t have to negotiate performance right off the bat, and instead just let HLS adapt during its refreshes later in the playback. And you don’t have to expect to hold the connection consistently, it just has to be available often enough for the .m3u8 refreshes and fetches of later segments to work.

Was not really paying attention to this music locker stuff before, but this idea sounds pretty clever.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.