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