summaryrefslogtreecommitdiff
path: root/media/profile.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'media/profile.cpp')
-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) << ";";