metadata

Update of "metadata"
Login

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview

Artifact ID: d00471942ceb194a70fab9b4e792696e722c624f3c09130297ad1386b1089135
Page Name:metadata
Date: 2018-08-23 23:45:51
Original User: vandys
Mimetype:text/x-markdown
Parent: f7aa4484e154d4ac673b0222e117289b61a2b2d9b451acb96e6ac41fbbf731fd (diff)
Content

This is a chore-based server to provide long-polled metadata of an internet streaming station which uses the Icecast encapsulation to provide metadata (generally "artist - title" and album art URL).

Although web browsers can play internet streams, I haven't found any which accept, record, and make the Icecast metadata available. I knocked on the doors at the W3C and didn't really pick up any interest. So if you want your radio streaming web app to know about metadata, you have to do it off-browser.

Doing this in the browser would be much, much better.

Anyway.

This server accepts requests on /metadata/(which).json[?gen=] and send back JSON of "key: value" of all the values received from (which)'s metadata. It fires up a stream to (which) and pulls metadata from it, when possible sharing its information across multiple clients.

If your "gen" is less than the current generation of information, your request is completed immediately with the current values. Otherwise your request is held (i.e., long polling) until the stream changes. Typically your web app is XHR'ing these, and updating the UI with the current information as it changes.