RIO-7574: By default, use current system time as creation & modification date.
diff --git a/fileformats/mp4/composer/src/atomutils.cpp b/fileformats/mp4/composer/src/atomutils.cpp
index b14bae6..76a3d6d 100644
--- a/fileformats/mp4/composer/src/atomutils.cpp
+++ b/fileformats/mp4/composer/src/atomutils.cpp
@@ -235,8 +235,9 @@
 void
 PVA_FF_AtomUtils::setTime(uint32 &ulTime)
 {
-    // This fp not correct, it needs to adjust to base 1904 rather 1970.
-    ulTime = uint32(time(NULL));
+    // 2082844800 is number of seconds from Jan 1, 1904 to Jan 1, 1970.
+    // time() returns the seconds since Jan 1, 1970.
+    ulTime = uint32(time(NULL) + 2082844800 );
 }
 
 
diff --git a/fileformats/mp4/composer/src/mpeg4file.cpp b/fileformats/mp4/composer/src/mpeg4file.cpp
index 74f65ef..7f3f369 100644
--- a/fileformats/mp4/composer/src/mpeg4file.cpp
+++ b/fileformats/mp4/composer/src/mpeg4file.cpp
@@ -1309,10 +1309,13 @@
         addCompatibleBrand(BRAND_3GPP5);
     }
 
-    uint32 time = convertCreationTime(_creationDate);
+    if( _oSetCreationDateDone )
+    {
+        uint32 time = convertCreationTime(_creationDate);
 
-    _pmovieAtom->getMutableMovieHeaderAtom().setCreationTime(time);
-    _pmovieAtom->getMutableMovieHeaderAtom().setModificationTime(time);
+        _pmovieAtom->getMutableMovieHeaderAtom().setCreationTime(time);
+        _pmovieAtom->getMutableMovieHeaderAtom().setModificationTime(time);
+    }
 
     if ((_o3GPPTrack == true) || (_oPVMMTrack == true) || (_oMPEGTrack == true))
     {
@@ -2487,7 +2490,6 @@
                 (_oSetCopyrightDone    == false) ||
                 (_oSetDescriptionDone  == false) ||
                 (_oSetRatingDone       == false) ||
-                (_oSetCreationDateDone == false) ||
                 (_pmediaDataAtomVec->size() == 0))
         {
             // Requirements for this API not met
diff --git a/nodes/pvmp4ffcomposernode/src/pvmp4ffcn_node.cpp b/nodes/pvmp4ffcomposernode/src/pvmp4ffcn_node.cpp
index 0598f58..54d3685 100644
--- a/nodes/pvmp4ffcomposernode/src/pvmp4ffcn_node.cpp
+++ b/nodes/pvmp4ffcomposernode/src/pvmp4ffcn_node.cpp
@@ -1645,7 +1645,10 @@
             iMpeg4File->setCopyright(iCopyright.iDataString, iCopyright.iLangCode);
             iMpeg4File->setDescription(iDescription.iDataString, iDescription.iLangCode);
             iMpeg4File->setRating(iRating.iDataString, iRating.iLangCode);
-            iMpeg4File->setCreationDate(iCreationDate);
+            if(iCreationDate.get_size() > 0)
+            {
+                iMpeg4File->setCreationDate(iCreationDate);
+            }
             iMpeg4File->setMovieFragmentDuration(iMovieFragmentDuration);
             iMpeg4File->setAlbumInfo(iAlbumTitle.iDataString, iAlbumTitle.iLangCode);
             iMpeg4File->setRecordingYear(iRecordingYear);