Post Reply 
Let's brainstorm..Setting up MinimServer to feed a USB DAC
29-12-2013, 00:28
Post: #61
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(27-12-2013 12:47)PeteManchester Wrote:  Hi,

I've just done a test and if I use BubbleUPnP to add two tracks at the same time then it works.
If I add one track, wait a few seconds and add a second track, the second track is not displayed in the BubbleUPnP playlist even though it is added to the MediaPlayer playlist.

BUT, if I do the same test with a different Renderer, then BubbleUPnP works.

I will have a look at MediaPlayer to see if I can figure out why this is happening..

Cheers,

Pete.

Hi Pete,

It's great that you were able to reproduce the track appending issue when using BubbleUPnP. Hopefully it's an incompatibility that's easy to fix.

I have also purchased a copy of BubbleDS to see if it works any better with MediaPlayer. Unfortunately I found that it has the same issues as BubbleUPnP when controlling MediaPlayer, which makes sense because it probably shares a lot of the code with BubbleUPnP.

Another reason I bought BubbleDS was that I wanted to control radio stations set up in MediaPlayer. With Kinsky they work great - I tested some of the stations from the default list and they all worked well. BubbleDS complains about missing codecs - I'll email the developer at some point to see what the issue is.

Cheers,
Ciprian
Find all posts by this user
Quote this message in a reply
30-12-2013, 18:59
Post: #62
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(29-12-2013 00:28)classical11 Wrote:  Hi Pete,

It's great that you were able to reproduce the track appending issue when using BubbleUPnP. Hopefully it's an incompatibility that's easy to fix.

I have also purchased a copy of BubbleDS to see if it works any better with MediaPlayer. Unfortunately I found that it has the same issues as BubbleUPnP when controlling MediaPlayer, which makes sense because it probably shares a lot of the code with BubbleUPnP.

Another reason I bought BubbleDS was that I wanted to control radio stations set up in MediaPlayer. With Kinsky they work great - I tested some of the stations from the default list and they all worked well. BubbleDS complains about missing codecs - I'll email the developer at some point to see what the issue is.

Cheers,
Ciprian

Hi Ciprian,

Thanks to BubbleSofts help I have managed to fix the problem with MediaPlayer when using BubbleUPnP.

There is a new version of mediaplayer.jar in the build/beta directory on GitHub

This fixes the issue of not being able to see any tracks that are added to the playlist.

Cheers,

Pete.
Find all posts by this user
Quote this message in a reply
31-12-2013, 04:43
Post: #63
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(30-12-2013 18:59)PeteManchester Wrote:  Hi Ciprian,

Thanks to BubbleSofts help I have managed to fix the problem with MediaPlayer when using BubbleUPnP.

There is a new version of mediaplayer.jar in the build/beta directory on GitHub

This fixes the issue of not being able to see any tracks that are added to the playlist.

Cheers,

Pete.

Hi Pete,

Thanks very much for fixing the problem. I tested the new version and can confirm that it is now working (both adding large albums to the playlist as well as appending new tracks to a non-empty playlist).

One a different note: I have also installed your MediaPlayer on my PC (running Ubuntu 12.04 64 bit), which worked fine once I copied over the OpenHome native libraries compiled for my platform from the MinimServer installation.

I have been using MediaPlayer on my PC a fair bit over the last 2 weeks and it has been fairly stable. The only issue I ran into is a crash that has occurred only twice so far, in the OpenHome libohNet.so library:

# Problematic frame:
# C [libohNet.so+0xe6c60] OpenHome::AutoNetworkAdapterRef::Adapter() const+0x10

Have you seen this before?

Unfortunately I don't have a core dump for this problem (or even a call stack). I enabled core dump generation on my system and will have a look/post it here if it happens again.

Thanks again for looking into the problem with BubbleUPnP.

Cheers,
Ciprian
Find all posts by this user
Quote this message in a reply
01-01-2014, 19:34
Post: #64
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
Hi Ciprian,

I have not seen that issue with libohNet.so before, but I have not tested on Ubuntu before. If you can get the core dump I will ask the OpenHome team if they have any ideas what the issue could be.

I have had a look at the BubbleDS issue with the radio stations and it is because I was not adding any protocol-info to the meta data of the radio station and so BubbleDS could not recognize the mime-type of the radio station. The information in BubbleDS suggested that there was a config option that could disable the check for the mime-type attribute, but I couldn't find the options,as a temporary fix I have hard coded some protocol-info and it now seems to work, Ideally I should be dynamically setting the protocol-info for each radio station. When I get time I will look at doing that. There is another new version in the /build/beta directory that should work for radio stations.

Cheers,

Pete.
Find all posts by this user
Quote this message in a reply
02-01-2014, 00:57
Post: #65
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(01-01-2014 19:34)PeteManchester Wrote:  Hi Ciprian,

I have not seen that issue with libohNet.so before, but I have not tested on Ubuntu before. If you can get the core dump I will ask the OpenHome team if they have any ideas what the issue could be.

I have had a look at the BubbleDS issue with the radio stations and it is because I was not adding any protocol-info to the meta data of the radio station and so BubbleDS could not recognize the mime-type of the radio station. The information in BubbleDS suggested that there was a config option that could disable the check for the mime-type attribute, but I couldn't find the options,as a temporary fix I have hard coded some protocol-info and it now seems to work, Ideally I should be dynamically setting the protocol-info for each radio station. When I get time I will look at doing that. There is another new version in the /build/beta directory that should work for radio stations.

Cheers,

Pete.

Hi Pete,

Thanks for the temporary fix to the radio stations - I tested your new version and I was able to open the default stations with BubbleDS. However I would like to listen to Radio NZ Concert, which unfortunately streams in WMA format and this does not work through Bubble DS (slightly different error but also referring to the mime-type check setting, which is not available. I'll email BubbleSoft about this.). So I will probably need to wait for your full fix in order to get it to work or get BubbleSoft to add the missing setting to BubbleDS. In the meantime I can use Kinsky which can play this station just fine.

Thanks,
Ciprian
Find all posts by this user
Quote this message in a reply
02-01-2014, 05:04
Post: #66
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
FYI, the URL for Radio NZ Concert is:
mmsh://streaming.radionz.co.nz/concert-mbr?MSWWExt=.asf

MediaPlayer complains about mmsh but it works anyway:
2014-01-02 16:53:17,272 [Thread-7] ERROR [org.rpi.radio.parsers.FileParser] java.net.MalformedURLException: unknown protocol: mmsh

From the wiki it appears that MMSH is Microsoft's proprietary streaming protocol that has been deprecated. Unfortunately it is still used by this radio station.. :-(
Find all posts by this user
Quote this message in a reply
03-01-2014, 11:13
Post: #67
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(02-01-2014 05:04)classical11 Wrote:  FYI, the URL for Radio NZ Concert is:
mmsh://streaming.radionz.co.nz/concert-mbr?MSWWExt=.asf

MediaPlayer complains about mmsh but it works anyway:
2014-01-02 16:53:17,272 [Thread-7] ERROR [org.rpi.radio.parsers.FileParser] java.net.MalformedURLException: unknown protocol: mmsh

From the wiki it appears that MMSH is Microsoft's proprietary streaming protocol that has been deprecated. Unfortunately it is still used by this radio station.. :-(

Ahh, ok, I see what you mean....

When using Kinsky that link plays on MediaPlayer, but when using BubbleDS it looks like it checks the link and displays the message 'The Track is not playable'.

Sorry nothing I can do to fix that one..

Pete.
Find all posts by this user
Quote this message in a reply
03-01-2014, 14:13
Post: #68
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
Sorry, my previous post was quite confusing. Yes, that's exactly what I meant - MediaPlayer can play the link when it's initiated through Kinsky but not from BubbleDS.

I've described the problem to the BubbleDS developer and he's looking into it. He also suggested I try a different link, "http://streaming.radionz.co.nz/concert-mbr". This points to a file with the following contents:
[Reference]
Ref1=http://streaming.radionz.co.nz/concert-mbr?MSWMExt=.asf
Ref2=http://103.14.3.137:80/concert-mbr?MSWMExt=.asf

If I set the player to mpd in app.properties, I don't get an error when I try playing this radio station (with the new URL above) from BubbleDS but the stream stops very quickly. The log shows the status changing from Buffering to Playing to Stopped very quickly.

If I change the player to mplayer, it works but it takes forever to buffer the stream (over a minute). I need to figure out how to configure mplayer to reduce the buffering.

I need to experiment with mpd & mplayer from the command line to understand them better. (I haven't even figured out yet how to play using mpd from the command line.)

But I feel I am really close to getting it working.. Smile

Cheers,
Ciprian
Find all posts by this user
Quote this message in a reply
03-01-2014, 14:55
Post: #69
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
(03-01-2014 14:13)classical11 Wrote:  Sorry, my previous post was quite confusing. Yes, that's exactly what I meant - MediaPlayer can play the link when it's initiated through Kinsky but not from BubbleDS.

I've described the problem to the BubbleDS developer and he's looking into it. He also suggested I try a different link, "http://streaming.radionz.co.nz/concert-mbr". This points to a file with the following contents:
[Reference]
Ref1=http://streaming.radionz.co.nz/concert-mbr?MSWMExt=.asf
Ref2=http://103.14.3.137:80/concert-mbr?MSWMExt=.asf

If I set the player to mpd in app.properties, I don't get an error when I try playing this radio station (with the new URL above) from BubbleDS but the stream stops very quickly. The log shows the status changing from Buffering to Playing to Stopped very quickly.

If I change the player to mplayer, it works but it takes forever to buffer the stream (over a minute). I need to figure out how to configure mplayer to reduce the buffering.

I need to experiment with mpd & mplayer from the command line to understand them better. (I haven't even figured out yet how to play using mpd from the command line.)

But I feel I am really close to getting it working.. Smile

Cheers,
Ciprian

Hi Ciprian,

I tried the link "http://streaming.radionz.co.nz/concert-mbr" yesterday, but the problem is that the contents of the .asx file refer back to itself and so I end up with another .asx file which MPD can't play.

Code:
[Reference]
[Reference]
Ref1=http://streaming.radionz.co.nz/concert-mbr?MSWMExt=.asf
Ref2=http://103.14.3.137:80/concert-mbr?MSWMExt=.asf

When using MPD in MediaPlayer I have to parse all the radio links to get the stream to pass to MPD, at the moment I cannot figure out how to parse the Radio NZ Concert stream because it always refers back to itself. There must a way because mplayer and Foobar will play the url.

The big advantage of mplayer is that you can pass it almost any url stream and it will play it, with MPD I have to parse the url first. But MPD handles gapless playback very well.

There are some otpions in MediaPlayer to change the caching of mplayer

Code:
mplayer.cache    The size of the cache mplayer will try to maintain    
mplayer.cache_min    The minimum size in percent of cache that mplayer will fill before playing the stream

Also from the command line you can change the cache settings of mplayer using

Code:
-cache-min <percentage>
-cache <kBytes>

MPlayer Options

To control MPD from the command line you will need to install mpc or a similar client.

Cheers,

Pete
Find all posts by this user
Quote this message in a reply
06-01-2014, 04:18
Post: #70
RE: Let's brainstorm..Setting up MinimServer to feed a USB DAC
Hi Pete,

When MediaPlayer is configured with mpd and I'm using Kinsky to play the radio station using this URL, "mmsh://streaming.radionz.co.nz/concert-mbr?MSWWExt=.asf", it works. I'm not sure how you parse that to send it to mpd but it does the trick. Do you use the mmsh prefix to determine this is a Microsoft Media Server (MMS) stream? Or do you just pass it with the mmsh prefix to mpd?

When using the other URL, "http://streaming.radionz.co.nz/concert-mbr", which is an asx file containing this playlist:
[Reference]
Ref1=http://streaming.radionz.co.nz/concert-mbr?MSWMExt=.asf
Ref2=http://103.14.3.137:80/concert-mbr?MSWMExt=.asf

Could you not use the MSWWExt parameter to work out the referenced URLs are also MMS streams because of the ASF container used? Then you could treat them the same as the first ("mmsh://...") URL.

From what I've read on the wiki about MMS,
http://en.wikipedia.org/wiki/Microsoft_Media_Server
if you specify the mms:// or mmsh:// to the the client (WMP in the example on the wiki), it will handle both RTSP and the older MMS protocol. So applying that prefix for ASF containers should hopefully handle both protocols.


Thanks for the info on mplayer. I will experiment with buffering soon.

But if I had a choice I would use mpd because (like you said) I also like the way mpd handles gapless!

(As a side note, I had a lot of trouble initially on my Ubuntu PC getting mpd to play nicely with pulseaudio but it works fine now. On the raspberry pi I just use alsa and never had any problems.)

Cheers,
Ciprian
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


User(s) browsing this thread: 1 Guest(s)