From 3d2d217eba28d1b6098397bb5ae8083578390de3 Mon Sep 17 00:00:00 2001 From: Romain Bouqueau Date: Wed, 15 May 2024 21:26:42 -0400 Subject: [PATCH] MABR: consider the diff between fetch time and pusblishTime --- src/media_tools/dash_client.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/media_tools/dash_client.c b/src/media_tools/dash_client.c index e328fbd74e..d5a695f166 100644 --- a/src/media_tools/dash_client.c +++ b/src/media_tools/dash_client.c @@ -925,12 +925,12 @@ static void gf_dash_group_timeline_setup_single(GF_MPD *mpd, GF_DASH_Group *grou } } else { //adjust so that nb_seg = current_time/segdur = (fetch-ast)/seg_dur; - // = (fetch- ( mpd->availabilityStartTime + group->dash->utc_shift + group->dash->utc_drift_estimate) / segdur; + // = (fetch - (mpd->availabilityStartTime + group->dash->utc_shift + group->dash->utc_drift_estimate) / segdur; //hence nb_seg*seg_dur = fetch - mpd->availabilityStartTime - group->dash->utc_shift - group->dash->utc_drift_estimate //so group->dash->utc_drift_estimate = fetch - (mpd->availabilityStartTime + nb_seg*seg_dur) + //this must also be compensated by the last publishTime - - u64 utc = mpd->availabilityStartTime + dyn_period->start + timeline_offset_ms; + u64 utc = mpd->availabilityStartTime + (fetch_time - mpd->publishTime) + dyn_period->start + timeline_offset_ms; group->dash->utc_drift_estimate = ((s64) fetch_time - (s64) utc); GF_LOG(GF_LOG_INFO, GF_LOG_DASH, ("[DASH] Estimated UTC diff of ROUTE broadcast "LLD" ms (UTC fetch "LLU" - server UTC "LLU" - MPD AST "LLU" - MPD PublishTime "LLU" - bootstraping on segment %s\n", group->dash->utc_drift_estimate, fetch_time, utc, group->dash->mpd->availabilityStartTime, group->dash->mpd->publishTime, val)); }