Skip to content

Commit

Permalink
[fix] invalid mediaitems trumped upnp listings, resolves #14268
Browse files Browse the repository at this point in the history
  • Loading branch information
alcoheca committed Apr 15, 2013
1 parent e2c3799 commit 0a74686
Showing 1 changed file with 5 additions and 9 deletions.
14 changes: 5 additions & 9 deletions xbmc/filesystem/UPnPDirectory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -438,44 +438,40 @@ CUPnPDirectory::GetDirectory(const CStdString& strPath, CFileItemList &items)
} else {

// set a general content type
audio = image = video = false;
const char* content = NULL;
std::string content;
if (ObjectClass.StartsWith("object.item.videoitem")) {
pItem->SetMimeType("video/octet-stream");
content = "video";
video = true;
}
else if(ObjectClass.StartsWith("object.item.audioitem")) {
pItem->SetMimeType("audio/octet-stream");
content = "audio";
audio = true;
}
else if(ObjectClass.StartsWith("object.item.imageitem")) {
pItem->SetMimeType("image/octet-stream");
content = "image";
image = true;
}

// attempt to find a valid resource (may be multiple)
PLT_MediaItemResource resource;
if(NPT_SUCCEEDED(NPT_ContainerFind((*entry)->m_Resources,
CResourceFinder("http-get", content), resource))) {
CResourceFinder("http-get", content.c_str()), resource))) {

// set metadata
if (resource.m_Size != (NPT_LargeSize)-1) {
pItem->m_dwSize = resource.m_Size;
}

// look for metadata
if(video) {
if(content.compare("video") == 0) {
pItem->SetLabelPreformated(false);
UPNP::PopulateTagFromObject(*pItem->GetVideoInfoTag(), *(*entry), &resource);

} else if(audio) {
} else if(content.compare("audio") == 0) {
pItem->SetLabelPreformated(false);
UPNP::PopulateTagFromObject(*pItem->GetMusicInfoTag(), *(*entry), &resource);

} else if(image) {
} else if(content.compare("image") == 0) {
//CPictureInfoTag* tag = pItem->GetPictureInfoTag();

}
Expand Down

0 comments on commit 0a74686

Please sign in to comment.