Networks and Remotes > Media Network

UPnP Problem with BubbleUPnP

<< < (9/13) > >>

bubbleguuum:
The MC log shows this for a slow Browse request or the "Audio > Artist" folder (ObjectID 1000):


--- Code: ---0222276: 15776: Sharing Plugins: CContentDirectoryService::Browse: Browse BrowseDirectChildren for 1000
0222305: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[††† /(Crosses/)] [Media Type]=[Audio]; Elapsed ms: 28.407
0222333: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[A Flock Of Seagulls] [Media Type]=[Audio]; Elapsed ms: 27.536
0222361: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[A Perfect Circle] [Media Type]=[Audio]; Elapsed ms: 27.289
0222363: 12092: Sharing Plugins: VHTTPMessage::Write: Wrote 0 bytes
0222363: 12092: Sharing Plugins: CHTTPListenerWorker::HandleConnection: Finish (837 ms)
0222363: 6100: Sharing Plugins: CUDPSocketReader::Accept: Start
0222363: 6100: Sharing Plugins: CUDPSocketReader::Accept: Description: CListenerBase::CListenerBase [UDP]
0222363: 6100: Sharing Plugins: CUDPSocketReader::Accept: Finish (0 ms)
0222363: 9400: Sharing Plugins: CHTTPListenerWorker::HandleConnection: Start
0222363: 9400: Sharing Plugins: CHTTPListenerWorker::HandleRequest: UDP: 192.168.1.144: M-SEARCH: http://239.255.255.250:1900*
0222397: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[A/-ha] [Media Type]=[Audio]; Elapsed ms: 27.389
0222426: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[Aaliyah] [Media Type]=[Audio]; Elapsed ms: 27.497
0222454: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[Aaron Lewis] [Media Type]=[Audio]; Elapsed ms: 27.311
0222483: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[ABBA] [Media Type]=[Audio]; Elapsed ms: 27.911
0222511: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[Abigail's Ghost] [Media Type]=[Audio]; Elapsed ms: 27.499
0222540: 15776: Database: CSearchFilesHelper::GetResults: Search: [Album Artist (auto)]=[AC//DC] [Media Type]=[Audio]; Elapsed ms: 27.616
...
repeat for each of the remaining artists

--- End code ---

It is slow because MC is making a CSearchFilesHelper::GetResults function call per artist (!) that take 27ms each. It does not do that when the loading of that folder is fast in BubbleUPnP. BubbleUPnP is not sending an UPnP Search action per artist for sure ! And anyway these CSearchFilesHelper::GetResults calls happen in the same thread than the UPnP Browse (BrowseDirectChildren) action thread (assuming 15776 is the thread id).
So the question is why sometimes MC make these CSearchFilesHelper::GetResults call per artist in a Browse UPnP action for the Artist folder.

Mr. Odd:

--- Quote from: Awesome Donkey on April 03, 2024, 03:11:01 pm ---Mr. Odd, since you also have the issue, how many tracks are in your music library? My music library is currently at 144,793 tracks (1249 artists, 10,796 albums). Maybe it's not the number of tracks but the number of artists and albums? Hmmm, regardless I suppose if someone has enough tracks and/or artists/albums the issue can appear, hence why it seems to be rare. Maybe the solution is to downsize? Nah! ;D

--- End quote ---

I have 1060 artists, 4902 albums and 82791 tracks in my library.

What I also wonder is why some other apps like EOS have no delay but BubbleUPnP does. It's got to be something in that particular interaction.

Awesome Donkey:
In simple terms the remote apps like JRemote, Gizmo, MO 4Media, eos, Panel use MCWS (basically MC's own protocol) whereas an app like BubbleUPnP uses standard DLNA/UPnP instead. So unfortunately the apps like JRemote function differently (and are unique to MC) and BubbleUPnP is more universal as long as the server supports DLNA/UPnP which MC does.

The issue appears to be on the DLNA/UPnP side of things and is rare as we're the only two who have reported it thus far. Since you have over 1,000 artists like me I'm going to guess that's the magic number to get it to manifest.

JimH:

--- Quote from: Awesome Donkey on April 04, 2024, 08:20:36 pm ---In simple terms the remote apps like JRemote, Gizmo, MO 4Media, eos, Panel use MCWS (basically MC's own protocol) whereas an app like BubbleUPnP uses standard DLNA/UPnP instead. So unfortunately the apps like JRemote function differently (and are unique to MC) and BubbleUPnP is more universal as long as the server supports DLNA/UPnP which MC does.

--- End quote ---
As you surely know, MC does support UPnP/DLNA, and it's about as solid as it gets.  The implementation is widely used to test other applications against.

Mr. Odd:

--- Quote from: bubbleguuum on April 03, 2024, 02:51:07 pm ---For browsing a folder, BubbleUPnP emits an initial BrowseDirectChildren request to get the first 16 items (to have something to display immediately), then gets the remaining items with subsequent BrowseDirectChildren requests of 500 items each.

--- End quote ---

So could you perform this task without breaking it into chunks? That's what I see and appears to result in delays displaying the lists.

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version