mediasync: CB2 fixed dropped frames after resume [2/3]

PD#SWPL-88573

Problem:
Drop frames after resume.

Solution:
After resume, if the audio pts is larger than the video pts,
the audio will wait for the video output first.

Verify:
AP222

Build Tag:
Buildroot_DRM_PatchBuild-1084

Commits:
buildroot/package/amlogic/linuxdrm/media_hal:
version: 3.7.26-gd197c28(build:1084)
d197c28 mediasync: CB2 fixed dropped frames after resume [2/3]

Git Hash-Object:
8c39b7707af1d75bf18b083ee525df2c9c0ddeee
prebuilt/aarch64.lp64./libmediahal_mediasync.so
49f397360dfe672dfb5fa3e9aac809805ef1ff7d
prebuilt/aarch64.lp64./libmediahal_tsplayer.so
343a4b833849ed2922ec771d828e4c27f5f2edd1
prebuilt/aarch64.lp64./libmediahal_videodec.so
d05b5a7b7d93a9a2198705f08a29842aad40b9ed
prebuilt/aarch64.lp64./libmediahal_videorender.so
8938b2f24dbe30e84e9e09b54e4b6d7b023c93e0
prebuilt/aarch64.lp64./videorender_server
944e7e9506205ab110dce06f35d4f1e48a76e6fe
prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so
3919aec0f01ef44439ffe8fbe697919e4eb721e7
prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
6ea158eb7ea162d4ebab458a282154c6dd27f267
prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
e477128adfa3c264d9fec4b5bc03459c156662da
prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
6517d373af4aaae1ac9fdd67c3eaf6028cff18b4
prebuilt/arm.aapcs-linux.hard/videorender_server
143b1ccff7f3d622c627817a18725b14e030e603
prebuilt/noarch/include/MediaSyncInterface.h
28c45159c105f7021138d13019ccd92dcfea6a63
prebuilt/noarch/include/render_lib.h
73d1de55bf51f8dacf19c5034817b31a41e953ea
version.txt

Change-Id: Ie3a45f684b68a063848e90964dbd628084a41bba
Signed-off-by: DRM Auto Build <tao.guo@amlogic.com>
diff --git a/prebuilt/aarch64.lp64./libmediahal_mediasync.so b/prebuilt/aarch64.lp64./libmediahal_mediasync.so
index 120362d..8c39b77 100644
--- a/prebuilt/aarch64.lp64./libmediahal_mediasync.so
+++ b/prebuilt/aarch64.lp64./libmediahal_mediasync.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
index c0d7e02..49f3973 100644
--- a/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
+++ b/prebuilt/aarch64.lp64./libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videodec.so b/prebuilt/aarch64.lp64./libmediahal_videodec.so
index 10a90a3..343a4b8 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videodec.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./libmediahal_videorender.so b/prebuilt/aarch64.lp64./libmediahal_videorender.so
index cbed873..d05b5a7 100644
--- a/prebuilt/aarch64.lp64./libmediahal_videorender.so
+++ b/prebuilt/aarch64.lp64./libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/aarch64.lp64./videorender_server b/prebuilt/aarch64.lp64./videorender_server
index 5c83836..8938b2f 100755
--- a/prebuilt/aarch64.lp64./videorender_server
+++ b/prebuilt/aarch64.lp64./videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so
index ef78ccf..944e7e9 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
index 6ffa5f0..3919aec 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
index 3133883..6ea158e 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
index 0dd1604..e477128 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/videorender_server b/prebuilt/arm.aapcs-linux.hard/videorender_server
index c8849c5..6517d37 100755
--- a/prebuilt/arm.aapcs-linux.hard/videorender_server
+++ b/prebuilt/arm.aapcs-linux.hard/videorender_server
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/AmTsPlayerMultiExample b/prebuilt/arm.aapcs-linux.softfp/AmTsPlayerMultiExample
old mode 100644
new mode 100755
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_mediasync.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_mediasync.so
index 01ac8b8..ec78c57 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_mediasync.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_mediasync.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
index f5ddda5..504bd50 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_tsplayer.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videodec.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videodec.so
index 34f8faa..db7c8c5 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videodec.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videodec.so
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
index 1f5c70e..c882878 100644
--- a/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
+++ b/prebuilt/arm.aapcs-linux.softfp/libmediahal_videorender.so
Binary files differ
diff --git a/prebuilt/noarch/include/MediaSyncInterface.h b/prebuilt/noarch/include/MediaSyncInterface.h
index d35cab4..143b1cc 100644
--- a/prebuilt/noarch/include/MediaSyncInterface.h
+++ b/prebuilt/noarch/include/MediaSyncInterface.h
@@ -61,6 +61,7 @@
     MEDIASYNC_KEY_ALSAREADY,
     MEDIASYNC_KEY_VSYNC_INTERVAL_MS,
     MEDIASYNC_KEY_VIDEOFRAME,
+    MEDIASYNC_KEY_VIDEOTRICKMODE,
     MEDIASYNC_KEY_MAX = 255,
 } mediasync_parameter;
 
@@ -135,7 +136,7 @@
 typedef struct frameinfo{
     int64_t framePts;
     int64_t frameSystemTime;
-}mediasync_frameinfo;
+} mediasync_frameinfo;
 
 extern void* MediaSync_create();
 
diff --git a/prebuilt/noarch/include/render_lib.h b/prebuilt/noarch/include/render_lib.h
index b9f9523..28c4515 100644
--- a/prebuilt/noarch/include/render_lib.h
+++ b/prebuilt/noarch/include/render_lib.h
@@ -95,7 +95,11 @@
     //frame buffer is displayed
     MSG_DISPLAYED_BUFFER = 101, //the msg type is RenderBuffer
     //the frame buffer is droped
-    MSG_DROPED_BUFFER = 102,//the msg type is RenderBuffer
+    MSG_DROPED_BUFFER    = 102,//the msg type is RenderBuffer
+    //first frame displayed msg
+    MSG_FIRST_FRAME       = 103, //the msg type is frame pts
+    //under flow msg
+    MSG_UNDER_FLOW       = 104, //the msg type is last displayed pts
 
     //render lib connected failed
     MSG_CONNECTED_FAIL   = 200, //the msg type is string
@@ -321,6 +325,15 @@
 int render_pause(void *handle);
 
 /**
+ * @brief pause display,when display frame reached to the special pts video
+ *
+ * @param handle a handle of render device that was opened
+ * @param pts the will paused video frame pts, the pts unit is nano second
+ * @return 0 sucess,-1 fail
+ */
+int render_pause_pts(void *handle, int64_t pts);
+
+/**
  * resume display video frame
  * @param handle a handle of render device that was opened
  * @return 0 sucess,-1 fail
diff --git a/version.txt b/version.txt
index 121745d..73d1de5 100644
--- a/version.txt
+++ b/version.txt
@@ -1,10 +1,99 @@
 =========RELEALSE NOTE=================
 
-Version: V3.7.22-g4b6d75b
+Version: V3.7.26-gd197c28
 
 ========================================
 
 Git commit:
+commit d197c284477491ebbe54144d0ecfe8179b0617ff
+Author: yunmin.chen <yunmin.chen@amlogic.com>
+Date:   Thu Aug 11 19:41:22 2022 +0800
+
+    mediasync: CB2 fixed dropped frames after resume [2/3]
+    
+    PD#SWPL-88573
+    
+    Problem:
+    Drop frames after resume.
+    
+    Solution:
+    After resume, if the audio pts is larger than the video pts,
+    the audio will wait for the video output first.
+    
+    Verify:
+    AP222
+    
+    Change-Id: Icbcce49207b96abf93e3775f7b88f5fbb74173fa
+    Signed-off-by: yunmin.chen <yunmin.chen@amlogic.com>
+
+commit 96d77ed170a9568de88a351f707a139706443dfd
+Author: yunmin.chen <yunmin.chen@amlogic.com>
+Date:   Wed Aug 3 21:25:20 2022 +0800
+
+    mediasync: CB2 fix dropped frames [1/1]
+    
+    PD#SWPL-88573
+    
+    Problem:
+    Add frame control.
+    
+    Solution:
+    Add frame control.
+    
+    Verify:
+    AP222
+    
+    Change-Id: I7f3d06e936f1080c7c46dab9973e5622cfb339e5
+    Signed-off-by: yunmin.chen <yunmin.chen@amlogic.com>
+
+commit bdefd411243bccf3c16e09e5195db205b22d3fb0
+Author: yunmin.chen <yunmin.chen@amlogic.com>
+Date:   Thu Jun 9 22:27:52 2022 +0800
+
+    mediasync: CF1 mediasync architecture optimization [1/1]
+    
+    PD#SWPL-78999
+    
+    Problem:
+    mediasync architecture optimization.
+    
+    Solution:
+    mediasync architecture optimization.
+    
+    Verify:
+    SC2
+    
+    Change-Id: Ib50ea447c990260c0c22d27f6db97527c535629b
+    Signed-off-by: yunmin.chen <yunmin.chen@amlogic.com>
+
+commit f3c6ad83fd6f2e53a7e6c4ad5c1e2f8cd7ab0fc6
+Author: fei.deng <fei.deng@amlogic.com>
+Date:   Sun Aug 21 21:14:56 2022 +0800
+
+    videorenderer: CF2 send pause event after all frame displayed [1/1]
+    
+    PD#SWPL-88573
+    
+    Problem:
+    dropped frame issue in video mono sync mode if frames had commit to
+    westeros server from pause to resume state. because system mono clock
+    is going when pausing state,but frame mono time is constant,all frames will
+    be expired when resume playing
+    
+    Solution:
+    1.send pause event to westeros server after all frames those commited
+    to westeros server had displayed
+    2.add under flow msg
+    3.add first frame msg
+    4.add pause api with the special pts
+    5.add a notify thread to send callback to caller
+    
+    Verify:
+    ap222
+    
+    Change-Id: I855bb66d99bab52d21fa105fc742670566edcfe3
+    Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
 commit 4b6d75b9964d636d5bf96fa952ca5695ad92602f
 Author: fei.deng <fei.deng@amlogic.com>
 Date:   Tue Aug 30 11:24:13 2022 +0800
@@ -128,96 +217,9 @@
     Change-Id: I90e2681bf93ebbf2b0cfc688fb9f0d97897dac07
     Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
 
-commit 83a862f1369c2906f0dd5da71498979ba1d69ff8
-Author: Yani Shi <yani.shi@amlogic.com>
-Date:   Thu Aug 18 19:20:33 2022 +0800
-
-    mediasync: CB2 Optimize the start time of special stream. [1/1]
-    
-    PD#SWPL-88809
-    
-    Problem:
-    For some special stream, the first_frame_nosync
-    the first vpts is larger lot than the first apts
-    let the start time is too long
-    
-    Solution:
-    add the avdiff ladder to optimize the start time
-    
-    Verify:
-    AP232-Irdeto
-    
-    Change-Id: I5aee2851d5e0cc2d89c15a1c81fcd9f9554f62b6
-    Signed-off-by: Yani Shi <yani.shi@amlogic.com>
-
-commit f9b63cbe40933b858bb377ab93dbb259cf116293
-Author: fei.deng <fei.deng@amlogic.com>
-Date:   Wed Aug 10 17:36:11 2022 +0800
-
-    videorenderer: CF2 support two display output [1/1]
-    
-    PD#SH-10946
-    
-    Problem:
-    the origin render lib supports only one display wayland
-    output. if platform contains two display output, this causes
-    video output size issue
-    
-    Solution:
-    support two wayland display output,one is primary output and another
-    is extend output. primary output is default output if user don't select
-    special output
-    
-    Verify:
-    a311d2
-    
-    Change-Id: I5b0b5ddaa35c4bde9da3e207ce7af52e3ccaf58d
-    Signed-off-by: fei.deng <fei.deng@amlogic.com>
-
-commit ba06c903bce037fbc856a094f1c7eb3a62687ecd
-Author: zhipeng.he <zhipeng.he@amlogic.com>
-Date:   Thu Jul 14 21:22:48 2022 +0800
-
-    example: CF2 add esvideodecplayer example [1/1]
-    
-    PD#SWPL-87744
-    
-    Problem:
-    no esvideodecplayer example
-    
-    Solution:
-    add esvideodecplayer example
-    
-    Verify:
-    AH212
-    
-    Change-Id: I5c267b58b513c7a43e3cf14f8ef46d6bb5bbf3c1
-    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
-
-commit 4819fbb91d7dcd75380b0a9735afbd1fcdd10393
-Author: fei.deng <fei.deng@amlogic.com>
-Date:   Tue Aug 2 17:16:48 2022 +0800
-
-    videorenderer: CF1 support libdrm meson compositor [1/1]
-    
-    PD#SWPL-89478
-    
-    Problem:
-    support libdrm meson display video when
-    the platform don't implement westeros,weston,videotunnel
-    
-    Solution:
-    support libdrm meson compositor
-    
-    Verify:
-    ap222
-    
-    Change-Id: Ic2cb0d9d0e3b4dcfceb9df362647479315753e45
-    Signed-off-by: fei.deng <fei.deng@amlogic.com>
-
 ========================================
 
-Release time: 2022-08-31-13-30
+Release time: 2022-09-05-14-39
 
 ========================================