diff options
Diffstat (limited to 'media/profile.cpp')
-rw-r--r-- | media/profile.cpp | 12 |
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) << ";"; |