Временная диагностика источника startup-seek'ов на Tizen 2.3.
Что инжектится:
scripts/patch-hls.js патчит исходники hls.js в node_modules (stream-controller, gap-controller, audio-stream-controller), оборачивая присваивания media.currentTime = X вызовами window.__ctLog(site, value, prev).
src/front/ts/pages/player/ct-debug.ts::installCtLogShim(log) вешает на window.__ctLog функцию, которая логирует site/value/prev/stack в backend-bound Logger.
src/front/ts/pages/player.ts вызывает installCtLogShim(plog) при загрузке модуля.
Почему так: Tizen 2.3 WebKit (Chromium 28) отдаёт HTMLMediaElement.currentTime как data property, а не accessor — Object.defineProperty не работает, поэтому перехват пишется прямо в сорсы hls.js через патч-скрипт.
Что удалить, когда источник лишних seek'ов найден и зафиксирован:
Временная диагностика источника startup-seek'ов на Tizen 2.3.
Что инжектится:
scripts/patch-hls.jsпатчит исходникиhls.jsвnode_modules(stream-controller,gap-controller,audio-stream-controller), оборачивая присваиванияmedia.currentTime = Xвызовамиwindow.__ctLog(site, value, prev).src/front/ts/pages/player/ct-debug.ts::installCtLogShim(log)вешает наwindow.__ctLogфункцию, которая логирует site/value/prev/stack в backend-bound Logger.src/front/ts/pages/player.tsвызываетinstallCtLogShim(plog)при загрузке модуля.Почему так: Tizen 2.3 WebKit (Chromium 28) отдаёт
HTMLMediaElement.currentTimeкак data property, а не accessor —Object.definePropertyне работает, поэтому перехват пишется прямо в сорсы hls.js через патч-скрипт.Что удалить, когда источник лишних seek'ов найден и зафиксирован:
src/front/ts/pages/player/ct-debug.tsinstallCtLogShimизsrc/front/ts/pages/player.tsscripts/patch-hls.js(либо весь скрипт, если он больше ничего не делает)