playback: pause->changeApid->resume->sound leak [1/1]
PD#SWPL-151054
Problem:
pause->changeApid->resume->sound leak
in resume:
resume -> reset av(restart audio)
Solution:
in resume: reset av(restart audio) -> resume
Verify:
PB
Change-Id: Iaf6a6f198586132fe125e72ea36842082551741c
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
diff --git a/src/dvr_playback.c b/src/dvr_playback.c
index 1cb9138..b24bb14 100644
--- a/src/dvr_playback.c
+++ b/src/dvr_playback.c
@@ -2835,6 +2835,10 @@
if (player->has_audio)
AmTsPlayer_pauseAudioDecoding(player->handle);
+ DVR_PB_INFO("set start state cur cmd[%d]", player->cmd.cur_cmd);
+ if (player->cmd.speed.speed.speed == PLAYBACK_SPEED_X1)
+ _dvr_cmd(handle, player->cmd.cur_cmd);
+
if (player->has_video) {
DVR_PB_INFO("dvr_playback_resume set trick mode none 1");
AmTsPlayer_setTrickMode(player->handle, AV_VIDEO_TRICK_MODE_NONE);
@@ -2842,9 +2846,7 @@
}
if (player->has_audio)
AmTsPlayer_resumeAudioDecoding(player->handle);
- DVR_PB_INFO("set start state cur cmd[%d]", player->cmd.cur_cmd);
- if (player->cmd.speed.speed.speed == PLAYBACK_SPEED_X1)
- _dvr_cmd(handle, player->cmd.cur_cmd);
+
player->cmd.state = DVR_PLAYBACK_STATE_START;
DVR_PLAYER_CHANGE_STATE(player,DVR_PLAYBACK_STATE_START);
DVR_PB_INFO("unlock");