Support for SetNextAVTransportURI and hence Gapless playback

180 views
Skip to first unread message

RoderickGI

unread,
Oct 9, 2020, 7:18:14 PM10/9/20
to BubbleUPnP
G'Day group,

I am playing from a JRiver Media Center version 27.0.21 running a DLNA Server to BubbleUPnP version 3.4.13 (arm64-v8a) on a Sony Xperia XZ Premium running Android 9 as the DLNA Renderer.

I am trying to play Gapless audio tracks from JRiver MC to the phone, using MC as the DLNA Controller. JRiver has several DLNA Controller settings, one of which is to "Disable SetNext Support (for broken renderers)". This setting is automatically enabled (disabling SetNext support) for devices that report "NextURI" as NOT_IMPLEMENTED when getting the MediaInfo from the device.

I have the Gapless option selected in the Local Renderer section of BubbleUPnP settings, so BubbleUPnP should report that NextURI is supported. However, using a Wireshark trace I can see that BubbleUPnP reports that NextURI is NOT_IMPLEMENTED when JRiver MC sends a GetMediaInfo Request. The Response includes the lines:
                <NextURI>
                    NOT_IMPLEMENTED
                    </NextURI>
 
The BubbleUPnP "desc.xml" file, viewed via Device Spy, includes a SetNextAVTransportURI section, which mentions NextURI. It also includes a GetMediaInfo section that mentions NextURI.

Why is BubbleUPnP reporting NextURI is NOT_IMPLEMENTED?

I can share the specific TCP Stream from Wireshark (5KB zipped) privately if required.

Thanks for the support.

Bubblesoft

unread,
Oct 10, 2020, 5:29:58 AM10/10/20
to BubbleUPnP
Hi,

Thank you for the report.

There's indeed a problem with NextURI initially set to NOT_IMPLEMENTED until the first call to setNextAVTransportURI. And there are a few other corner cases that reset it intermittently to NOT_IMPLEMENTED).
Gapless works when BubbleUPnP is controlling its gapless DMR because it does not use GetMediaInfo at all, thus this issue went unnoticed.

RoderickGI

unread,
Oct 10, 2020, 7:03:41 AM10/10/20
to BubbleUPnP
Okay. So was this a known problem, and unfixable? Or will this be fixed now that you know about it?

I can't really tell from your response. I hope it can be fixed. A few JRiver users have reported this issue indirectly, without knowing the cause.

I've seen some other instances of JRiver MC responding to BubbleUPnP setting NextURI to NOT_IMPLEMENTED, if I stop playback and then restart it using MC as the DLNA Controller, or if I replace the play queue (Playing Now) in MC while something is already playing. So I would guess that I am seeing some of those corner cases as well. I just focused on the simple instance of starting playback of a new Playlist in MC, as some of those other instances are inconsistent.

PS: I'm just a JRiver user. I don't work for them, in case you were wondering.

Thanks.

Bubblesoft

unread,
Oct 10, 2020, 9:06:12 AM10/10/20
to BubbleUPnP
Yes I will fix it, forgot to mention that. The fix is actually trivial as the app should never set NOT_IMPLEMENTED if gapless is enabled.

RoderickGI

unread,
Oct 28, 2020, 1:42:32 AM10/28/20
to BubbleUPnP
G'Day again Bubblesoft.

After a little bit of a hickup in testing, the fix applied seems to be working.

Thanks for the very quick support.

Reply all
Reply to author
Forward
0 new messages