libdvr: fails to play timeshift on radio channels [1/1]
PD#SWPL-165416
Problem:
When entering timeshift on a radio channel, there is tsplayer crash
due to unexpected tsplayer API calling sequence hosted by libdvr.
Solution:
Do not call tsplayer pauseVideoDecoding API when working on a radio
channel
Verify:
Tested pass on ohm
Change-Id: Ifbb0d34843dcfefc2aa25ea0bde17a435845adf0
Signed-off-by: Wentao.MA <wentao.ma@amlogic.com>
diff --git a/src/dvr_playback.c b/src/dvr_playback.c
index 9c658f9..39ef136 100644
--- a/src/dvr_playback.c
+++ b/src/dvr_playback.c
@@ -1099,7 +1099,9 @@
player->play_flag = player->play_flag & (~DVR_PLAYBACK_STARTED_PAUSEDLIVE);
player->first_frame = 0;
AmTsPlayer_setTrickMode(player->handle, AV_VIDEO_TRICK_MODE_NONE);
- AmTsPlayer_pauseVideoDecoding(player->handle);
+ if (player->has_video == DVR_TRUE) {
+ AmTsPlayer_pauseVideoDecoding(player->handle);
+ }
AmTsPlayer_pauseAudioDecoding(player->handle);
// Audio is unmuted here, for it was muted before receiving first frame event.