Re: [PATCH] es_out: scale preroll clock-origin compensation by the playback rate

Steve Lhomme <[email protected]> Wed, 8 Jul 2026 06:28:22 +0200
Newsgroups gmane.comp.video.videolan.vlc.devel
Message-ID <[email protected]>
SGVsbG8gSXNtYWlsLAoKSWYgeW91IGhhdmUgYW4gYWNjb3VudCBvbiBjb2RlLnZpZGVvbGFuLm9y
ZyB5b3Ugc2hvdWxkIHN1Ym1pdCB5b3VyIHBhdGNoIAphcyBhIG1lcmdlIHJlcXVlc3QgdGhlcmUs
IHdpdGggdGhlc2UgZXhwbGFuYXRpb25zLiBXZSBkbyBub3QgYWNjZXB0IApwYXRjaGVzIHRocm91
Z2ggdGhlIG1haWxpbmcgbGlzdCBhbnltb3JlLgoKVGhhbmtzIGluIGF2ZGFuY2UuCgpPbiAwOC8w
Ny8yMDI2IDAxOjI2LCBJc21haWwgRGVnYW5pIHdyb3RlOgo+IEhpIGRldnMsCj4gCj4gU3VibWl0
dGluZyBteSBmaXJzdCB2bGMgcGF0Y2ggZm9yIGFuIGlzc3VlIEkndmUgaGFkIGZvciB5ZWFycyAo
cmVwb3J0ZWQgCj4gNyB5ZWFycyBhZ28hICMyMTg5MCkgd2hpY2ggQ2xhdWRlIGdhdmUgbWUgdGhl
IHN1cGVycG93ZXJzIHRvIGZpbmFsbHkgZml4ID0pCj4gCj4gSWYgeW91IHNsb3cgYSB2aWRlbyBk
b3duIOKAlCBzYXkgdG8gMC4yNXgg4oCUIGFuZCB0aGVuIHNlZWssIFZMQyBmcmVlemVzIGF0IAo+
IHRoZSB0YXJnZXQgcG9zaXRpb24gZm9yIGEgbG9uZyB0aW1lIGJlZm9yZSBwbGF5YmFjayByZXN1
bWVzOiBzZXZlcmFsIAo+IHNlY29uZHMgd2l0aCBzaG9ydC1HT1AgZmlsZXMsIGFuZCAzMCBzZWNv
bmRzIG9yIG1vcmUgd2l0aCB0aGUgNS0xMCAKPiBzZWNvbmQgR09QcyB0eXBpY2FsIG9mIHBob25l
IHJlY29yZGluZ3MgYW5kIHdlYiB2aWRlby4gVGhlIHNsb3dlciB0aGUgCj4gcmF0ZSwgdGhlIGxv
bmdlciB0aGUgZnJlZXplLgo+IAo+IFdoYXQgaGFwcGVuczogYWZ0ZXIgYSBwcmVjaXNlIHNlZWss
IHRoZSBkZW11eGVyIHJlc3RhcnRzIGF0IHRoZSBwcmV2aW91cyAKPiBrZXlmcmFtZSwgYW5kIEVz
T3V0RGVjb2RlcnNTdG9wQnVmZmVyaW5nKCkgcmViYXNlcyB0aGUgY2xvY2sgb3JpZ2luIGJ5IAo+
IHN1YnRyYWN0aW5nIGlfYnVmZmVyaW5nX2R1cmF0aW9uIOKAlCBhIHN0cmVhbS10aW1lIHF1YW50
aXR5IOKAlCBmcm9tIGEgCj4gc3lzdGVtLXRpbWUgZGF0ZSwgd2l0aG91dCBzY2FsaW5nIGJ5IHRo
ZSBwbGF5YmFjayByYXRlLiBUaW1lc3RhbXAgCj4gY29udmVyc2lvbiB0aGVuIHN0cmV0Y2hlcyB0
aGUga2V5ZnJhbWUtdG8tdGFyZ2V0IHByZXJvbGwgYnkgMS9yYXRlLCBzbyAKPiBwbGF5YmFjayBz
dGFsbHMgZm9yIGV4YWN0bHkgcHJlcm9sbCAqICgxL3JhdGUgLSAxKS4gVGhlIHB0c19kZWxheSBw
YXJ0IAo+IG9mIHRoYXQgY29tcGVuc2F0aW9uIGlzIGZpbmUgYXMtaXMgKHRoZSBpbnB1dCBjbG9j
ayBhbHJlYWR5IGNvbXBlbnNhdGVzIAo+IGl0IG9uIGV2ZXJ5IGNvbnZlcnNpb24gdmlhIENsb2Nr
R2V0VHNPZmZzZXQoKSwgd2hpY2ggaXMgYWxzbyB3aHkgY2FjaGluZyAKPiBzZXR0aW5ncyBkb24n
dCBhZmZlY3QgdGhlIHN0YWxsKSwgc28gdGhlIGZpeCBzY2FsZXMgb25seSB0aGUgcHJlcm9sbCAK
PiB0ZXJtLiBBdCAxLjB4IHRoZSBhZGRlZCB0ZXJtIGlzIHplcm8gYW5kIG5vdGhpbmcgY2hhbmdl
czsgYXQgcmF0ZXMgYWJvdmUgCj4gMXggdGhlIHNhbWUgbWF0aCBjdXJyZW50bHkgbWFrZXMgdGhl
IGZpcnN0IHBvc3Qtc2VlayBmcmFtZXMgbGF0ZSBieSB0aGUgCj4gbWlycm9yZWQgYW1vdW50LCB3
aGljaCB0aGlzIGFsc28gZml4ZXMuCj4gCj4gQSBub3RlIG9uIHRoZSBmaWxpbmcgb2YgIzIxODkw
OiBpdCBpcyBsYWJlbGVkIERlbXV4OiBBZGFwdGl2ZSBiZWNhdXNlIGl0IAo+IHdhcyByZXBvcnRl
ZCBhZ2FpbnN0IGFuIEhMUyBzdHJlYW0gaW4gMjAxOSwgYnV0IHRoZSBzdGFsbCByZXByb2R1Y2Vz
IG9uIAo+IGEgcGxhaW4gbG9jYWwgbXA0IOKAlCB0aGUgcm9vdCBjYXVzZSBpcyBpbiBjb3JlIGVz
X291dC9jbG9jayBjb2RlLCBub3QgdGhlIAo+IGFkYXB0aXZlIGRlbXV4ZXIuIFRoYXQgbWlzbGFi
ZWxpbmcgbWF5IGJlIHBhcnQgb2Ygd2h5IGl0IGhhcyBzYXQgdW5maXhlZCAKPiBmb3Igc28gbG9u
Zy4gVGhlIHNhbWUgZGVmZWN0IGlzIGJlaGluZCB0aGUgc2xvdy1tb3Rpb24gc2VlayBmcmVlemVz
IAo+IHJlcG9ydGVkIGFnYWluc3QgVkxDLUFuZHJvaWQuCj4gCj4gTWVhc3VyZWQgd2l0aCBhIGhl
YWRsZXNzIGxpYnZsYyBkcml2ZXIgcG9sbGluZyBtZWRpYV9wbGF5ZXJfZ2V0X3RpbWUoKSAKPiBl
dmVyeSAyNTAgbXMgYXJvdW5kIGEgc2VlayB0byA2MHMgKGxvY2FsIG1wNCwgMS42NyBzIHByZXJv
bGwsIGZpbGUtIAo+IGNhY2hpbmcgMTAwMDsgInN0YWxsIiA9IHdhbGwgdGltZSB1bnRpbCB0aGUg
cmVwb3J0ZWQgdGltZSBhZHZhbmNlZCAyMDAgCj4gbXMgcGFzdCB0aGUgdGFyZ2V0KToKPiAKPiBt
YXN0ZXIgKDgxMTVlNTMpOiB1bnBhdGNoZWQgcGF0Y2hlZAo+IDEuMHggMS43NSBzIDEuNzUgcyAo
dW5jaGFuZ2VkKQo+IDIuMHggMS41MCBzIDEuNTAgcyAodW5jaGFuZ2VkKQo+IDAuMjV4IDYuMjUg
cyAyLjI1IHMKPiAwLjF4IDE4LjAgcyAyLjUgcwo+IAo+IFRoZSBwYXRjaGVkIHJlc2lkdWFsIGF0
IHNsb3cgcmF0ZXMgaXMgdGhlIG1lYXN1cmVtZW50IGZsb29yIGl0c2VsZjogCj4gYWR2YW5jaW5n
IDIwMCBtcyBvZiBzdHJlYW0gdGltZSB0YWtlcyAwLjggcyAvIDIgcyBvZiB3YWxsIHRpbWUgYXQg
Cj4gMC4yNXggLyAwLjF4LiBUaGUgc2FtZSBmaXggd2FzIGFsc28gdmVyaWZpZWQgb24gdGhlIDMu
MC54IGJyYW5jaCB3aXRoIGEgCj4gcmVidWlsdCBsaWJ2bGNjb3JlIDMuMC4yMDogdGhlIDAuMjV4
IHN0YWxsIGRyb3BwZWQgZnJvbSB+NS02IHMgdG8gdW5kZXIgCj4gMSBzLCBhbmQgMC4xeCBmcm9t
IH4xNS0xNyBzIHRvIHVuZGVyIDIgcy4gQSBmb3JtYXR0ZWQgMy4wLnggYmFja3BvcnQgaXMgCj4g
cmVhZHkg4oCUIGhhcHB5IHRvIHNlbmQgaXQgYXMgYSBmb2xsb3ctdXAgcGF0Y2ggb3Igb3BlbiBh
IFszLjBdIG1lcmdlIHJlcXVlc3QuCj4gCj4gUXVpY2sgcmVwcm86IGdlbmVyYXRlIGEgdHdvLW1p
bnV0ZSB0ZXN0IGNsaXAgd2l0aCAiZmZtcGVnIC1mIGxhdmZpIC1pIAo+IHRlc3RzcmMyPWR1cmF0
aW9uPTEyMDpzaXplPTY0MHgzNjA6cmF0ZT0zMCAtZiBsYXZmaSAtaSAKPiBzaW5lPWZyZXF1ZW5j
eT00NDA6ZHVyYXRpb249MTIwIC1jOnYgbGlieDI2NCAtcHJlc2V0IHVsdHJhZmFzdCAtYzphIGFh
YyAKPiB0ZXN0MTIwLm1wNCIsIHBsYXkgaXQsIHNldCByYXRlIDAuMjUsIHNlZWsgdG8gfjYwcy4g
UnVubmluZyB3aXRoIC0tIAo+IGlucHV0LWZhc3Qtc2VlayBhdm9pZHMgdGhlIHN0YWxsIGVudGly
ZWx5IChrZXlmcmFtZSBzZWVrcyBoYXZlIG5vIAo+IHByZXJvbGwpLCB3aGljaCBpc29sYXRlcyB0
aGUgcHJlcm9sbCB0ZXJtLgo+IAo+IFRoZSBwYXRjaCBpcyBhdHRhY2hlZCAoZ2l0IGZvcm1hdC1w
YXRjaCBhZ2FpbnN0IG1hc3RlciA4MTE1ZTUzKSByYXRoZXIgCj4gdGhhbiBpbmxpbmUgYmVjYXVz
ZSB0aGlzIG1lc3NhZ2UgaXMgc2VudCB0aHJvdWdoIGEgbWFpbGVyIHRoYXQgY2FuJ3QgCj4gZ3Vh
cmFudGVlIGlubGluZSB3aGl0ZXNwYWNlIHN1cnZpdmVzOyB0aGUgZnVsbCBjb21taXQgbWVzc2Fn
ZSBhbmQgCj4gbWVhc3VyZW1lbnRzIGFyZSBpbnNpZGUgaXQsIGFuZCBJIGNhbiByZXNlbmQgaW5s
aW5lIHZpYSBnaXQgc2VuZC1lbWFpbCAKPiBpZiB0aGF0J3MgcHJlZmVycmVkLgo+IAo+IFR3byBk
aXNjbG9zdXJlczogSSBwcmVwYXJlZCBhbmQgdmFsaWRhdGVkIHRoaXMgd2l0aCBBSSBhc3Npc3Rh
bmNlIChub3RlZCAKPiBpbiBhIENvLWF1dGhvcmVkLWJ5IHRyYWlsZXIpLCBhbmQgSSBoYXZlIHJl
dmlld2VkIHRoZSBjaGFuZ2UgYW5kIHRoZSAKPiBtZWFzdXJlbWVudHMgbXlzZWxmLiBJIGFsc28g
aGF2ZSBhIGh0dHBzOi8vd3d3Lmdvb2dsZS5jb20vdXJsP3E9aHR0cDovLyAKPiBjb2RlLnZpZGVv
bGFuLm9yZyZzb3VyY2U9Z21haWwmdXN0PTE3ODM1NTI4MzAxNjUwMDAmc2E9RSA8aHR0cHM6Ly8g
Cj4gd3d3Lmdvb2dsZS5jb20vdXJsP3E9aHR0cDovLyAKPiBjb2RlLnZpZGVvbGFuLm9yZyZzb3Vy
Y2U9Z21haWwmdXN0PTE3ODM1NTI4MzAxNjUwMDAmc2E9RT4gYWNjb3VudCAKPiBwZW5kaW5nIGFk
bWluaXN0cmF0b3IgYXBwcm92YWwg4oCUIGlmIGEgbWVyZ2UgcmVxdWVzdCBpcyBtb3JlIGNvbnZl
bmllbnQgCj4gZm9yIHJldmlldywgSSdkIGdsYWRseSByZXN1Ym1pdCB0aGVyZSBvbmNlIGl0J3Mg
YXBwcm92ZWQuCj4gCj4gVGhhbmtzIQo+IElzbWFpbAo+IAo+IF9fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fCj4gdmxjLWRldmVsIG1haWxpbmcgbGlzdAo+IFRv
IHVuc3Vic2NyaWJlIG9yIG1vZGlmeSB5b3VyIHN1YnNjcmlwdGlvbiBvcHRpb25zOgo+IGh0dHBz
Oi8vbWFpbG1hbi52aWRlb2xhbi5vcmcvbGlzdGluZm8vdmxjLWRldmVsCgpfX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwp2bGMtZGV2ZWwgbWFpbGluZyBsaXN0
ClRvIHVuc3Vic2NyaWJlIG9yIG1vZGlmeSB5b3VyIHN1YnNjcmlwdGlvbiBvcHRpb25zOgpodHRw
czovL21haWxtYW4udmlkZW9sYW4ub3JnL2xpc3RpbmZvL3ZsYy1kZXZlbAo=