INTERACT FORUM

Please login or register.

Login with username, password and session length
Advanced search  
Pages: [1]   Go Down

Author Topic: Gapless not for Upnp renderer?  (Read 2133 times)

soundhound

  • Member
  • *
  • Posts: 2
Gapless not for Upnp renderer?
« on: July 05, 2019, 03:25:29 pm »

hello folks,
I'm trying to get gapless playback on DSOTM and not having any luck.
I have a Sony NS510  renderer that likely doesn't do SetNextAVTransportURI.
Indeed I have turned it off for this device in MC under 'DLNA Controller Settings'.
I also tried turning off GetPosition from same place.

Under options -> Audio,   there is presented the 'Zone to configure' list but in fact what is there are the network audio renderers I have and the local machine sound device.  Selecting the latter I see the option for 'Use gapless for sequential album tracks' .
but when I select my network audio device it says to to 'Configure audio using Options -> Media Network -> Add or configure DLNA servers'  but that has to do with a 'Generic DLNA' server  and there is no more mention of gapless!
indeed why does it mention DLNA servers in relation to an attempt to configure a renderer?!

I have played around for days with this software and I cannot find what I'm looking for.
As I am led to believe the way to compensate for broken implementations of DLNA renderers
is providing it with a stream and putting lossless formats on it (mp3 has frames and padding which makes things harder. but not impossible).
I thought MC was able to do this.

can anyone enlighten me on this score?
thanks
Logged

RoderickGI

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 8186
Re: Gapless not for Upnp renderer?
« Reply #1 on: July 05, 2019, 07:35:33 pm »

That is a reasonably old Renderer. 2012 or so? As the manual says "You may not be able to play back some content with DLNA CERTIFIED products", I would assume that it may not be fully DLNA compliant.

indeed why does it mention DLNA servers in relation to an attempt to configure a renderer?!

Because a Renderer needs to be associated with a specific DLNA Server, so that the server can be configured to match the Renderer's capabilities. For example, one Renderer may be able to play native DSD, FLAC, APE, etc., doing all the decoding and rendering, while another may only be able to play PCM, in which case MC needs to do the decoding. When there is only one DLNA Server configured in MC, it is automatically associated with all Renderers. If there are two or more, you need to actually tell MC which Server to use with each Renderer.

As I am led to believe the way to compensate for broken implementations of DLNA renderers is providing it with a stream and putting lossless formats on it (mp3 has frames and padding which makes things harder. but not impossible).

DLNA is a file based technology. Files are sent to the Renderer, not streams. So gapless playback is supported when the Renderer can be told what the next file will be. That is done using the SetNext function. Your Renderer is broken if it doesn't support SetNext, so it can't support Gapless playback.

Well, that is my understanding. I could be wrong.

Download and run AndrewFG's Digital Media Renderer Analyser, and confirm what your Renderer supports. http://www.whitebear.ch/dmra
Logged
What specific version of MC you are running:MC27.0.27 @ Oct 27, 2020 and updating regularly Jim!                        MC Release Notes: https://wiki.jriver.com/index.php/Release_Notes
What OS(s) and Version you are running:     Windows 10 Pro 64bit Version 2004 (OS Build 19041.572).
The JRMark score of the PC with an issue:    JRMark (version 26.0.52 64 bit): 3419
Important relevant info about your environment:     
  Using the HTPC as a MC Server & a Workstation as a MC Client plus some DLNA clients.
  Running JRiver for Android, JRemote2, Gizmo, & MO 4Media on a Sony Xperia XZ Premium Android 9.
  Playing video out to a Sony 65" TV connected via HDMI, playing digital audio out via motherboard sound card, PCIe TV tuner

MikeO

  • Citizen of the Universe
  • *****
  • Posts: 798
Re: Gapless not for Upnp renderer?
« Reply #2 on: July 06, 2019, 12:04:28 pm »

You could use “big flac & Cue sheet”

Mc splits the track visually but I believe plays the whole file TBC
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: Gapless not for Upnp renderer?
« Reply #3 on: July 06, 2019, 02:06:30 pm »

DLNA is a file based technology. Files are sent to the Renderer, not streams. So gapless playback is supported when the Renderer can be told what the next file will be. That is done using the SetNext function.

Indeed. As mentioned, please download the DMRA from my sig, and post the renderer report here. This will tell you if your renderer supports gapless over UPNP / DLNA.
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm

soundhound

  • Member
  • *
  • Posts: 2
Re: Gapless not for Upnp renderer?
« Reply #4 on: July 07, 2019, 07:38:36 am »

Thanks for all the help!
Old indeed but not cheap at the time. I was slightly greener then than now and thought software would eventually overcome all limitations.

I was surprised to find the analyser giving:
AVT: SetNextAVTransportURI: SUPPORTED

I would guess it is a broken implementation though.
The only improvement I've seen was by putting it behind a BubbleUpnp OpenMedia proxy - the gap reduced but still unacceptable.

As MikeO suggests, though DLNA is file oriented, bundling all of a specified album's tracks into a virtual file and serving it up as regular should do the trick.
Does DLNA insist on knowing the size of the file it requests?
If not then an open-ended file is tantamount to a stream.
Does MC do anything along these lines? After all, it must be doing something with a server option of
'Disable SetNext support'...

But in any case, and I wish I had thought of this, if I want gapless playback I can simply
place all the tracks into a single audio file (never done it but I see mention of audio authoring software often enough), which is only as burdensome as the number of such recordings one has.
Logged

AndrewFG

  • MC Beta Team
  • Citizen of the Universe
  • *****
  • Posts: 3392
Re: Gapless not for Upnp renderer?
« Reply #5 on: July 07, 2019, 04:42:21 pm »

I was surprised to find the analyser giving:
AVT: SetNextAVTransportURI: SUPPORTED

I would guess it is a broken implementation though.

You are right. SetNext is a command that allows the Control Point to tell the renderer in advance which track it has to play next. And the better renderers do indeed start to download the start of the next track before they have finished playing the current one. However the worse renderers wait until the current track has finished before they start downloading the next one; which rather defeats the point of this command. Go figure..

Does DLNA insist on knowing the size of the file it requests?
If not then an open-ended file is tantamount to a stream.

As a general rule the UPNP /DLNA specification does require a Content-Length or Duration to be declared (in advance). This allows the Seek function to work. Some of the better renderers can also live with a missing Content-Length or Duration declaration, thus assuming that the “file” is of infinite (or at least indeterminate) length; which is tantamount to a “stream”; and may indeed be able to play them for an indefinite period. But even such renderers can behave in unexpected ways. (For example sending a Pause on an infinite length file, will cause a download buffer overflow if there is no matching Resume command sent within a reasonable time. And sending forwards Seek might send it into hyperspace a.k.a. crash the player. Etc. Etc.)
Logged
Author of Whitebear Digital Media Renderer Analyser - http://www.whitebear.ch/dmra.htm
Author of Whitebear - http://www.whitebear.ch/mediaserver.htm
Pages: [1]   Go Up