MinimServer Forum

Full Version: Radio Paradise, metadata and MinimStreamer
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Radio Paradise (RP) has a set of FLAC streams at CD quality. These streams are specifically stated to be "experimental". One group of streams provides metadata about the currently streaming music, which is useful with RP as most songs are not announced.

I am, on a test basis, trying to use one of these "*flacm" streams. The relevant entry in my Radio Stations.m3u file is:

#EXTINF:-1,[*Paradise] Radio Paradise
http://stream.radioparadise.com/flacm

The station plays fine, but no metadata is visible in the Control Point (BubbleDS Next).

I think that this may be by design. The MinimStreamer manual states:

"If the network stream uses the icecast protocol for embedding metadata (such as track title and artist information for the currently playing song), MinimStreamer removes this metadata and sends the audio data to the music player. This makes the stream playable on music players that don't support the icecast protocol."

Do I correctly understand this to mean that metadata is removed from all radio streams played through MinimStreamer? If so, is there (or could there be) a workaround?

David
I will check this to see whether the stream is using icecast metadata. If so, it might be possible for a future version of MinimStreamer to read the metadata and show it in the MinimServer log.
(31-05-2020 18:25)simoncn Wrote: [ -> ]I will check this to see whether the stream is using icecast metadata. If so, it might be possible for a future version of MinimStreamer to read the metadata and show it in the MinimServer log.

Thanks, Simon. Would the change mean that the metadata is exposed to the Control Point if the latter wants to pick it up?

David
The UPnP protocol does not provide any way for the server to send this metadata to the control point. If your renderer can handle an Ogg/FLAC stream containing icecast metadata, you might be able to play the stream without using MinimStreamer, in which case the renderer could read the icecast metadata and send it to the control point.

I believe you are using a Linn renderer. This supports Ogg FLAC and icecast, so there is a good chance that this approach might work.
Thanks, Simon for your response, helpful as ever.

My renderer is indeed a Linn Klimax Exakt DSM, so I am trying to get the stream to play directly, without being routed through MinimStreamer, as you suggest. I am having difficulty in interpreting the instructions in the MimStreamer User Guide (the "Routing network streams via MinimServer" section).

As noted above, the stream is identified and plays correctly but without metadata with the line

#EXTINF:-1,[*Paradise] Radio Paradise

in the playlist. If I understand the User Guide correctly, with that line the stream is being routed via MinimStreamer. If I change the playlist line to

#EXTINF:-1,[+Paradise] Radio Paradise

the two entries appear in the list of radio stations as expected, but neither stream plays, and there are error messages in the log of the form

Chain: error starting chain
java.lang.RuntimeException: java.net.SocketTimeoutException: Read timed out
at com.minimstreamer.NetworkSource.start(NetworkSource.java:152)
at org.jstreamer.core.ChainSource.start(ChainSource.java:46)
at org.jstreamer.core.ChainImpl.startLinks(ChainImpl.java:79)
at org.jstreamer.core.ChainImpl.start(ChainImpl.java:55)
at com.minimstreamer.Streamer$NetworkRequestHandler.processRequest(Streamer.java:31​28)
at com.minimserver.Server$StreamerRequestHandler.processRequest(Server.java:23800)
at org.jminim.lib.HTTPConnection$WriterThread.runWriterThread(HTTPConnection.java:4​67)
at org.jminim.lib.HTTPConnection$WriterThread.run(HTTPConnection.java:422)
Caused by: java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.socketRead(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at java.net.SocketInputStream.read(Unknown Source)
at com.minimstreamer.NetworkSource.doStart(NetworkSource.java:401)
at com.minimstreamer.NetworkSource.start(NetworkSource.java:150)
... 7 more

and

Chain: error starting chain
java.lang.ArrayIndexOutOfBoundsException: 4000
at com.minimstreamer.NetworkSource.doStart(NetworkSource.java:402)
at com.minimstreamer.NetworkSource.start(NetworkSource.java:150)
at org.jstreamer.core.ChainSource.start(ChainSource.java:46)
at org.jstreamer.core.ChainImpl.startLinks(ChainImpl.java:79)
at org.jstreamer.core.ChainImpl.start(ChainImpl.java:55)
at com.minimstreamer.Streamer$NetworkRequestHandler.processRequest (Streamer.java:3128)
at com.minimserver.Server$StreamerRequestHandler.processRequest(Server.java:23800)
at org.jminim.lib.HTTPConnection$WriterThread.runWriterThread(HTTPConnection.java:4​67)
at org.jminim.lib.HTTPConnection$WriterThread.run(HTTPConnection.java:422)

What Have I done wrong, and how can I correctly instruct MinimServer to send the stream without routing it through MinimStreamer?

David
Hi David,

As long as the stream with metadata doesn't work yet, the flac stream without the metadata works flawlessly via TuneIn with a custom URL as I've been listening to that one on my Majik-DS in the home-office for around half a year now already.

I know this contradicts what RP says on their site but it's a fact.

The only bitch is that nowadays you can only add a custom-URL with the TuneIn app on your smartphone so I had to have that on there just to add the RP flac stream and then immediately uninstalled it again … Wink

Unfortunately the new stream WITH the metadata doesn't work when done in this way.

Regards, Louis.
Both these stack traces show that the stream is still being routed via MinimStreamer. If you did a rescan after changing your .m3u file, perhaps your control point didn't pick up the change. Most control points will refresh stream URLs if you clear the playing queue, navigate up one level in the browse tree and then down again. Your change to the .m3u file is the correct way to expose the original network stream to the control point and renderer.

I was able to reproduce the second stack trace. It was caused by the experimental stream not working properly (closing the connection without sending an HTTP response). MinimStreamer wasn't handling ths error correctly. I have added a fix but I can't test it (see below).

The problem with the experimental stream has now been fixed. I have tried playing it to my Linn DS without using MinimStreamer and it is working as expected, with metadata displayed in the control point.
(01-06-2020 11:19)Animal Wrote: [ -> ]Unfortunately the new stream WITH the metadata doesn't work when done in this way.

Thanks, Louis.

Played through MinimStreamer, the "Flacm" stream works very well; it just doesn't provide any metadata. Sound quality is excellent - as good as I've heard from Internet radio in fact. So that is my fallback position. But it would be nice to have both the sound quality and the metadata. There are several people in the WAM Forum Linn Club who are also interested in the outcome of this process.

David
@DavidHB: Did you see my reply?
Hi Simon,

Not 100% sure to me from your post if this requires a fix or not?

When I try to play the flacm stream directly from a playlist and not using MinimStreamer I don't see any metadata and have dropouts or what seems like too fast sound?

I now have this in the playlist:

#EXTINF:-1, Radio Paradise Main
http://stream.radioparadise.com/flacm

Maybe I still don't understand this properly?

Regards, Louis.
Pages: 1 2 3
Reference URL's