[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: new emms-streams.el
From: |
Yoni Rabkin |
Subject: |
Re: new emms-streams.el |
Date: |
Tue, 14 Jan 2020 17:18:43 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/26.3 (gnu/linux) |
Mike Kazantsev <address@hidden> writes:
> On Sun, 01 Dec 2019 13:12:52 -0500
> Yoni Rabkin <address@hidden> wrote:
>
>> Mike Kazantsev <address@hidden> writes:
>>
>> > Guess for players without extensive APIs or stream metadata processing
>> > it can be implemented via timer with http request.
>>
>> In fact, I implemented it for Emms many (too many) years ago completely
>> in elisp. It actually worked, and was a fun hack, but of course locked
>> up Emacs as it did so.
>
> Note that it's not inevitable these days - emacs has fully async
> sockets, where as far as I know (and was able to test with mpv),
> neither connection nor reception should block, only cpu-bound
> processing, which should be pretty liteweight in this case.
>
> So I think it should be possible to do fully in elisp, and don't think
> there are different standards for these tags - everything uses icy,
> and did for more than a decade now, though haven't looked too closely,
> and might be wrong.
Icy metadata spliced into the stream was, and still is, an ugly and
unstructured kludge. I would want to avoid it if possible, and fall back
to it if needed.
"Modern" icecast servers provide the information in a standard,
structured way: http://icecast.org/docs/icecast-2.4.1/server-stats.html
For instance,
$ curl -H "Icy-MetaData: 1" -v
"http://audio-mp3.ibiblio.org:8000/status-json.xsl"
Reports an Icecast 2.4.4 server along with a host of structured data at
that address.
...while
$ curl -H "Icy-MetaData: 1" -v "http://stream0.wfmu.org/freeform-high.mp3"
>/dev/null
Reports an Icecast 2.3.3 server and exposes nothing at "/status-json.xsl"
We need to re-write emms-stream-info.el in any case.
--
"Cut your own wood and it will warm you twice"
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: new emms-streams.el,
Yoni Rabkin <=