Open aleksandrsakov opened 2 months ago
Hi @aleksandrsakov, unfortunately I don't have a Samsung device to test this myself. Do you know what browser at which version the device is using? Or do you know of a way to reproduce the problem without a Samsung device?
Hello @chrisguttandin. Here you can find a spec https://developer.samsung.com/smarttv/develop/specifications/web-engine-specifications.html#Web-Engine-Version. We saw the issue even on Tizen 6 (Chromium 76)
UserAgent is next: 'Mozilla/5.0 (SMART-TV; LINUX; Tizen 5.5) AppleWebKit/537.36 (KHTML, like Gecko) 69.0.3497.106/5.5 TV Safari/537.36' Seems like it goes by Safary mechanism createUpdateStepwise. When I tried to use createUpdateGradually (removed check of userAgent and remain only the else value https://github.com/chrisguttandin/timingsrc/blob/master/src/factories/default-set-timingsrc.ts#L26) the app is crashed (trying to play something for few seconds and crushes)
Thanks @aleksandrsakov, the userAgent
string will indeed pick the stepwise algorithm. It's necessary for Safari because it can't handle gradual playbackRate
changes. This algorithm will always perform a seek operation whenever the time difference is above the tolerance. It's 25ms by default.
Could you try increasing the tolerance in your build? The following should create a custom version of setTimingsrc()
that always uses the stepwise algorithm with a tolerance of 500ms.
import { createSetTimingsrc, createUpdateStepwise, setTimingsrcWithCustomUpdateFunction } from 'timingsrc';
const setTimingsrc = createSetTimingsrc(setTimingsrcWithCustomUpdateFunction, createUpdateStepwise(0.5));
Hello, I am using your lib for synchronisation. Everything works fine on Web (last chrome). But when I am running app on Samsung Smart TV, I am getting infinite seek events.
Any recommendations or ideas why it is happening? Or how can I listen every sync operation?