timeshift: auto resume after a seek [1/1]
PD#SWPL-111689
Problem:
incorrect auto resume in the end-reach of timeshifting
Solution:
check more for auto resume
Verify:
PB
Change-Id: Ic85a5b7af4235babe67e49df99adf5886c3fd08f
Signed-off-by: Zhiqiang Han <zhiqiang.han@amlogic.com>
diff --git a/src/dvr_wrapper.c b/src/dvr_wrapper.c
index 3ddcb5d..6e6a1dc 100644
--- a/src/dvr_wrapper.c
+++ b/src/dvr_wrapper.c
@@ -749,11 +749,13 @@
if (
/*there's $TIMESHIFT_DATA_DURATION_TO_RESUME more of data in the current segment playing*/
(ctx->playback.seg_status.segment_id == seg_info->id
- && (seg_info->duration >= ((time_t)ctx->playback.seg_status.time_cur + TIMESHIFT_DATA_DURATION_TO_RESUME)))
+ && (seg_info->duration >= ((time_t)ctx->playback.seg_status.time_cur + TIMESHIFT_DATA_DURATION_TO_RESUME))
+ && ctx->playback.speed != 0.0f)
||
/*or there's a new segment and has $TIMESHIFT_DATA_DURATION_TO_RESUME of data*/
(ctx->playback.seg_status.segment_id != seg_info->id
- && (seg_info->duration >= TIMESHIFT_DATA_DURATION_TO_RESUME))
+ && (seg_info->duration >= TIMESHIFT_DATA_DURATION_TO_RESUME)
+ && ctx->playback.speed != 0.0f)
)
{
int error;