16 #include <QStringList>
31 QStringList sList = sDeviceType.split(
':', Qt::SkipEmptyParts);
32 QString sLoc =
"LookupUDN(" + sDeviceType +
')';
34 if (sList.size() <= 2)
36 LOG(VB_GENERAL, LOG_ERR, sLoc +
"- bad device type '" +
37 sDeviceType +
"', not enough tokens");
43 QString sName =
"UPnP/UDN/" + sList.last();
44 QString sUDN = config.GetValue(sName,
"");
46 LOG(VB_UPNP, LOG_INFO, sLoc +
" sName=" + sName +
", sUDN=" + sUDN);
49 if (sUDN.isEmpty() || sUDN.startsWith(
"{"))
51 sUDN = QUuid::createUuid().toString();
54 sUDN = sUDN.mid(1, 36);
56 config.SetValue(sName, sUDN);
73 QString protocolStr(
"http-get:*:%1:%2");
74 QStringList protocolList;
75 QStringList::Iterator it;
76 for (it = mimeTypes.begin(); it < mimeTypes.end(); ++it)
80 if (*it ==
"video/mpeg")
82 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_PS_PAL;" + flags);
83 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_PS_NTSC;" + flags);
84 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_PS_SD_DTS;" + flags);
85 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=AVC_TS_NA_ISO;" + flags);
86 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_TS_HD_NA_ISO;" + flags);
87 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_TS_SD_NA_ISO;" + flags);
88 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=AVC_TS_EU_ISO;" + flags);
89 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;" + flags);
91 else if (*it ==
"audio/mpeg")
93 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MP3;" + flags);
94 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=MP3X;" + flags);
96 else if (*it ==
"audio/mp4")
98 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=AAC_ISO_320;" + flags);
100 else if (*it ==
"audio/vnd.dolby.dd-raw")
102 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=AC3;" + flags);
104 else if (*it ==
"audio/x-ms-wma")
106 protocolList << protocolStr.arg(*it,
"DLNA.ORG_PN=WMAFULL;" + flags);
110 protocolList << protocolStr.arg(*it,
"*");
127 QStringList protocolList;
128 QStringList::Iterator it;
129 for (it = mimeTypes.begin(); it < mimeTypes.end(); ++it)
131 protocolList << QString(
"http-get:*:%1:*").arg(*it);