summaryrefslogtreecommitdiff
path: root/media
diff options
context:
space:
mode:
authormethodus <methodus@web.de>2012-10-22 06:02:01 +0200
committermethodus <methodus@web.de>2012-10-22 06:02:01 +0200
commit527026526fe2282cc9ca8ba74073978f403e2ead (patch)
treee76face90b84af10f12a1f47179b9153f29885ed /media
parent40f78808fe37b42dd033b642322204e1bf3717ad (diff)
downloadvdr-plugin-upnp-527026526fe2282cc9ca8ba74073978f403e2ead.tar.gz
vdr-plugin-upnp-527026526fe2282cc9ca8ba74073978f403e2ead.tar.bz2
Seeking finally works even on TV sets.
Diffstat (limited to 'media')
-rw-r--r--media/profile.cpp12
1 files changed, 11 insertions, 1 deletions
diff --git a/media/profile.cpp b/media/profile.cpp
index 8c9df6f..9e80449 100644
--- a/media/profile.cpp
+++ b/media/profile.cpp
@@ -74,7 +74,17 @@ string DLNA4thField::ToString(){
if(primaryFlags){
ss << ";";
- ss << "DLNA.ORG_OP=" << bitset<2>(operations) << ";";
+#ifdef DLNA_STRICT
+ // If the any of the flags lop-npt, lop-bytes or lop-cleartextbytes are set
+ // the OP param must be omitted.
+ if( !(primaryFlags & DLNA_FLAG_BYTE_BASED_SEEK) &&
+ !(primaryFlags & DLNA_FLAG_TIME_BASED_SEEK) &&
+ !(primaryFlags & DLNA_FLAG_CLEARTEXT_LIMITED_SEEK)){
+#endif
+ ss << "DLNA.ORG_OP=" << bitset<2>(operations) << ";";
+#ifdef DLNA_STRICT
+ }
+#endif
ss << "DLNA.ORG_CI=" << bitset<1>(conversionIndicator) << ";";