INTERACT FORUM

More => Old Versions => JRiver Media Center 20 for Windows => Topic started by: alglove on February 12, 2015, 09:12:35 pm

Title: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 12, 2015, 09:12:35 pm
We seem to have run into a problem here with MC20 network resources getting discovered on the network. Basically, what seems to be happening is that if you turn on one computer at a time, all the media network devices (DLNA servers, DLNA renderers, MC library servers) get discovered as expected. However, when you have all the computers turned on at the same time, some of the devices will "replace" others in the list of media devices. So, for example, we have this setup.......

PC-1
--> (MC 20.0.68)
--> Library Server
--> DLNA servers "24-bit Audiophile", "Generic DLNA", "NoAudioConversion"
--> DLNA renderers "integrated audio", "DAC-1", "DAC-2"

PC-2
--> (MC 20.0.63)
--> Library Server
--> DLNA servers "24-bit Audiophile", "Generic DLNA"
--> DLNA renderers "integrated audio", "DAC-1"

Id-1
--> (MC 20.0.64)
--> Library Server
--> DLNA servers "24-bit Audiophile", "NoConversion"
--> DLNA renderers "Player", "2-ch"

Id-2
--> (MC 20.0.64)
--> Library Server
--> DLNA servers "24-bit Audiophile", "NoConversion"
--> DLNA renderers "Player", "HDMI"

With this setup, I would expect to see a total of 4 Library Servers, 9 DLNA servers, and 9 DLNA renderers on the network. Instead, what seems to happen is that some of the devices seem to "overwrite" each other on the list of network devices.

So, for example, turn PC-2 on, and half of the PC-1 devices will disappear from the list of network devices. Turn PC-2 off, and the PC-1 resources will reappear. I see the "24-bit Audiophile" and "NoConversion" media servers from only one Id at a time, and only one of the two "Player" renderers. Also, I never, ever see all of the Library Servers on at the same time. There are always one or two missing off the list.

All of the computers experience this problem. Just to make sure, PC-2 has no antivirus software installed, and I disabled the Windows Firewall completely. In fact, if you look at the Windows Explorer list of Media Devices and Other Devices, you can sometimes see the devices disappear and reappear, right before your very eyes.

Has anyone else run into this? It wasn't until I started turning computers on and off, and enabling or disabling the DLNA media server and renderer options, that I could tell what was going on. Until then, it just seemed like random dynamic zones and libraries were missing for no apparent reason.
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: AndrewFG on February 13, 2015, 03:47:30 am
You could try downloading my DMRA test application (see my sig), and let us know what it finds. Note: it wont find any servers but it should find all the renderers..
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 13, 2015, 02:48:44 pm
Wow, what a great tool, AndrewFG! I am right on it.

I will post the results of each computer running alone on the network, plus the results as I start adding computers to the network.
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 13, 2015, 03:21:10 pm
DLNA renderers detected on the network by DMRA test application.
All renderers are detected as expected.


PC-1 (alone)
--> integrated audio  (192.168.1.100:52103)
--> DAC-1  (192.168.1.100:52105)
--> DAC-2  (192.168.1.100:52106)
--> DAC-3  (192.168.1.100:52104)
(I accidentally left DAC-3 off the original post)


PC-2 (alone)
--> integrated audio  (192.168.1.105:52102)
--> DAC-1  (192.168.1.105:52103)


id-1 (alone)
--> id-1  (192.168.1.109:52102)
--> 2-ch  (192.168.1.109:52103)


id-2 (alone)
--> id-2  (192.168.1.104:52102)
--> HDMI  (192.168.1.104:52103)

Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 13, 2015, 03:38:08 pm
But strange stuff happens when I have more than one running at the same time......

(id-1 + id-2)
--> id-1: 2-ch   (192.168.1.109:52103)
--> id-2:          (192.168.1.104:52102)
--> id-2: HDMI  (192.168.1.104:52103)

...notice how id-1 (192.168.1.109:52102) is missing. Yet, 5 minutes later, I run the same test, and I get this list:

(id-1 + id-2)
--> id-1:          (192.168.1.109:52102)
--> id-1: 2-ch   (192.168.1.109:52103)
--> id-2: HDMI  (192.168.1.104:52103)

It's like the "id-1" and "id-2" renderers are fighting back and forth to show up on the network, instead of both simply showing up at the same time.
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 13, 2015, 03:54:46 pm
Similarly, when I run PC-1 and PC-2 together.......

(PC-1 + PC-2)
--> PC-1: DAC-1  (192.168.1.100:52105)
--> PC-1: DAC-2  (192.168.1.100:52106)
--> PC-2: DAC-1  (192.168.1.105:52103)
--> PC-2: integrated audio  (192.168.1.105:52102)

...two of the renderers are missing.  The missing renderers are...

PC-1: integrated audio  (192.168.1.100:52103)
PC-1: DAC-3   (192.168.1.100:52104)


***EDIT***
Sometimes the "missing renderers" appear in the list, but then the two entries from PC-2 are missing.
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 13, 2015, 04:04:13 pm
Finally, when I run all four devices at the same time, I get the following list of 7 renderers. I would expect to get 10:

(PC-1 + PC-2 + id-1 + id-2)
--> PC-1: DAC-1  (192.168.1.100:52105)
--> PC-1: DAC-2  (192.168.1.100:52106)
--> PC-2: DAC-1  (192.168.1.105:52103)
--> PC-2: integrated audio  (192.168.1.105:52102)
--> id-1:          (192.168.1.109:52102)
--> id-1: 2-ch   (192.168.1.109:52103)
--> id-2: HDMI  (192.168.1.104:52103)

missing renderers:
PC-1: integrated audio  (192.168.1.100:52103)
PC-1: DAC-3   (192.168.1.100:52104)
id-2:               (192.168.1.104:52102)

***EDIT***
The three "missing renderers" will sometimes appear in the list, but then other renderers that used to appear in the list will disappear, as described above.
Title: Re: JRiver MC20 media network discovery issues (both DLNA and MC network server)
Post by: alglove on February 16, 2015, 04:00:03 pm
Aha! I believe I have discovered the problem. JRiver is assigning non-unique UUID's to the DLNA media devices. The UUID's are unique within each computer, but they are duplicated over different computers. This pretty much explains why media devices seem to be disappearing and reappearing on the network.  The same UUID gets multicast from multiple computers with conflicting information, so UPnP discovery thinks this is one device with information that keeps changing, instead of being two separate devices.

Thanks to AndrewFG for getting me along the right track with his DMRA test application. I noticed there that the some of the renderer UUID's were duplicated. From there, I went to using UPnP Inspector, version 0.2.2, which I downloaded from http://coherence-project.org/wiki/UPnP-Inspector .  This gave me the UUID's for the MC media libraries and servers, where I also found duplications.

Code: [Select]
PC-1
Library Server: uuid:15f0893e-5f12-4b8a-83d1-791fb813512b
(Audiophile 24-bit DAC): uuid:030dd922-2121-4707-8de7-4da28c3cd122
(Generic DLNA): uuid:c1f3108c-b923-4d20-bf4e-4b236600518a
(NoAudioConversion): uuid:a09186f7-5893-493e-a877-87042da37fe5
integrated audio: uuid:e38bac83-5d98-4eaa-9627-1a0789c3d05e
DAC-1: uuid:1ee71dcf-7cc5-4e0e-b89f-b307922dbbde
DAC-2: uuid:91ed0e23-f315-45b3-9ccf-68720847a2e1
DAC-3: uuid:c21edf41-f465-4394-b57b-5162d89daea5


PC-2
Library Server: uuid:15f0893e-5f12-4b8a-83d1-791fb813512b
(Audiophile 24-bit DAC): uuid:030dd922-2121-4707-8de7-4da28c3cd122
(Generic DLNA): uuid:c1f3108c-b923-4d20-bf4e-4b236600518a
integrated audio: uuid:e38bac83-5d98-4eaa-9627-1a0789c3d05e
DAC-1: uuid:c21edf41-f465-4394-b57b-5162d89daea5


id-1
Library Server: uuid:ec2bca61-06fe-4583-a370-1dfc99a3dcbb
(Audiophile 24-bit DAC): uuid:dfaccb61-88d9-451f-aaed-70abb338560c
(NoConversion): uuid:e706dd73-99ab-4111-8599-ad7bc3d9c6ec
id-1: uuid:fc9fad10-5759-47fb-b3e7-20e93717a5b0
2-ch: uuid:aa96e29b-fbcb-8846-9992-960c2a51eaaa


id-2
Library Server: uuid:ec2bca61-06fe-4583-a370-1dfc99a3dcbb
(Audiophile 24-bit DAC): uuid:dfaccb61-88d9-451f-aaed-70abb338560c
(NoConversion): uuid:e706dd73-99ab-4111-8599-ad7bc3d9c6ec
id-2: uuid:fc9fad10-5759-47fb-b3e7-20e93717a5b0
HDMI: uuid:e83cdd9b-5fc4-b44f-94d2-459bfa6c2d20


duplicated UUID's:
uuid:15f0893e-5f12-4b8a-83d1-791fb813512b -- (PC-1:Library Server, PC-2:Library Server)
uuid:030dd922-2121-4707-8de7-4da28c3cd122 -- (PC-1:Audiophile 24-bit DAC, PC-2:Audiophile 24-bit DAC)
uuid:c1f3108c-b923-4d20-bf4e-4b236600518a -- (PC-1:Generic DLNA, PC-2:Generic DLNA)
uuid:e38bac83-5d98-4eaa-9627-1a0789c3d05e -- (PC-1:integrated audio, PC-2:integrated audio)
uuid:c21edf41-f465-4394-b57b-5162d89daea5 -- (PC-1:DAC-3, PC-2:DAC-1)
uuid:ec2bca61-06fe-4583-a370-1dfc99a3dcbb -- (id-1:Library Server, id-2:Library Server)
uuid:dfaccb61-88d9-451f-aaed-70abb338560c -- (id-1:Audiophile 24-bit DAC, id-2:Audiophile 24-bit DAC)
uuid:e706dd73-99ab-4111-8599-ad7bc3d9c6ec -- (id-1:NoConversion, id-2:NoConversion)
uuid:fc9fad10-5759-47fb-b3e7-20e93717a5b0 -- (id-1:id-1, id-2:id-2)
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: AndrewFG on February 16, 2015, 07:14:35 pm
Good catch!

Funnily enough, when you described your symptoms, my first reaction was that the UUIDs were non unique. However I did not mention it in my response because I did not imagine that JRiver would have made so obvious a mistake...

The obvious solution therefore is that JRiver should modify its UUID creation code to be a hash that includes at least the following elements: an MC application specific key, the server name, and the computer name. To be really safe it could include the PC MAC address in the UUID hash. However I would not include the IP address or the MC version number in the hash, since those might vary over time...

EDIT: it would also have to use a similar hash construct for ensuring that all its renderers have different UUIDs as well...
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: bob on February 17, 2015, 10:55:25 am
This doesn't seem right. If that was the case none of our systems at JRiver would be unique and they all are.
Leaving out the Id for now,
Did you copy the libraries from PC1 to PC2 and restore the settings? If yes, that's where the duplication happened.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 17, 2015, 02:51:39 pm
Did you copy the libraries from PC1 to PC2 and restore the settings? If yes, that's where the duplication happened.

Hi, bob. Yes, as a matter of fact, we did! I remember having to disable the media network on PC-2 and then reenable it, because the 6-letter access key from PC-1 was duplicated. I guess there were other things that were duplicated as well.

As for the Ids, it is probably a similar situation. Both of them were updated with the latest firmware beta and restored to the default settings, so they probably ended up using the same configuration from a common source somewhere along the way.

Any idea what we should do now? Is there any way to prevent this from happening in the future? I suspect there may be others who copy/restore their libraries and run them in a network who could also run into this problem.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: bob on February 17, 2015, 03:01:58 pm
Hi, bob. Yes, as a matter of fact, we did! I remember having to disable the media network on PC-2 and then reenable it, because the 6-letter access key from PC-1 was duplicated. I guess there were other things that were duplicated as well.

As for the Ids, it is probably a similar situation. Both of them were updated with the latest firmware beta and restored to the default settings, so they probably ended up using the same configuration from a common source somewhere along the way.

Any idea what we should do now? Is there any way to prevent this from happening in the future? I suspect there may be others who copy/restore their libraries and run them in a network who could also run into this problem.
Import the libraries but not the settings or perhaps you can disable and re-enable Media Networking in MC on one PC not keeping the previous configuration.
As for the Id's, I'll check into that. I thought the firmware went through the regeneration process for the media network uuids but it looks like I could be mistaken.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 17, 2015, 04:52:46 pm
OK, I have installed MC20 from scratch on another PC. Sure enough, the UUID's are all different, so at least I know that works. :)

As for PC-2, I have tried disabling/reenabling MC Media Networking as you suggested, as well as resetting the Access Key. The "Generic DLNA" media server gets a different UUID because I told it not to keep the previous settings, but everything else (Library Server, media renderers/zones) keeps the same UUID. I have also tried creating a new, blank library, but again, the UUID's remain the same.

Any other thoughts on how to change the UUID's of an existing installation?

Also, any thoughts on how to copy the settings from one computer to another, without copying the UUID's?
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: glynor on February 17, 2015, 05:44:37 pm
Any other thoughts on how to change the UUID's of an existing installation?

Also, any thoughts on how to copy the settings from one computer to another, without copying the UUID's?

I can't speak to how it does work, but a convenient way for it TO work (in the future) would be for the act of Resetting the Access Key to also reset the UUID.

That's generally what I do when I set a new box up.  I import a Library Backup, apply settings (so I don't have to re-do them like an animal), and then reset (or disable) the Access Key in Media Network.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: bob on February 17, 2015, 05:46:17 pm
OK, I have installed MC20 from scratch on another PC. Sure enough, the UUID's are all different, so at least I know that works. :)

As for PC-2, I have tried disabling/reenabling MC Media Networking as you suggested, as well as resetting the Access Key (http://wiki.jriver.com/index.php/Access_Key). The "Generic DLNA" media server gets a different UUID because I told it not to keep the previous settings, but everything else (Library Server, media renderers/zones) keeps the same UUID. I have also tried creating a new, blank library, but again, the UUID's remain the same.

Any other thoughts on how to change the UUID's of an existing installation?

Also, any thoughts on how to copy the settings from one computer to another, without copying the UUID's?

Other than mucking around in the registry there isn't a way to remove the existing entries. It's too bad that restoring the library without the settings didn't work for you. We'll have to see if there is a reason for that.

Disabling and Reenabling Media Network probably shouldn't wipe the uuids since that's not an uncommon thing to do and you wouldn't want the renderers to have to pick up new uuid'd servers. Sony is especially troublesome this way since they limit the total amount of servers visible and require you to approve new ones one at a time when you exceed the rather small maximum and never seem to remove stale ones from their internal list.

Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 17, 2015, 08:30:28 pm
Other than mucking around in the registry there isn't a way to remove the existing entries. It's too bad that restoring the library without the settings didn't work for you. We'll have to see if there is a reason for that.

Well, that inspired me to go muck about in the registry, so I think I managed to get MC20 to create all new UUID's for me. It may not be the most elegant method, but it worked. All registry changes were made while JRiver was not running.

for the media renderers (local zones):


for the library server:
for the media servers


Disabling and Reenabling Media Network probably shouldn't wipe the uuids since that's not an uncommon thing to do and you wouldn't want the renderers to have to pick up new uuid'd servers. Sony is especially troublesome this way since they limit the total amount of servers visible and require you to approve new ones one at a time when you exceed the rather small maximum and never seem to remove stale ones from their internal list.

Yeah, you're right. This is just an "on/off" button, not a "reset" button. There is no reason to wipe the UUID's just because you are turning something on and off. In fact, you probably want them to remain constant, especially in light of what you said about those Sony devices. Ewww.

It would have been nice to have some sort of "reset Media Network" button that would regenerate all the UUID's in case it was necessary, though, just like there is a "reset access key" button. It would have saved me a bit of trouble, anyway.  ;)
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 17, 2015, 08:46:28 pm
I guess something else that might be nice would be if restoring from a library backup gave you a choice about whether to restore the Media Network settings or not. Perhaps something like an additional checkbox option.

The reason I say this is that I can think of times when you would want to keep the Media Network settings (restoring after a hard drive reformat) and times when you wouldn't (copying settings to a second computer on the network). Having the option could help users avoid this sort of problem.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: glynor on February 17, 2015, 08:58:01 pm
It would have been nice to have some sort of "reset Media Network" button that would regenerate all the UUID's in case it was necessary, though, just like there is a "reset access key" button. It would have saved me a bit of trouble, anyway.  ;)

I don't see why they need to be separate.  It would stand to reason that if you're resetting the Access Key, your goal is to "make this system inaccessible over the network" to those systems that already had it added.

I'd think, reset the UUIDs with this action too.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: AndrewFG on February 17, 2015, 10:31:30 pm
It is clear that UUIDs must be persistent across restarts. However there is absolutely no reason why they must be stored in the registry, and certainly no reason why they must be saved and reloaded on a library save/restore cycle. It is simply sufficient that the UUID is generated in a determinate (algorithmic) manner every time it is needed. A typical way of creating determinate UUIDs would be:

UUID := hash( MC_RENDERER_PREFIX + RENDERER_INSTANCE_NAME + LOCAL_PC_NAME )
UUID := hash( MC_SERVER_PREFIX + SERVER_INSTANCE_NAME + LOCAL_PC_NAME )

Note: by "hash" I mean a cryptographic hash function such as MD-n or SHA-n

Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 19, 2015, 05:03:44 pm
Glynor, I like the idea of resetting the Access Key and the UUID's, all at the same time. Like you said, the goal is basically to wipe the network information clean and start over with a fresh set of ID's. Might as well do it all in one fell swoop. It'd be a lot easier for users to understand, too.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: alglove on February 19, 2015, 05:23:35 pm
AndrewFG, I had the same thought about creating the UUID in a determinate/algorithmic fashion, instead of storing it in the registry. However, then it occurred to me that if a user decides to change a zone's name (renderer name), its UUID would change in the process. I am not sure this is desired behavior. The same thing goes if the user decides to change the computer's name, or moves the Media Center server from one computer to another.

If the UUID is to remain the same through all those changes, then it pretty much has to be stored somewhere at the time of its initial creation. I am thinking this is why JRiver chose to store the UUID's in the registry instead of creating them on the fly (tempting as that might be).
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: AndrewFG on February 19, 2015, 11:46:32 pm
IMHO if you change the renderer, server, or computer name then that entity is a new device (as far as the network is concerned) and so should indeed have a new UUID.

Another way to fix the UUID algorithmically is to hash the MAC address.

Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: labambo on March 12, 2015, 05:36:55 pm
Thanks for the thread! I had the same problem (restoring the library of PCA on PCB). It drove me nuts during the last weeks since the zone of the renderer was not showing up anymore. I checked everything (firewall, router, etc.) until I found this thread. Could fix the problem with a clean new installation.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: Bernhard on August 02, 2018, 03:26:11 pm
All registry changes were made while JRiver was not running.

for the media renderers (local zones):
  • I went to the following entries that pertained to my local zone...
    HKEY_LOCAL_USER\Software\JRiver\Media Center 24\Zones\1000x
  • On the right hand side, I found the "Player Zone GUID" for each zone and deleted the entire entry (not just the data).
  • MC24 recreated a new value when it restarted, and I was done.

Thank you so much. I had the identical issue after I restored my library on a second computer.
The solution is still valid for MC24.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: bob on August 02, 2018, 03:55:41 pm
Thank you so much. I had the identical issue after I restored my library on a second computer.
The solution is still valid for MC24.
If you restore the library without clicking the settings boxes you will get new uuid's as well.
Title: Re: JRiver MC20 media network discovery issues (edited: non-unique UUIDs)
Post by: Bernhard on August 02, 2018, 03:56:59 pm
If you restore the library without clicking the settings boxes you will get new uuid's as well.

Yes thank you. But I would lose all other settings too.