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
========================================