videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp
branchRCL_3
changeset 6 7d91903f795f
parent 2 dec420019252
child 10 ce5ada96ab30
child 34 bbb98528c666
--- a/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp	Tue Feb 02 00:12:10 2010 +0200
+++ b/videoplayback/videohelix/src/mpxvideoplaybackcontroller.cpp	Fri Feb 19 22:52:52 2010 +0200
@@ -15,7 +15,7 @@
  *
 */
 
-// Version : %version: ou1cpsw#41 %
+// Version : %version: 43 %
 
 
 //
@@ -75,6 +75,12 @@
 _LIT( KTrue, "1" );
 _LIT( KFalse, "0" );
 _LIT (KMPStreamingPauseSupported, "StreamingPauseSupported");
+_LIT( KDescription, "Description" );
+_LIT( KAbstract, "Abstract" );
+_LIT( KLocation, "Location" );
+_LIT( KRightCopy, "Copyright" );
+_LIT( KLanguage, "Language" );
+_LIT( KKeywords, "Keywords" );
 
 
 // ============================ MEMBER FUNCTIONS ===================================================
@@ -1273,12 +1279,12 @@
     //
     if ( iFileHandle.SubSessionHandle() )
     {
-        iFileDetails->iDrmProtected = iDrmHelper->IsProtected( iFileHandle );
+        iFileDetails->iDrmProtected = iDrmHelper->IsProtectedL( iFileHandle );
     }
 #ifdef SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
     else if ( iFileHandle64.SubSessionHandle() )
     {
-        iFileDetails->iDrmProtected = iDrmHelper->IsProtected64( iFileHandle64 );
+        iFileDetails->iDrmProtected = iDrmHelper->IsProtected64L( iFileHandle64 );
     }
 #endif // SYMBIAN_ENABLE_64_BIT_FILE_SERVER_API
 
@@ -1364,7 +1370,13 @@
             else if ( ( ! metaData->Name().CompareF( KArtist ) ) ||
                       ( ! metaData->Name().CompareF( KAuthor ) ) )
             {
-                iFileDetails->iArtist = metaData->Value().AllocL();
+                //
+                //  Do not overwrite the artist
+                //
+                if ( ! iFileDetails->iArtist )
+                {
+                    iFileDetails->iArtist = metaData->Value().AllocL();
+                }
             }
             else if ( ! metaData->Name().CompareF( KFormat ) )
             {
@@ -1384,7 +1396,34 @@
                     iFileDetails->iPausableStream = EFalse;
                 }
             }
-
+            else if ( ( ! metaData->Name().CompareF( KDescription ) ) ||
+                      ( ! metaData->Name().CompareF( KAbstract ) ) )
+            {
+                //
+                //  Do not overwrite the description
+                //
+                if ( ! iFileDetails->iDescription )
+                {
+                    iFileDetails->iDescription = metaData->Value().AllocL();
+                }
+            }
+            else if ( !metaData->Name().CompareF( KLocation ) )
+            {
+                iFileDetails->iLocation = metaData->Value().AllocL();
+            }
+            else if ( !metaData->Name().CompareF( KRightCopy ) )
+            {
+                iFileDetails->iCopyright = metaData->Value().AllocL();
+            }
+            else if ( !metaData->Name().CompareF( KLanguage ) )
+            {
+                iFileDetails->iLanguage = metaData->Value().AllocL();
+            }
+            else if ( !metaData->Name().CompareF( KKeywords ) )
+            {
+                iFileDetails->iKeywords = metaData->Value().AllocL();
+            }
+            
             CleanupStack::PopAndDestroy( metaData );
         }