libdvr: progress bar displays abnormally [1/1]
PD#SWPL-105828
PD#SWPL-105829
Problem:
Progress bar behave abnormal in rewind/seek tests.
This is due to recent changes which may results in a negative
slider position.
Solution:
Avoid negative slider position condition.
Verify:
Locally tested OK in AndroidT environment.
Signed-off-by: Wentao.MA <wentao.ma@amlogic.com>
Change-Id: I7c4cfbcc70c3455520b74f3e1ca79ba89b2ce6e3
diff --git a/src/dvr_playback.c b/src/dvr_playback.c
index d21b4f4..acdf81d 100644
--- a/src/dvr_playback.c
+++ b/src/dvr_playback.c
@@ -3226,9 +3226,13 @@
cache = 0;
}
- const int cur_time = (int)(cur - cache);
+ int cur_time = (int)(cur - cache);
*id = player->cur_segment_id;
+ if (*id == 0 && cur_time<0) {
+ cur_time = 0;
+ }
+
DVR_PB_INFO("***get playback slider position within segment. segment_id [%lld],"
" segment_slider_pos[%7d ms] = segment_read_pos[%7lld ms] - tsplayer_cache_len[%5ld ms],"
" last id [%lld] pos [%lld]",
diff --git a/src/dvr_wrapper.c b/src/dvr_wrapper.c
index b564a73..516d303 100644
--- a/src/dvr_wrapper.c
+++ b/src/dvr_wrapper.c
@@ -3142,7 +3142,7 @@
DVR_WrapperCtx_t *ctx;
int error;
- DVR_RETURN_IF_FALSE(playback==NULL);
+ DVR_RETURN_IF_FALSE(playback!=NULL);
ctx = ctx_getPlayback((unsigned long)playback);
DVR_RETURN_IF_FALSE(ctx);