Post Reply 
 
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Minim wishlist
25-06-2013, 22:56
Post: #31
RE: Minim wishlist
(25-06-2013 14:54)simoncn Wrote:  You will notice that with all these schemes, the server just responds to streaming requests for tracks as and when they are received from the renderer.
So, the renderer always "pulls".... I wonder how the virtual sound card works in this case. Probably it acts as the control point and tells the renderer to pull "a track", and then it works just like Internet radio - one single stream (or one big track).

(25-06-2013 14:54)simoncn Wrote:  4) Shortly before the track finishes playing, the renderer starts to stream the next track from the server
The problem is the VLC library does not support "read ahead", hence PWD/Bridge does not support gapless natively.

(25-06-2013 14:54)simoncn Wrote:  if the renderer and control point both support the optional SetNextAVTransportURI action
Probably it's supported by Rygel, but the following does not happen:
(25-06-2013 14:54)simoncn Wrote:  4) Shortly before the track finishes playing, the renderer starts to stream the next track from the server
because VLC does not care...

I see the only workaround is to add "rendering" and "controlling" abilities to the server. The actual control point will control the server (because it "thinks" that it's the renderer), the server in turn will control the actual renderer. The server (acting as a virtual control point) will tell the actual renderer to pull the "single very big track" from the server, etc.

Yeah, not the best and not the prettiest solution...
Find all posts by this user
Quote this message in a reply
26-06-2013, 00:10
Post: #32
RE: Minim wishlist
(25-06-2013 22:56)Alekz Wrote:  I see the only workaround is to add "rendering" and "controlling" abilities to the server. The actual control point will control the server (because it "thinks" that it's the renderer), the server in turn will control the actual renderer. The server (acting as a virtual control point) will tell the actual renderer to pull the "single very big track" from the server, etc.

Yeah, not the best and not the prettiest solution...

This would require the actual control point to use one of the two gapless approaches when talking to the server's virtual renderer, so it wouldn't work with a standard UPnP actual control point.

This discussion has convinced me that the best approach is for the server to do the serving, the control point to do the controlling, and the renderer to do the rendering. Eventually the manufacturers of control points and renderers will understand that they need to support gapless playback for their products to be competitive.
Find all posts by this user
Quote this message in a reply
26-06-2013, 11:44
Post: #33
RE: Minim wishlist
(24-06-2013 23:20)Alekz Wrote:  On both, but it's more common for Windows. It happens on a NAS as well, but only when there is another application that intensively uses the disks.

I always transcode to WAV, but I read some reports about FLAC as well. But I bet it was Windows with antivirus and other processes with sporadic activity.

I had similar issues some time ago, so I added some monitoring code to see what was happening. You can enable this monitoring code by playing a track using WAV transcoding and opening the log window and changing the logging level to Trace. You'll see log output like the following:

11:28:40.728 Thread-20: transcoding maxRead=0, minRead=0, maxWrite=73, minWrite=32, numReads=21, numWrites=43, avgWrite=46
11:28:42.763 Thread-20: transcoding maxRead=3, minRead=0, maxWrite=80, minWrite=25, numReads=22, numWrites=44, avgWrite=46
11:28:44.807 Thread-20: transcoding maxRead=4, minRead=0, maxWrite=64, minWrite=29, numReads=22, numWrites=44, avgWrite=46
11:28:46.849 Thread-20: transcoding maxRead=2, minRead=0, maxWrite=179, minWrite=0, numReads=22, numWrites=44, avgWrite=46
11:28:48.895 Thread-20: transcoding maxRead=3, minRead=0, maxWrite=164, minWrite=0, numReads=22, numWrites=44, avgWrite=46
11:28:51.015 Thread-20: transcoding maxRead=2, minRead=0, maxWrite=170, minWrite=0, numReads=22, numWrites=43, avgWrite=49
11:28:53.024 Thread-20: transcoding maxRead=3, minRead=0, maxWrite=169, minWrite=0, numReads=23, numWrites=46, avgWrite=43
11:28:55.070 Thread-20: transcoding maxRead=2, minRead=0, maxWrite=50, minWrite=42, numReads=22, numWrites=44, avgWrite=46
11:28:57.113 Thread-20: transcoding maxRead=2, minRead=0, maxWrite=51, minWrite=43, numReads=22, numWrites=44, avgWrite=46
11:28:59.155 Thread-20: transcoding maxRead=2, minRead=0, maxWrite=53, minWrite=42, numReads=22, numWrites=44, avgWrite=46

These messages are produced every 2 seconds and they provide the following information:

numReads: the number of disk reads (FLAC data) in the monitoring period (2 seconds)
numWrites: the number of network writes (WAV data) in the monitoring period
maxRead: the maximum elapsed time (in ms) for a disk read in the monitoring period
minRead: the minimum elapsed time (in ms) for a disk read in the monitoring period
maxWrite: the maximum elapsed time (in ms) for a network write in the monitoring period
minWrite: the minimum elapsed time (in ms) for a network write in the monitoring period
avgWrite: the average elapsed time (in ms) for a network write in the monitoring period

Ideally the minimum and maximum figures would be close to the average. In some cases when streaming over wireless, I was occasionally seeing a maxWrite figure of thousands of ms. These events corresponded to audible dropouts.

Can you try this under the conditions that cause dropouts for you and see what figures you are getting?
Find all posts by this user
Quote this message in a reply
26-06-2013, 17:04
Post: #34
RE: Minim wishlist
(26-06-2013 00:10)simoncn Wrote:  Eventually the manufacturers of control points and renderers will understand that they need to support gapless playback for their products to be competitive.
Ha! Totally agree here!

(26-06-2013 11:44)simoncn Wrote:  Can you try this under the conditions that cause dropouts for you and see what figures you are getting?
Thanks much for that! Will ask on the PSA forum as well.
Find all posts by this user
Quote this message in a reply
30-06-2013, 12:32
Post: #35
RE: Minim wishlist
(25-06-2013 22:56)Alekz Wrote:  I see the only workaround is to add "rendering" and "controlling" abilities to the server. The actual control point will control the server (because it "thinks" that it's the renderer), the server in turn will control the actual renderer. The server (acting as a virtual control point) will tell the actual renderer to pull the "single very big track" from the server, etc.
And on the control point you will choose the server as both the server and the renderer.
Find all posts by this user
Quote this message in a reply
30-06-2013, 13:33
Post: #36
RE: Minim wishlist
This thread has been helpful to me since I just acquired a Simaudio Moon MiND renderer. It works with several control points, as one would expect since it's advertised as UPnP/DLNA compliant, but so far I have gotten gapless playback only with Simaudio's own controller. I've been thinking about why.

1) The PSA eLyric controller I normally use is old and no longer updated; it almost certainly supports neither OpenHome extensions or SetNextAVTransportURI.
2) One would expect that the Kinsky control point would support the OpenHome extensions, but gapless does not work with Kinsky and the MiND. So Simaudio is probably not using OpenHome.

Are there any control points known to implement SetNextAVTransportURI? I would be curious to try one of these with the MiND.

David
Find all posts by this user
Quote this message in a reply
30-06-2013, 14:25
Post: #37
RE: Minim wishlist
(30-06-2013 13:33)magister Wrote:  This thread has been helpful to me since I just acquired a Simaudio Moon MiND renderer. It works with several control points, as one would expect since it's advertised as UPnP/DLNA compliant, but so far I have gotten gapless playback only with Simaudio's own controller. I've been thinking about why.

1) The PSA eLyric controller I normally use is old and no longer updated; it almost certainly supports neither OpenHome extensions or SetNextAVTransportURI.
2) One would expect that the Kinsky control point would support the OpenHome extensions, but gapless does not work with Kinsky and the MiND. So Simaudio is probably not using OpenHome.

Are there any control points known to implement SetNextAVTransportURI? I would be curious to try one of these with the MiND.

David

BubbleUPnP, foobar2000 and JRiver support this. There may be others.
Find all posts by this user
Quote this message in a reply
17-04-2015, 11:45
Post: #38
RE: Minim wishlist
I have a apartment and a summer house. My Minimserver is located in the apartment. It would be a nice feature to be able to access my Minimserver from my summer house over internet without setting up a VPN connection.
Find all posts by this user
Quote this message in a reply
17-04-2015, 11:57
Post: #39
RE: Minim wishlist
(17-04-2015 11:45)lg.lindstrom Wrote:  I have a apartment and a summer house. My Minimserver is located in the apartment. It would be a nice feature to be able to access my Minimserver from my summer house over internet without setting up a VPN connection.

The issue here is bandwidth. Simon strongly recommends that Minimserver is not set up to access music folders that do not reside on the local machine. I would imagine that trying to access files from a remote location would be even more of a no-no.

You could of course run MinimServer on a reasonably portable NAS that could be moved (with your music files) between locations. Not ideal, but probably much easier than carrying a large CD collection.

David
Find all posts by this user
Quote this message in a reply
17-04-2015, 12:33
Post: #40
RE: Minim wishlist
(17-04-2015 11:45)lg.lindstrom Wrote:  I have a apartment and a summer house. My Minimserver is located in the apartment. It would be a nice feature to be able to access my Minimserver from my summer house over internet without setting up a VPN connection.

Have you been able to make this work with a VPN connection?
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump:


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