[PR] avformat/hls: refresh stale playlist when seeking (PR #23942)
Kacper Michajłow via ffmpeg-devel <[email protected]> Tue, 28 Jul 2026 19:53:42 -0000
| Newsgroups | gmane.comp.video.ffmpeg.devel |
|---|---|
| Message-ID | <178526842298.51.10453190037553219897@29965ddac10e> |
UFIgIzIzOTQyIG9wZW5lZCBieSBLYWNwZXIgTWljaGFqxYJvdyAoa2FzcGVyOTMpClVSTDogaHR0 cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMzk0MgpQYXRjaCBVUkw6 IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjM5NDIucGF0Y2gK CgpGcm9tIDVhYmI2YzdmMTdmNGI3ZDMzZjBkMTZiY2UxYzI5Y2M0ZjBkNjM2NGEgTW9uIFNlcCAx NyAwMDowMDowMCAyMDAxCkZyb206ID0/VVRGLTg/cT9LYWNwZXI9MjBNaWNoYWo9QzU9ODJvdz89 IDxrYXNwZXI5M0BnbWFpbC5jb20+CkRhdGU6IFdlZCwgOCBKdWwgMjAyNiAwNzo0MToxNSArMDIw MApTdWJqZWN0OiBbUEFUQ0ggMS8yXSBhdmZvcm1hdC9obHM6IG1lYXN1cmUgcGxheWxpc3QgcmVs b2FkIGludGVydmFsIGZyb20gbG9hZAogc3RhcnQKClJGQyA4MjE2IDYuMy40IG1lYXN1cmVzIHJl bG9hZCB3YWl0cyBmcm9tIHRoZSB0aW1lIHRoZSBjbGllbnQgYmVnYW4KbG9hZGluZyB0aGUgcGxh eWxpc3QsIG5vdCBmcm9tIHdoZW4gdGhlIGxvYWQgZmluaXNoZWQuCi0tLQogbGliYXZmb3JtYXQv aGxzLmMgfCA1ICsrKy0tCiAxIGZpbGUgY2hhbmdlZCwgMyBpbnNlcnRpb25zKCspLCAyIGRlbGV0 aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2hscy5jIGIvbGliYXZmb3JtYXQvaGxz LmMKaW5kZXggZTg1MzNhYTkzZi4uZTY3NzIyOTJiNCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQv aGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxzLmMKQEAgLTg0OSw2ICs4NDksNyBAQCBzdGF0aWMg aW50IHBhcnNlX3BsYXlsaXN0KEhMU0NvbnRleHQgKmMsIGNvbnN0IGNoYXIgKnVybCwKICAgICBz dHJ1Y3Qgc2VnbWVudCAqKnByZXZfc2VnbWVudHMgPSBOVUxMOwogICAgIGludCBwcmV2X25fc2Vn bWVudHMgPSAwOwogICAgIGludDY0X3QgcHJldl9zdGFydF9zZXFfbm8gPSAtMTsKKyAgICBpbnQ2 NF90IGxvYWRfc3RhcnQgPSBhdl9nZXR0aW1lX3JlbGF0aXZlKCk7CiAKICAgICBpZiAoaXNfaHR0 cCAmJiAhaW4gJiYgYy0+aHR0cF9wZXJzaXN0ZW50ICYmIGMtPnBsYXlsaXN0X3BiKSB7CiAgICAg ICAgIGluID0gYy0+cGxheWxpc3RfcGI7CkBAIC0xMTU5LDEwICsxMTYwLDEwIEBAIHN0YXRpYyBp bnQgcGFyc2VfcGxheWxpc3QoSExTQ29udGV4dCAqYywgY29uc3QgY2hhciAqdXJsLAogICAgICAg ICBmcmVlX3NlZ21lbnRfZHluYXJyYXkocHJldl9zZWdtZW50cywgcHJldl9uX3NlZ21lbnRzKTsK ICAgICAgICAgYXZfZnJlZXAoJnByZXZfc2VnbWVudHMpOwogICAgIH0KLSAgICBpZiAocGxzKQot ICAgICAgICBwbHMtPmxhc3RfbG9hZF90aW1lID0gYXZfZ2V0dGltZV9yZWxhdGl2ZSgpOwogCiBm YWlsOgorICAgIGlmIChwbHMpCisgICAgICAgIHBscy0+bGFzdF9sb2FkX3RpbWUgPSBsb2FkX3N0 YXJ0OwogICAgIGF2X2ZyZWUobmV3X3VybCk7CiAgICAgaWYgKGNsb3NlX2luKQogICAgICAgICBm Zl9mb3JtYXRfaW9fY2xvc2UoYy0+Y3R4LCAmaW4pOwotLSAKMi41Mi4wCgoKRnJvbSAzMmJlN2Yz OTVlOTM2MDM0OWE2NzJkYzYzYjM4MjZjMDY4YzQ2YWNjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAw MQpGcm9tOiA9P1VURi04P3E/S2FjcGVyPTIwTWljaGFqPUM1PTgyb3c/PSA8a2FzcGVyOTNAZ21h aWwuY29tPgpEYXRlOiBXZWQsIDggSnVsIDIwMjYgMDc6NDI6NTggKzAyMDAKU3ViamVjdDogW1BB VENIIDIvMl0gYXZmb3JtYXQvaGxzOiByZWZyZXNoIHN0YWxlIHBsYXlsaXN0IHdoZW4gc2Vla2lu ZwoKU2Vla2luZyB1c2VkIG9ubHkgdGhlIGxvYWRlZCBzZWdtZW50IGxpc3QuIExpdmUgYW5kIEVW RU5UIHBsYXlsaXN0cyBjYW4KZ2FpbiBzZWdtZW50cyBhZnRlciBsb2FkaW5nLCBhbmQgc2xpZGlu Zy13aW5kb3cgcGxheWxpc3RzIGNhbiBhbHNvCmV4cGlyZSB0aGVtLCBzbyBhIHNlZWsgdGFyZ2V0 IG1heSBsaWUgb3V0c2lkZSB0aGUgbG9hZGVkIHdpbmRvdyBldmVuCndoZW4gaXQgaXMgd2l0aGlu IHRoZSBhY3R1YWwgcHJlc2VudGF0aW9uLiBSZWZyZXNoIHRoZSB0YXJnZXQgcGxheWxpc3QKYmVm b3JlIHJlc29sdmluZyB0aGUgc2VlayB3aGVuIHRoZSB0YXJnZXQgbWF5IGZhbGwgb3V0c2lkZSB0 aGUgd2luZG93LgpSYXRlLWxpbWl0ZWQgdG8gb25lLWhhbGYgdGhlIHRhcmdldCBkdXJhdGlvbiwg dGhlIG1pbmltdW0gcmVsb2FkCmludGVydmFsIG9mIFJGQyA4MjE2IDYuMy40LgotLS0KIGxpYmF2 Zm9ybWF0L2hscy5jIHwgMjYgKysrKysrKysrKysrKysrKysrKysrKystLS0KIDEgZmlsZSBjaGFu Z2VkLCAyMyBpbnNlcnRpb25zKCspLCAzIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2xpYmF2 Zm9ybWF0L2hscy5jIGIvbGliYXZmb3JtYXQvaGxzLmMKaW5kZXggZTY3NzIyOTJiNC4uNWI4MmM5 YjdkZiAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvaGxzLmMKKysrIGIvbGliYXZmb3JtYXQvaGxz LmMKQEAgLTI5NDUsOSArMjk0NSw2IEBAIHN0YXRpYyBpbnQgaGxzX3JlYWRfc2VlayhBVkZvcm1h dENvbnRleHQgKnMsIGludCBzdHJlYW1faW5kZXgsCiAgICAgaWYgKChmbGFncyAmIEFWU0VFS19G TEFHX0JZVEUpIHx8IChjLT5jdHgtPmN0eF9mbGFncyAmIEFWRk1UQ1RYX1VOU0VFS0FCTEUpKQog ICAgICAgICByZXR1cm4gQVZFUlJPUihFTk9TWVMpOwogCi0gICAgZmlyc3RfdGltZXN0YW1wID0g Yy0+Zmlyc3RfdGltZXN0YW1wID09IEFWX05PUFRTX1ZBTFVFID8KLSAgICAgICAgICAgICAgICAg ICAgICAwIDogYy0+Zmlyc3RfdGltZXN0YW1wOwotCiAgICAgc2Vla190aW1lc3RhbXAgPSBhdl9y ZXNjYWxlX3Ffcm5kKHRpbWVzdGFtcCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcy0+c3RyZWFtc1tzdHJlYW1faW5kZXhdLT50aW1lX2Jhc2UsCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEFWX1RJTUVfQkFTRV9RLCBBVl9ST1VORF9ET1dOKTsK QEAgLTI5NjYsNiArMjk2MywyOSBAQCBzdGF0aWMgaW50IGhsc19yZWFkX3NlZWsoQVZGb3JtYXRD b250ZXh0ICpzLCBpbnQgc3RyZWFtX2luZGV4LAogICAgIGlmICghc2Vla19wbHMpCiAgICAgICAg IHJldHVybiBBVkVSUk9SKEVJTyk7CiAKKyAgICAvKiBMaXZlIGFuZCBFVkVOVCBwbGF5bGlzdHMg bWF5IGhhdmUgZ2FpbmVkIHNlZ21lbnRzIHNpbmNlIHRoZSBsYXN0IGxvYWQsCisgICAgICogYW5k IHNsaWRpbmctd2luZG93IHBsYXlsaXN0cyBtYXkgYWxzbyBoYXZlIGV4cGlyZWQgc29tZS4gUmVm cmVzaCBiZWZvcmUKKyAgICAgKiByZXNvbHZpbmcgYSBzZWVrIHRoYXQgbWF5IGZhbGwgb3V0c2lk ZSB0aGUgbG9hZGVkIHdpbmRvdywgcmF0ZSBsaW1pdGVkCisgICAgICogdG8gb25lLWhhbGYgdGhl IHRhcmdldCBkdXJhdGlvbiAoUkZDIDgyMTYgNi4zLjQpLiAqLworICAgIGlmICghc2Vla19wbHMt PmZpbmlzaGVkKSB7CisgICAgICAgIGludDY0X3QgZWxhcHNlZCA9IGF2X2dldHRpbWVfcmVsYXRp dmUoKSAtIHNlZWtfcGxzLT5sYXN0X2xvYWRfdGltZTsKKyAgICAgICAgaW50NjRfdCBzdGFydCA9 IGMtPmZpcnN0X3RpbWVzdGFtcCA9PSBBVl9OT1BUU19WQUxVRSA/CisgICAgICAgICAgICAgICAg ICAgICAgICAwIDogYy0+Zmlyc3RfdGltZXN0YW1wOworICAgICAgICBpbnQ2NF90IGVuZCA9IHN0 YXJ0OworICAgICAgICBpbnQgbmVlZF9yZWZyZXNoOworICAgICAgICBmb3IgKGkgPSAwOyBpIDwg c2Vla19wbHMtPm5fc2VnbWVudHM7IGkrKykKKyAgICAgICAgICAgIGVuZCArPSBzZWVrX3Bscy0+ c2VnbWVudHNbaV0tPmR1cmF0aW9uOworICAgICAgICBuZWVkX3JlZnJlc2ggPSBzZWVrX3RpbWVz dGFtcCA+PSBlbmQ7CisgICAgICAgIGlmIChzZWVrX3Bscy0+dHlwZSA9PSBQTFNfVFlQRV9VTlNQ RUNJRklFRCkKKyAgICAgICAgICAgIG5lZWRfcmVmcmVzaCB8PSBzZWVrX3RpbWVzdGFtcCA8IHN0 YXJ0ICsgZWxhcHNlZCArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWVrX3Bscy0+dGFyZ2V0X2R1cmF0aW9uOworICAgICAgICBpZiAobmVlZF9yZWZyZXNo ICYmIGVsYXBzZWQgPj0gc2Vla19wbHMtPnRhcmdldF9kdXJhdGlvbiAvIDIpCisgICAgICAgICAg ICBwYXJzZV9wbGF5bGlzdChjLCBzZWVrX3Bscy0+dXJsLCBzZWVrX3BscywgTlVMTCk7CisgICAg fQorCisgICAgZmlyc3RfdGltZXN0YW1wID0gYy0+Zmlyc3RfdGltZXN0YW1wID09IEFWX05PUFRT X1ZBTFVFID8KKyAgICAgICAgICAgICAgICAgICAgICAwIDogYy0+Zmlyc3RfdGltZXN0YW1wOwor CiAgICAgZHVyYXRpb24gPSBzLT5kdXJhdGlvbiA9PSBBVl9OT1BUU19WQUxVRSA/CiAgICAgICAg ICAgICAgICAwIDogcy0+ZHVyYXRpb247CiAKLS0gCjIuNTIuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlzdCAt LSBmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpUbyB1bnN1YnNjcmliZSBzZW5kIGFuIGVtYWlsIHRv IGZmbXBlZy1kZXZlbC1sZWF2ZUBmZm1wZWcub3JnCg==