const char* object_id,
NPT_Int32 index,
NPT_Int32 count,
- bool browse_metadata,
const char* filter,
+ bool browse_metadata,
const char* sort)
{
NPT_Result res;
PLT_MediaObjectListReference& list,
bool metadata, /* = false */
NPT_Int32 start, /* = 0 */
- NPT_Cardinal max_results /* = 0 */)
+ NPT_Cardinal max_results, /* = 0 */
+ const char* filter)
{
NPT_Result res = NPT_FAILURE;
NPT_Int32 index = start;
(const char*)object_id,
index,
metadata?1:30, // DLNA recommendations for browsing children is no more than 30 at a time
+ filter,
metadata);
NPT_CHECK_LABEL_WARNING(res, done);
PLT_MediaObjectListReference& list,
bool metadata = false,
NPT_Int32 start = 0,
- NPT_Cardinal max_results = 0); // 0 means all
+ NPT_Cardinal max_results = 0,
+ const char* filter = "dc:date,upnp:genre,res,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author,searchable,childCount"); // explicitely specify res otherwise WMP won't return a URL!
const NPT_Lock<PLT_DeviceMap>& GetMediaServersMap() const { return m_MediaServers; }
bool IsCached(const char* uuid, const char* object_id);
const char* object_id,
NPT_Int32 index,
NPT_Int32 count,
+ const char* filter,
bool browse_metadata = false,
- const char* filter = "dc:date,upnp:genre,res,res@duration,res@size,upnp:albumArtURI,upnp:album,upnp:artist,upnp:author,searchable,childCount", // explicitely specify res otherwise WMP won't return a URL!
const char* sort = "");
private:
NPT_Result Find(const char* ip, PLT_DeviceDataReference& device);
}
#endif
+
+ // Browse and wait for result
+ PLT_MediaObjectListReference list;
+ NPT_Result res;
+ // we want all properties, so send empty filter
+ res = upnp->m_MediaBrowser->BrowseSync(device, object_id, list, false, 0, 0, "");
+
// if error, return now, the device could have gone away
// this will make us go back to the sources list
- PLT_MediaObjectListReference list;
- NPT_Result res = upnp->m_MediaBrowser->BrowseSync(device, object_id, list);
if (NPT_FAILED(res)) goto failure;
// empty list is ok