mediahal: CF2 t5d support mediasync [1/1]

PD#SWPL-83967

Problem:
t5d not support mediasync

Solution:
t5d support mediasync

Verify:
T5D
SourceCode:
commit db048e40785551063786a7e426e66dc570abfd2e
Author: zhipeng.he <zhipeng.he@amlogic.com>
Date:   Mon Jun 20 13:44:00 2022 +0800

Change-Id: Ia83be43491115c9c22816f141b0e9c4cbad9fa78
Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
diff --git a/example/AmTsPlayerExample/AmTsPlayerExample.cpp b/example/AmTsPlayerExample/AmTsPlayerExample.cpp
index 5d35f2c..e8a6f86 100644
--- a/example/AmTsPlayerExample/AmTsPlayerExample.cpp
+++ b/example/AmTsPlayerExample/AmTsPlayerExample.cpp
@@ -42,7 +42,7 @@
 using namespace std;
 
 const int kRwSize = 188*1024;
-const int kRwTimeout = 30000;
+const int kRwTimeout = 500;
 
 #ifndef UNUSED
 #define UNUSED(x) (void)(x)
@@ -434,7 +434,7 @@
                    }
                }
                 res = AmTsPlayer_writeData(session, &ibuf, kRwTimeout);
-               // usleep(20000);
+                //usleep(20000);
                 if (res == AM_TSPLAYER_ERROR_RETRY) {
                     usleep(50000);
                 } else
@@ -493,10 +493,12 @@
             }
         }
     }
-    delete [](buf);
+    if (buf) {
+        delete [](buf);
+        buf = NULL;
+    }
     if (file.is_open())
         file.close();
-
     set_osd_blank(0);
     AmTsPlayer_stopVideoDecoding(session);
     AmTsPlayer_stopAudioDecoding(session);
diff --git a/prebuilt/arm.aapcs-linux.hard/AmTsPlayerExample b/prebuilt/arm.aapcs-linux.hard/AmTsPlayerExample
index b24264d..277d098 100755
--- a/prebuilt/arm.aapcs-linux.hard/AmTsPlayerExample
+++ b/prebuilt/arm.aapcs-linux.hard/AmTsPlayerExample
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/AmTsPlayerMultiExample b/prebuilt/arm.aapcs-linux.hard/AmTsPlayerMultiExample
index c63e15e..3e50610 100755
--- a/prebuilt/arm.aapcs-linux.hard/AmTsPlayerMultiExample
+++ b/prebuilt/arm.aapcs-linux.hard/AmTsPlayerMultiExample
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/EsVideoDecPlayer b/prebuilt/arm.aapcs-linux.hard/EsVideoDecPlayer
index 97750fe..52623e7 100755
--- a/prebuilt/arm.aapcs-linux.hard/EsVideoDecPlayer
+++ b/prebuilt/arm.aapcs-linux.hard/EsVideoDecPlayer
Binary files differ
diff --git a/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_mediasync.so
index 7ac912a..f7e1780 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_resman.so b/prebuilt/arm.aapcs-linux.hard/libmediahal_resman.so
index 68914c2..bcc4e62 100644
--- a/prebuilt/arm.aapcs-linux.hard/libmediahal_resman.so
+++ b/prebuilt/arm.aapcs-linux.hard/libmediahal_resman.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 c902ec8..bad3a77 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 bffcd06..3a63068 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 fc88257..201825e 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 e4e9d90..7eb1930 100755
--- a/prebuilt/arm.aapcs-linux.hard/videorender_server
+++ b/prebuilt/arm.aapcs-linux.hard/videorender_server
Binary files differ
diff --git a/prebuilt/noarch/include/AmVideoDecBase.h b/prebuilt/noarch/include/AmVideoDecBase.h
index c8954d3..4db3666 100644
--- a/prebuilt/noarch/include/AmVideoDecBase.h
+++ b/prebuilt/noarch/include/AmVideoDecBase.h
@@ -44,6 +44,7 @@
     uint32_t    nDecType;
     int32_t mPlayerInstansNo;
     int32_t nVideoRecoveryValue;
+    int32_t mSourceType;
 } init_param_t;
 
 class AmVideoDecCallback {
diff --git a/prebuilt/noarch/include/MediaSyncInterface.h b/prebuilt/noarch/include/MediaSyncInterface.h
index d283fd2..10e02e5 100644
--- a/prebuilt/noarch/include/MediaSyncInterface.h
+++ b/prebuilt/noarch/include/MediaSyncInterface.h
@@ -192,6 +192,10 @@
 extern mediasync_result MediaSync_getFirstAudioFrameInfo(void* handle, mediasync_frameinfo* info);
 extern mediasync_result MediaSync_getCurAudioFrameInfo(void* handle, mediasync_frameinfo* info);
 extern mediasync_result MediaSync_GetMediaTimeByType(void* handle, media_time_type mediaTimeType,mediasync_time_unit tunit,int64_t* mediaTime);
+extern mediasync_result MediaSync_GetFirstQueueVideoInfo(void* handle, mediasync_frameinfo *info);
+extern mediasync_result MediaSync_GetQueueVideoInfo(void* handle, mediasync_frameinfo *info);
+extern mediasync_result MediaSync_GetFirstQueueAudioInfo(void* handle, mediasync_frameinfo *info);
+extern mediasync_result MediaSync_GetQueueAudioInfo(void* handle, mediasync_frameinfo *info);
 
 extern mediasync_result MediaSync_reset(void* handle);
 extern void MediaSync_destroy(void* handle);
diff --git a/prebuilt/noarch/include/render_lib.h b/prebuilt/noarch/include/render_lib.h
index d81e652..a45e96a 100644
--- a/prebuilt/noarch/include/render_lib.h
+++ b/prebuilt/noarch/include/render_lib.h
@@ -62,6 +62,7 @@
     KEY_SELECT_DISPLAY_OUTPUT,//set/get display output index,value type is int,0 is primary output and default value, 1 is extend display output
     KEY_IMMEDIATELY_OUTPUT, //set/get immediately output video frame to display, 0 is default value off, 1 is on
     KEY_STEP_DISPLAY_FRAME, //set/get step display frame,the value type is StepFrameInfo struct
+    KEY_VIDEO_CROP, //set/get the video crop,value type is RenderWindowSize
     KEY_MEDIASYNC_INSTANCE_ID = 400, //set/get mediasync instance id, value type is int
     KEY_MEDIASYNC_PCR_PID, ///set/get mediasync pcr id ,value type is int
     KEY_MEDIASYNC_DEMUX_ID, //set/get mediasync demux id ,value type is int
@@ -449,6 +450,42 @@
  */
 int render_mediasync_queue_demux_pts(void *handle, int64_t ptsUs, uint32_t size);
 
+/**
+ * @brief get first queuevideo pts from mediasync
+ *
+ *@param handle a handle of render device that was opened
+ * @param pts the first queuevideo pts
+ * @return int 0 success, -1 if failed
+ */
+int render_mediasync_get_first_queuevideo_pts(void *handle, int64_t *pts);
+
+/**
+ * @brief get queuevideo pts from mediasync
+ *
+ *@param handle a handle of render device that was opened
+ * @param pts the queuevideo pts
+ * @return int 0 success, -1 if failed
+ */
+int render_mediasync_get_queuevideo_pts(void *handle, int64_t *pts);
+
+/**
+ * @brief get first queueaudio pts from mediasync
+ *
+ *@param handle a handle of render device that was opened
+ * @param pts the first queueaudio pts
+ * @return int 0 success, -1 if failed
+ */
+int render_mediasync_get_first_queueaudio_pts(void *handle, int64_t *pts);
+
+/**
+ * @brief get queueaudio pts from mediasync
+ *
+ *@param handle a handle of render device that was opened
+ * @param pts the queueaudio pts
+ * @return int 0 success, -1 if failed
+ */
+int render_mediasync_get_queueaudio_pts(void *handle, int64_t *pts);
+
 #ifdef  __cplusplus
 }
 #endif
diff --git a/version.txt b/version.txt
index 8dbfbad..bfc202b 100644
--- a/version.txt
+++ b/version.txt
@@ -1,10 +1,138 @@
 =========RELEALSE NOTE=================
 
-Version: V3.7.50-g08c9c29
+Version: vV3.7.56-gdb048e4
 
 ========================================
 
 Git commit:
+commit db048e40785551063786a7e426e66dc570abfd2e
+Author: zhipeng.he <zhipeng.he@amlogic.com>
+Date:   Mon Jun 20 13:44:00 2022 +0800
+
+    mediahal: CF2 t5d support mediasync [1/1]
+    
+    PD#SWPL-83967
+    
+    Problem:
+    t5d not support mediasync
+    
+    Solution:
+    t5d support mediasync
+    
+    Verify:
+    T5D
+    
+    Change-Id: I0a284579ea6c9889c5e92af2cba9b006bcddfcc7
+    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
+
+commit 2850308b8eec6aeeaf1fa89c6e609be31e3903d6
+Author: zhipeng.he <zhipeng.he@amlogic.com>
+Date:   Wed Oct 26 20:17:00 2022 +0800
+
+    tsplayer: CB2 add setvideo crop function [1/1]
+    
+    PD#SWPL-98503
+    
+    Problem:
+    not send the videocrop to renderlib
+    
+    Solution:
+    send the videocrop to renderlib
+    
+    Verify:
+    AH212
+    
+    Change-Id: Ic0fff285f8dd773b81e6806ea9eb9686200ce9ea
+    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
+
+commit 576619ef71bb1557dacb4fcba4ab53a1b37934ca
+Author: fei.deng <fei.deng@amlogic.com>
+Date:   Wed Nov 2 22:49:50 2022 +0800
+
+    videorenderer: CF2 add crop frame size for westeros [1/1]
+    
+    PD#SWPL-98793
+    
+    Problem:
+    add crop frame size for westeros
+    
+    Solution:
+    add crop frame size for westeros
+    
+    Verify:
+    ap222
+    
+    Change-Id: I757652357173391e8f67bead11d923db501e9f29
+    Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
+commit c7eba4bbee4d1f3aba911c9e732754894235e6e5
+Author: fei.deng <fei.deng@amlogic.com>
+Date:   Tue Nov 15 16:38:24 2022 +0800
+
+    videorenderer: CB2 change render thread priority to RR [1/1]
+    
+    PD#SWPL-100347
+    
+    Problem:
+    render thread schedule late in low memory platform
+    
+    Solution:
+    change render thread priority to RR and use
+    VIDEO_RENDER_THREAD_PRIORITY to configure priority value
+    
+    Verify:
+    aq2432
+    
+    Change-Id: I77622c702d43dda23aca1c84fcc4ee50b1e00ad4
+    Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
+commit 2e0fb939fd5df487aa596deb443f5a84134930d4
+Author: fei.deng <fei.deng@amlogic.com>
+Date:   Tue Nov 8 11:26:25 2022 +0800
+
+    videorenderer: CB2 fix rendlib unordered_map crash [1/1]
+    
+    PD#SWPL-97750
+    
+    Problem:
+    1.std::unordered_map is not thread safe if multi thread read
+    and write map at the same time
+    2.do not streamon at readyToRun
+    3.refine Thread class
+    4.reduce vdo sink epoll timeout
+    5.add mutex to protect vdo sink create and destroy
+    
+    Solution:
+    add mutex protect
+    
+    Verify:
+    ar321
+    
+    Change-Id: I825c818f30716b681e5172900297613eacfffdc7
+    Signed-off-by: fei.deng <fei.deng@amlogic.com>
+
+commit d7e4ac12be5dead0e7eaeff501406003fbd5a8e9
+Author: zhipeng.he <zhipeng.he@amlogic.com>
+Date:   Thu Oct 20 20:05:09 2022 +0800
+
+    videodec: CB2 h264/h265 cc data can not post [1/2]
+    
+    PD#OTT-34084
+    
+    Problem:
+    1.h264/h265 cc data can not post
+    2.can not get the pts from decoder
+    
+    Solution:
+    1.h264/h265 cc data can not post
+    2.add pts server on driver
+    
+    Verify:
+    AH212
+    
+    Change-Id: Idb846f9d7705e5d2fe96ba76fada95d29818784f
+    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
+
 commit 08c9c29bf8120c660d4b076b73e43e44d8ff0f07
 Author: fei.deng <fei.deng@amlogic.com>
 Date:   Thu Nov 3 17:13:09 2022 +0800
@@ -89,144 +217,13 @@
     Change-Id: I69efe12dc0bab12e60deaf62db951d0e8393c90b
     Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
 
-commit 44c0060d3ebdcb13a4229cb28b89b3554fad74d8
-Author: Yani Shi <yani.shi@amlogic.com>
-Date:   Sun Oct 9 19:34:37 2022 +0800
+========================================
 
-    mediasync: CB2 Add discontinue when dmxpcr invalid. [1/1]
-    
-    PD#SWPL-67100
-    
-    Problem:
-    For Scramble stream,when streamXpress set pts self-accumulation.
-    the dmxpcr will increase with systemtime but the a/vpts will jump
-    back when stream back.
-    cause the avsync issue.
-    
-    Solution:
-    add discontinue logic when demux pcr invalid
-    
-    Verify:
-    S905C3
-    
-    Change-Id: Ia2f349e155bc0dcecca09060f7cb527a27b5e729
-    Signed-off-by: Yani Shi <yani.shi@amlogic.com>
-
-commit 9b5f2b494d25e4e718dc136307b324832bd028b2
-Author: fei.deng <fei.deng@amlogic.com>
-Date:   Fri Oct 14 10:52:49 2022 +0800
-
-    videorenderer: CB2 fix fds leak and render server crash [1/1]
-    
-    PD#SWPL-96477
-    
-    Problem:
-    1.render server appears fds leak when playback exit.
-    2.render server crash when test case pvr of socts test
-    
-    Solution:
-    flush buffers posted to videotunnel when exit playback
-    
-    Verify:
-    ar321
-    
-    Change-Id: I4fa8517a93986b44f6c0776fe0d873aa2c751846
-    Signed-off-by: fei.deng <fei.deng@amlogic.com>
-
-commit 92a3f951b7f28aeac6baa5f517ec220b1e1b7166
-Author: zhipeng.he <zhipeng.he@amlogic.com>
-Date:   Thu Sep 29 22:07:02 2022 +0800
-
-    mediahal: CB2 enable use libdrm when no compositor [1/1]
-    
-    PD#SWPL-91357
-    
-    Problem:
-    not use libdrm when no compositor
-    
-    Solution:
-    use libdrm when no compositor
-    
-    Verify:
-    at302-t5w
-    
-    Change-Id: Idbdac133030e0363f6d05bdc6d5e03c680dbff71
-    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
-
-commit 6d58fbf6896373fc3fd82daa11f70bef7df28268
-Author: zhipeng.he <zhipeng.he@amlogic.com>
-Date:   Sun Oct 9 19:48:44 2022 +0800
-
-    mediasync: CB2 use drm_meson open need to close fd [1/1]
-    
-    PD#SWPL-96543
-    
-    Problem:
-    onlyaudio switch to av cannot show video on libdrm
-    
-    Solution:
-    use drm_meson open need to close fd
-    
-    Verify:
-    at302
-    
-    Change-Id: Ic5b8c2ad0db7abfcb655ce37785be54a00009634
-    Signed-off-by: zhipeng.he <zhipeng.he@amlogic.com>
-
-commit d05cab305f6c4850c0e068669c9260a540b5e0f9
-Author: fei.deng <fei.deng@amlogic.com>
-Date:   Wed Sep 21 19:55:00 2022 +0800
-
-    videorenderer: CF2 frame advance [1/1]
-    
-    PD#SWPL-77942
-    
-    Problem:
-    add new ioctl
-    1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
-    2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
-    
-    Solution:
-    add new ioctl
-    1.V4L2_CID_EXT_VDEC_FRAME_ADVANCE
-    2.V4L2_CID_EXT_VDEC_DECODED_PICTURE_BUFFER
-    
-    Verify:
-    ar321
-    
-    Change-Id: I6523361081c6b482c290343403f40a4d3587b991
-    Signed-off-by: fei.deng <fei.deng@amlogic.com>
-
-commit cee7c8a54da15876fe5f99fdceb988da363c1fc3
-Author: yunmin.chen <yunmin.chen@amlogic.com>
-Date:   Wed Sep 21 16:10:14 2022 +0800
-
-    mediasync: CF1 Added video frame advance function. [1/1]
-    
-    PD#SWPL-77942
-    
-    Problem:
-    Added video frame advance function
-    
-    Solution:
-    Set MEDIASYNC_KEY_VIDEO_FRAME_ADVANCE to enable the feature.
-    After the function is enabled,
-    the display time of each frame is
-    calculated according to the current system time.
-    
-    Verify:
-    T3
-    
-    Change-Id: Ibf3057bd029f8d69f02106d9f3c38f2b4d011d3f
-    Signed-off-by: yunmin.chen <yunmin.chen@amlogic.com>
+Release time: 2022-11-22-17-45
 
 ========================================
 
-Release time: 2022-11-07-10-12
-
-========================================
-
-Builder: drm.autobuild
+Builder: zhipeng.he
 
 ========================================
 Release file:
@@ -235,23 +232,29 @@
 AmTsPlayer.h
 AmVideoDecBase.h
 MediaSyncInterface.h
+render_lib.h
 resourcemanage.h
 
-Library file:
+Library and Binary file:
+AmTsPlayerExample
+AmTsPlayerMultiExample
+EsVideoDecPlayer
 libmediahal_mediasync.so
 libmediahal_resman.so
 libmediahal_tsplayer.so
 libmediahal_videodec.so
 libmediahal_videorender.so
+videorender_server
+
 Example file:
 AmTsPlayerExample.cpp
 Makefile
+
 Multi_Example file:
 AmTsPlayerMultiExample.cpp
 Makefile
-
-Binary  file:
-AmTsPlayerExample
-AmTsPlayerMultiExample
+Esvideodecplayer file:
+EsVideoDecPlayer.cpp
+Makefile
 
 ========================================