Fixed: page duration. 40/89140/1
authorDenis Dolzhenko <d.dolzhenko@samsung.com>
Thu, 22 Sep 2016 11:05:42 +0000 (14:05 +0300)
committerDenis Dolzhenko <d.dolzhenko@samsung.com>
Thu, 22 Sep 2016 11:05:42 +0000 (14:05 +0300)
Change-Id: Ibcc7bd9923d74e6ff2190477227cf38807122317
Signed-off-by: Denis Dolzhenko <d.dolzhenko@samsung.com>
src/Conversation/Body/Controller/src/Body.cpp
src/Viewer/Controller/inc/Viewer.h
src/Viewer/Controller/src/Viewer.cpp

index 242d10673938499ddf92f0eeee85927987ef7aa2..407848e078b55ad76f4b2cf28944bb6611dc0407 100644 (file)
@@ -116,11 +116,20 @@ void Body::addAttachment(const std::string &filePath)
 
 void Body::addFileToPage(MessageMms &msg,const std::string &filePath)
 {
-    static const int defaultPageDuration = 5000; // sec
+    static const int defaultPageDuration = 5000; // msec
     if(!filePath.empty())
     {
         MsgPage &msgPage = msg.addPage();
-        msgPage.setPageDuration(defaultPageDuration);
+        MediaTypeData mediaData = getMsgMediaTypeByFileExt(filePath);
+        int pageDuration = 0;
+
+        if(mediaData.type == MsgMedia::VideoType || mediaData.type == MsgMedia::AudioType)
+            pageDuration = MediaUtils::getDuration(filePath);
+
+        if(pageDuration <= 0)
+            pageDuration = defaultPageDuration;
+
+        msgPage.setPageDuration(pageDuration);
         MsgMedia &media = msgPage.addMedia();
         media.setFilePath(filePath);
     }
index 41896f523502fb3b28f1f977a4d08f1de35ec2a4..d11bceb92491e5acb4558c9f833b552ad9bb65dd 100644 (file)
@@ -56,6 +56,7 @@ namespace Msg
             // NaviFrameItem:
             virtual void onAttached(ViewItem &item);
             virtual void onButtonClicked(NaviFrameItem &item, NaviButtonId buttonId);
+            virtual void onPause();
 
             // IHwButtonListener:
             virtual void onHwBackButtonClicked();
index f3ee62551a3ab81ae609d0b93237d5c04b89101c..67418aa3e9ee355f09ea331b68043285d8d5bd59 100644 (file)
@@ -466,3 +466,10 @@ void Viewer::onMsgStorageDelete(const MsgIdList &msgIdList)
             pop();
     }
 }
+
+void Viewer::onPause()
+{
+    MSG_LOG("");
+    if(m_pSmilPlayer)
+        m_pSmilPlayer->stop();
+}