yellobyte / SoapESP32

Scan local network for DLNA media servers, browse their content and download files. For ESP32 devices.
MIT License
61 stars 7 forks source link

Plex Media server big dir example #4

Closed tomasz-s closed 2 years ago

tomasz-s commented 2 years ago

BrowseBigDirectories example: While browsing Plex Media Server there is no info about items count in folders. Warnings about attribute: "childCount=" missing Plex version: 1.25.8.5663

It's only my server or something bigger?

PS. BrowseRecursively example works great as it dives in regardless of childCount attribute

Scanning local network for DLNA media servers... [ 641][I][SoapESP32.cpp:478] seekServer(): SSDP search for media servers started [ 4655][I][SoapESP32.cpp:481] seekServer(): SSDP query discovered 1 media servers [ 4655][I][SoapESP32.cpp:484] seekServer(): checking all discovered media servers for service ContentDirectory [ 4676][I][SoapESP32.cpp:498] seekServer(): connected successfully to server 192.168.103.222:32469 [ 4690][I][SoapESP32.cpp:555] seekServer(): ok, this server delivers media content Number of discovered servers that deliver content: 1

Please be patient, searching big directory on server: Plex Media Server: docker [ 4702][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "0" [ 4729][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 4733][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 4741][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4741][I][SoapESP32.cpp:686] soapScanContainer(): "94467912-bd40-4d2f-ad25-7b8423f7b05a" attribute searchable=0 [ 4751][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video" (id: "94467912-bd40-4d2f-ad25-7b8423f7b05a", childCount: 0) added to list [ 4767][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4771][I][SoapESP32.cpp:686] soapScanContainer(): "abe6121c-1731-4683-815c-89e1dcd2bf11" attribute searchable=0 [ 4781][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music" (id: "abe6121c-1731-4683-815c-89e1dcd2bf11", childCount: 0) added to list [ 4797][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4801][I][SoapESP32.cpp:686] soapScanContainer(): "b0184133-f840-4a4f-a583-45f99645edcd" attribute searchable=0 [ 4811][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photos" (id: "b0184133-f840-4a4f-a583-45f99645edcd", childCount: 0) added to list [ 4827][I][SoapESP32.cpp:981] browseServer(): found 3 folders and 0 files [ 4832][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "94467912-bd40-4d2f-ad25-7b8423f7b05a" [ 4865][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 4871][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 4878][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4879][I][SoapESP32.cpp:686] soapScanContainer(): "91394f20-aec1-4cf8-80f2-803b5119f3df" attribute searchable=0 [ 4888][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video Channels" (id: "91394f20-aec1-4cf8-80f2-803b5119f3df", childCount: 0) added to list [ 4905][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4908][I][SoapESP32.cpp:686] soapScanContainer(): "99be9211-6884-4436-ab37-83a8ac5bae6c" attribute searchable=0 [ 4918][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Video" (id: "99be9211-6884-4436-ab37-83a8ac5bae6c", childCount: 0) added to list [ 4935][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4939][I][SoapESP32.cpp:686] soapScanContainer(): "9285c074-2f83-4ca8-b581-09452beaa609" attribute searchable=0 [ 4949][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Video" (id: "9285c074-2f83-4ca8-b581-09452beaa609", childCount: 0) added to list [ 4965][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 4969][I][SoapESP32.cpp:686] soapScanContainer(): "98c665b0-a78a-45c5-b62e-a3ff7469de0a" attribute searchable=0 [ 4979][I][SoapESP32.cpp:706] soapScanContainer(): folder "Watch Later" (id: "98c665b0-a78a-45c5-b62e-a3ff7469de0a", childCount: 0) added to list [ 4996][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5000][I][SoapESP32.cpp:686] soapScanContainer(): "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5" attribute searchable=0 [ 5010][I][SoapESP32.cpp:706] soapScanContainer(): folder "Recommended" (id: "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5", childCount: 0) added to list [ 5027][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5030][I][SoapESP32.cpp:686] soapScanContainer(): "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec" attribute searchable=0 [ 5040][I][SoapESP32.cpp:706] soapScanContainer(): folder "Preferences" (id: "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec", childCount: 0) added to list [ 5056][I][SoapESP32.cpp:981] browseServer(): found 6 folders and 0 files [ 5061][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "91394f20-aec1-4cf8-80f2-803b5119f3df" [ 5086][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5089][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 5095][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 5099][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 5106][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "99be9211-6884-4436-ab37-83a8ac5bae6c" [ 5370][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5373][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 5379][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 5383][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 5390][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "9285c074-2f83-4ca8-b581-09452beaa609" [ 5413][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5416][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 5422][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 5426][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 5433][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "98c665b0-a78a-45c5-b62e-a3ff7469de0a" [ 5502][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5504][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 5508][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: 98c665b0-a78a-45c5-b62e-a3ff7469de0a [ 5528][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E5E57F94-D24E-4ECF-88B5-FCCF165F21D5" [ 5594][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5597][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 5601][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: E5E57F94-D24E-4ECF-88B5-FCCF165F21D5 [ 5621][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "f0ab4250-3f5c-49a6-a9eb-c4ca01b9faec" [ 5641][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5645][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 5654][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5654][I][SoapESP32.cpp:686] soapScanContainer(): "2b34ec14-d674-4421-a8e6-f393af4e54ce" attribute searchable=0 [ 5663][I][SoapESP32.cpp:706] soapScanContainer(): folder "Direct Play [Enabled]" (id: "2b34ec14-d674-4421-a8e6-f393af4e54ce", childCount: 0) added to list [ 5681][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5684][I][SoapESP32.cpp:686] soapScanContainer(): "20511860-52b5-42d2-87b8-f3fbf327bf73" attribute searchable=0 [ 5694][I][SoapESP32.cpp:706] soapScanContainer(): folder "Direct Stream [Enabled]" (id: "20511860-52b5-42d2-87b8-f3fbf327bf73", childCount: 0) added to list [ 5715][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5716][I][SoapESP32.cpp:686] soapScanContainer(): "1bcb51e3-0846-4d88-9960-9b78e2a53f7c" attribute searchable=0 [ 5726][I][SoapESP32.cpp:706] soapScanContainer(): folder "Local Resolution [1080p]" (id: "1bcb51e3-0846-4d88-9960-9b78e2a53f7c", childCount: 0) added to list [ 5744][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5747][I][SoapESP32.cpp:686] soapScanContainer(): "52557847-e9d7-49f6-b9fa-e6b54923190d" attribute searchable=0 [ 5757][I][SoapESP32.cpp:706] soapScanContainer(): folder "Local Video Quality [High]" (id: "52557847-e9d7-49f6-b9fa-e6b54923190d", childCount: 0) added to list [ 5776][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5779][I][SoapESP32.cpp:686] soapScanContainer(): "20601bf7-4e3e-4ce1-b23a-bf2a6e733604" attribute searchable=0 [ 5789][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Resolution [720p]" (id: "20601bf7-4e3e-4ce1-b23a-bf2a6e733604", childCount: 0) added to list [ 5810][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5810][I][SoapESP32.cpp:686] soapScanContainer(): "68d268a3-4f11-4d40-a738-b456c69e7737" attribute searchable=0 [ 5821][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Video Quality [Medium]" (id: "68d268a3-4f11-4d40-a738-b456c69e7737", childCount: 0) added to list [ 5839][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5842][I][SoapESP32.cpp:686] soapScanContainer(): "ae5f8ee8-bb0c-4b77-899f-728fa3929640" attribute searchable=0 [ 5852][I][SoapESP32.cpp:706] soapScanContainer(): folder "Online Resolution [720p]" (id: "ae5f8ee8-bb0c-4b77-899f-728fa3929640", childCount: 0) added to list [ 5871][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5874][I][SoapESP32.cpp:686] soapScanContainer(): "e662010b-3afe-4695-a60d-0a5a7ed35892" attribute searchable=0 [ 5884][I][SoapESP32.cpp:706] soapScanContainer(): folder "Online Video Quality [Medium]" (id: "e662010b-3afe-4695-a60d-0a5a7ed35892", childCount: 0) added to list [ 5903][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5906][I][SoapESP32.cpp:686] soapScanContainer(): "c3588f27-26cb-4b2d-8cd9-453fd3fa12ce" attribute searchable=0 [ 5917][I][SoapESP32.cpp:706] soapScanContainer(): folder "Subtitle Size [Normal]" (id: "c3588f27-26cb-4b2d-8cd9-453fd3fa12ce", childCount: 0) added to list [ 5934][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5937][I][SoapESP32.cpp:686] soapScanContainer(): "8fc57947-ba5c-4efe-b550-e88b0ac9a17e" attribute searchable=0 [ 5947][I][SoapESP32.cpp:706] soapScanContainer(): folder "Audio Boost [None]" (id: "8fc57947-ba5c-4efe-b550-e88b0ac9a17e", childCount: 0) added to list [ 5964][I][SoapESP32.cpp:981] browseServer(): found 10 folders and 0 files [ 5969][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "abe6121c-1731-4683-815c-89e1dcd2bf11" [ 5993][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 5997][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6008][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6008][I][SoapESP32.cpp:686] soapScanContainer(): "74ecfbc84061d0e9d3b6" attribute searchable=0 [ 6014][I][SoapESP32.cpp:706] soapScanContainer(): folder "Muzyka" (id: "74ecfbc84061d0e9d3b6", childCount: 0) added to list [ 6029][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6032][I][SoapESP32.cpp:686] soapScanContainer(): "aca21a34-d277-4d9d-9602-687d89765172" attribute searchable=0 [ 6042][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Channels" (id: "aca21a34-d277-4d9d-9602-687d89765172", childCount: 0) added to list [ 6059][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6063][I][SoapESP32.cpp:686] soapScanContainer(): "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766" attribute searchable=0 [ 6073][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Music" (id: "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766", childCount: 0) added to list [ 6089][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6093][I][SoapESP32.cpp:686] soapScanContainer(): "ae282b40-95c2-4125-878b-f702efd484e5" attribute searchable=0 [ 6103][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Music" (id: "ae282b40-95c2-4125-878b-f702efd484e5", childCount: 0) added to list [ 6120][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6124][I][SoapESP32.cpp:686] soapScanContainer(): "ac85fabf-dbf8-4d36-a3d2-1ff357402804" attribute searchable=0 [ 6134][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Queue" (id: "ac85fabf-dbf8-4d36-a3d2-1ff357402804", childCount: 0) added to list [ 6151][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6154][I][SoapESP32.cpp:686] soapScanContainer(): "972F29C1-51E3-4968-9501-D4535C176704" attribute searchable=0 [ 6164][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Recommendations" (id: "972F29C1-51E3-4968-9501-D4535C176704", childCount: 0) added to list [ 6181][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6185][I][SoapESP32.cpp:686] soapScanContainer(): "d3611e72-8a03-424c-90fd-7dea335ecf7d" attribute searchable=0 [ 6195][I][SoapESP32.cpp:706] soapScanContainer(): folder "Preferences" (id: "d3611e72-8a03-424c-90fd-7dea335ecf7d", childCount: 0) added to list [ 6212][I][SoapESP32.cpp:981] browseServer(): found 7 folders and 0 files [ 6216][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "74ecfbc84061d0e9d3b6" [ 6242][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6247][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6255][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6256][I][SoapESP32.cpp:686] soapScanContainer(): "41938fdb66374d2948e7" attribute searchable=0 [ 6263][I][SoapESP32.cpp:706] soapScanContainer(): folder "All Artists" (id: "41938fdb66374d2948e7", childCount: 0) added to list [ 6278][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6282][I][SoapESP32.cpp:686] soapScanContainer(): "998da6c0fe93f4323db1" attribute searchable=0 [ 6291][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Album" (id: "998da6c0fe93f4323db1", childCount: 0) added to list [ 6308][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6310][I][SoapESP32.cpp:686] soapScanContainer(): "e98766db0840f72e0ff2" attribute searchable=0 [ 6319][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Genre" (id: "e98766db0840f72e0ff2", childCount: 0) added to list [ 6333][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6337][I][SoapESP32.cpp:686] soapScanContainer(): "65e4ed2f1489acdee7ee" attribute searchable=0 [ 6346][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Decade" (id: "65e4ed2f1489acdee7ee", childCount: 0) added to list [ 6361][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6364][I][SoapESP32.cpp:686] soapScanContainer(): "633df64c10d93d371bb3" attribute searchable=0 [ 6373][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Year" (id: "633df64c10d93d371bb3", childCount: 0) added to list [ 6388][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6392][I][SoapESP32.cpp:686] soapScanContainer(): "f3f84afe50f096896833" attribute searchable=0 [ 6400][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Collection" (id: "f3f84afe50f096896833", childCount: 0) added to list [ 6416][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6420][I][SoapESP32.cpp:686] soapScanContainer(): "c4779f51eee362fe10ea" attribute searchable=0 [ 6428][I][SoapESP32.cpp:706] soapScanContainer(): folder "Recently Added" (id: "c4779f51eee362fe10ea", childCount: 0) added to list [ 6444][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6447][I][SoapESP32.cpp:686] soapScanContainer(): "8344e21bda00c7ccd5cc" attribute searchable=0 [ 6456][I][SoapESP32.cpp:706] soapScanContainer(): folder "By Folder" (id: "8344e21bda00c7ccd5cc", childCount: 0) added to list [ 6470][I][SoapESP32.cpp:981] browseServer(): found 8 folders and 0 files [ 6476][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "aca21a34-d277-4d9d-9602-687d89765172" [ 6500][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6503][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6509][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 6513][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 6520][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "aa85ef5c-5bb9-4a40-ad08-5b7ca04ab766" [ 6542][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6545][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6552][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 6555][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 6563][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ae282b40-95c2-4125-878b-f702efd484e5" [ 6596][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6599][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6605][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 6609][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 6616][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ac85fabf-dbf8-4d36-a3d2-1ff357402804" [ 6637][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6640][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 6645][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: ac85fabf-dbf8-4d36-a3d2-1ff357402804 [ 6665][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "972F29C1-51E3-4968-9501-D4535C176704" [ 6683][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6685][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 6690][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: 972F29C1-51E3-4968-9501-D4535C176704 [ 6710][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "d3611e72-8a03-424c-90fd-7dea335ecf7d" [ 6728][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6731][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6741][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6741][I][SoapESP32.cpp:686] soapScanContainer(): "88d79be9-9512-4109-9619-b75b0352def8" attribute searchable=0 [ 6751][I][SoapESP32.cpp:706] soapScanContainer(): folder "Music Transcode Bitrate [192kbps]" (id: "88d79be9-9512-4109-9619-b75b0352def8", childCount: 0) added to list [ 6768][I][SoapESP32.cpp:981] browseServer(): found 1 folders and 0 files [ 6774][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "b0184133-f840-4a4f-a583-45f99645edcd" [ 6807][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 6811][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 6820][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6820][I][SoapESP32.cpp:686] soapScanContainer(): "b1701ca5-0ae1-4211-87fe-2641c05e22e5" attribute searchable=0 [ 6830][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Channels" (id: "b1701ca5-0ae1-4211-87fe-2641c05e22e5", childCount: 0) added to list [ 6847][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6850][I][SoapESP32.cpp:686] soapScanContainer(): "bf499119-5303-4088-9138-53dd73a6a7b0" attribute searchable=0 [ 6860][I][SoapESP32.cpp:706] soapScanContainer(): folder "Shared Photos" (id: "bf499119-5303-4088-9138-53dd73a6a7b0", childCount: 0) added to list [ 6877][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6881][I][SoapESP32.cpp:686] soapScanContainer(): "ba787e53-a572-46ac-ab7f-575b98bd31c2" attribute searchable=0 [ 6891][I][SoapESP32.cpp:706] soapScanContainer(): folder "Remote Photos" (id: "ba787e53-a572-46ac-ab7f-575b98bd31c2", childCount: 0) added to list [ 6908][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6911][I][SoapESP32.cpp:686] soapScanContainer(): "bb3513cb-b204-48e9-8624-7776f6ef9ff2" attribute searchable=0 [ 6921][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Queue" (id: "bb3513cb-b204-48e9-8624-7776f6ef9ff2", childCount: 0) added to list [ 6939][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 6942][I][SoapESP32.cpp:686] soapScanContainer(): "E59388F0-FD45-4C09-B990-7BBC99E96B23" attribute searchable=0 [ 6952][I][SoapESP32.cpp:706] soapScanContainer(): folder "Photo Recommendations" (id: "E59388F0-FD45-4C09-B990-7BBC99E96B23", childCount: 0) added to list [ 6969][I][SoapESP32.cpp:981] browseServer(): found 5 folders and 0 files [ 6974][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "b1701ca5-0ae1-4211-87fe-2641c05e22e5" [ 7006][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 7009][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 7015][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 7019][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 7026][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "bf499119-5303-4088-9138-53dd73a6a7b0" [ 7048][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 7052][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 7058][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 7062][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 7069][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "ba787e53-a572-46ac-ab7f-575b98bd31c2" [ 7090][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 7094][I][SoapESP32.cpp:915] browseServer(): scan answer from media server: [ 7100][I][SoapESP32.cpp:971] browseServer(): XML scanned, no elements announced [ 7104][I][SoapESP32.cpp:981] browseServer(): found 0 folders and 0 files [ 7111][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "bb3513cb-b204-48e9-8624-7776f6ef9ff2" [ 7133][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 7136][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 7140][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: bb3513cb-b204-48e9-8624-7776f6ef9ff2 [ 7160][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E59388F0-FD45-4C09-B990-7BBC99E96B23" [ 7186][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 7189][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 7193][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: E59388F0-FD45-4C09-B990-7BBC99E96B23 No big directory was found on this server.

Some ESP32 memory stats after running this sketch: 1) minimum ever free memory of all regions [in bytes]: 251976 2) minimum ever free heap size [in bytes]: 197248 3) minimum ever stack size of this task [in bytes]: 5464

Sketch finished. `

yellobyte commented 2 years ago

Kodi for example does not provide a child count for container (directories) as well, so it's not unusual. However, it is a real annoyance, for it forces you to dig into every directory to find out whether it's empty or not. What interests me is http error 500. Increasing core debug level to 5 (verbose) will give a clue.

yellobyte commented 2 years ago

PS: attribute searchable is returned with value 0 in your case. It's missing with some other servers I tested and I have no idea if it's dependent on SW versions.

tomasz-s commented 2 years ago

Thanks, good to know it's not me;) I will iterate if it is only solution.

Then regarding your questions: 1. "searchable" attribute. This may be bug in library? I've installed "Developer Tools for UPnP™ Technology" package and there is "AV Media Controller". While using it, I see searchable: True on all folders Screenshot 2022-05-17 23 45 27 then the same "Video" folder in verbose log: [ 5002][V][SoapESP32.cpp:944] browseServer(): container attribute (length=84): id="94467912-bd40-4d2f-ad25-7b8423f7b05a" parentID="0" restricted="1" searchable="0" [ 5008][V][SoapESP32.cpp:945] browseServer(): container (length=183): Video</dc:title>Unknown</dc:creator>Unknown</upnp:genre>Video</dc:description>object.container.storageFolder</upnp:class> [ 5030][D][SoapESP32.cpp:645] soapScanContainer(): function entered, parent id: 0 [ 5038][D][SoapESP32.cpp:649] soapScanContainer(): id="94467912-bd40-4d2f-ad25-7b8423f7b05a" [ 5046][W][SoapESP32.cpp:628] soapScanAttribute(): attribute: "childCount=" missing. [ 5053][D][SoapESP32.cpp:683] soapScanContainer(): searchable="0" [ 5059][I][SoapESP32.cpp:686] soapScanContainer(): "94467912-bd40-4d2f-ad25-7b8423f7b05a" attribute searchable=0 [ 5069][D][SoapESP32.cpp:697] soapScanContainer(): title="Video" [ 5075][I][SoapESP32.cpp:706] soapScanContainer(): folder "Video" (id: "94467912-bd40-4d2f-ad25-7b8423f7b05a", childCount: 0) added to list

2. http error 500 - This is verbose log:

[ 13287][I][SoapESP32.cpp:880] browseServer(): new search on server: "Plex Media Server: docker", objectId: "E59388F0-FD45-4C09-B990-7BBC99E96B23" [ 13301][D][SoapESP32.cpp:1244] soapPost(): 192.168.103.222:32469 POST /ContentDirectory/ecac33e1-2f12-ae06-2e56-9edd48c5daa3/control.xml HTTP/1.1 [ 13308][V][SoapESP32.cpp:1287] soapPost(): send request to server: POST /ContentDirectory/ecac33e1-2f12-ae06-2e56-9edd48c5daa3/control.xml HTTP/1.1 Host: 192.168.103.222:32469 CACHE-CONTROL: no-cache PRAGMA: no-cache Connection: close Content-Length: 474 Content-Type: text/xml; charset="utf-8" SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse" User-Agent: ESP32/Player/UPNP1.0

E59388F0-FD45-4C09-B990-7BBC99E96B23 BrowseDirectChildren * 0 100

</u:Browse> </s:Body> </s:Envelope>

[ 13391][I][SoapESP32.cpp:892] browseServer(): connected successfully to server 192.168.103.222:32469 [ 13394][E][SoapESP32.cpp:308] soapReadHttpHeader(): header line: HTTP/1.1 500 Internal Server Error [ 13402][E][SoapESP32.cpp:905] browseServer(): HTTP Header not ok or reply status not 200 Error browsing server, object id: E59388F0-FD45-4C09-B990-7BBC99E96B23

and screenshot from AVMedia Control from the same "Photo Recomendations" folder:

Screenshot 2022-05-17 23 53 26

yellobyte commented 2 years ago

can you log a sequence containing the container attribute searchable= with >>wireshark<< please ? thx th

tomasz-s commented 2 years ago

I had to hack password to my docker ... but ok, lol Dump attached. dump.zip

ESP32 @ 192.168.103.135 PLEX @ 192.168.103.222 and sorry for some other not filtered noice – I forgot to stop the music

Anyting more, tomorrow.

Off topic...
I’m trying to add some controlling functions to my device [ ESP32 + NFC Tag Reader + Display ( for album art presentation ) ]. Goal is: scan NFC, find album on Plex Server, download and display album art, start playing on Yamaha Receiver

ToDo

  1. list media renderers,
  2. start playing content from Plex on DMR

but I’m “quite fresh” in DLNA
Do you know any library for ESP/Arduino already capable of it ?

yellobyte commented 2 years ago

Thx for the dump. It confirms the server always reports container with attributes restricted=1 and searchable=0. The latter one contradicts the setting in your above screenshot from AVMedia Control Tool. .... <container id="E59388F0-FD45-4C09-B990-7BBC99E96B23" parentID="b0184133-f840-4a4f-a583-45f99645edcd" restricted="1" searchable="0"><dc:title>Photo Recommendations</dc:title><dc:creator>Unknown</dc:creator><upnp:genre>Unknown</upnp:genre><dc:description>Photo Recommendations</dc:description><upnp:class>object.container.storageFolder</upnp:class></container> ....

Do you know any library for ESP/Arduino already capable of it ?

Actually not, sorry.

tomasz-s commented 2 years ago

Ok, I see, so... AVMedia has bug. Thanks for your work. Your library is great so I'll probably expand it with the features I need, in case I don't find a ready-made solution.

yellobyte commented 2 years ago

Have fun! Thanks for the star. Best Regards Thomas