[PR] fftools/ffmpeg_mux_init: don't split forced keyframe spec in place (PR #23961)

Kacper Michajłow via ffmpeg-devel <[email protected]> Thu, 30 Jul 2026 12:49:09 -0000
Newsgroups gmane.comp.video.ffmpeg.devel
Message-ID <178541574982.51.178652972298234544@29965ddac10e>
UFIgIzIzOTYxIG9wZW5lZCBieSBLYWNwZXIgTWljaGFqxYJvdyAoa2FzcGVyOTMpClVSTDogaHR0
cHM6Ly9jb2RlLmZmbXBlZy5vcmcvRkZtcGVnL0ZGbXBlZy9wdWxscy8yMzk2MQpQYXRjaCBVUkw6
IGh0dHBzOi8vY29kZS5mZm1wZWcub3JnL0ZGbXBlZy9GRm1wZWcvcHVsbHMvMjM5NjEucGF0Y2gK
ClRoZSBzcGVjIHN0cmluZyBpcyBvd25lZCBieSB0aGUgb3B0aW9uIGxpc3QgYW5kIHJlLXJlYWQg
Zm9yIGV2ZXJ5IHN0cmVhbQ0KbWF0Y2hpbmcgdGhlIHNhbWUgLWZvcmNlX2tleV9mcmFtZXMsIHNv
IHRlcm1pbmF0aW5nIGVudHJpZXMgaW4gcGxhY2UNCnRydW5jYXRlZCBpdCBmb3IgbGF0ZXIgc3Ry
ZWFtcy4NCgoKCkZyb20gYjUyMThkNmMxMzBiZGVmMGRmOGQ2YmVhMWI1YjU1OWRlODNjMTU1NSBN
b24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKRnJvbTogPT9VVEYtOD9xP0thY3Blcj0yME1pY2hhaj1D
NT04Mm93Pz0gPGthc3BlcjkzQGdtYWlsLmNvbT4KRGF0ZTogVGh1LCAzMCBKdWwgMjAyNiAxNDo0
NzowMyArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGZmdG9vbHMvZmZtcGVnX211eF9pbml0OiBkb24n
dCBzcGxpdCBmb3JjZWQga2V5ZnJhbWUgc3BlYyBpbgogcGxhY2UKTUlNRS1WZXJzaW9uOiAxLjAK
Q29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRlbnQtVHJhbnNmZXIt
RW5jb2Rpbmc6IDhiaXQKClRoZSBzcGVjIHN0cmluZyBpcyBvd25lZCBieSB0aGUgb3B0aW9uIGxp
c3QgYW5kIHJlLXJlYWQgZm9yIGV2ZXJ5IHN0cmVhbQptYXRjaGluZyB0aGUgc2FtZSAtZm9yY2Vf
a2V5X2ZyYW1lcywgc28gdGVybWluYXRpbmcgZW50cmllcyBpbiBwbGFjZQp0cnVuY2F0ZWQgaXQg
Zm9yIGxhdGVyIHN0cmVhbXMuCgpTaWduZWQtb2ZmLWJ5OiBLYWNwZXIgTWljaGFqxYJvdyA8a2Fz
cGVyOTNAZ21haWwuY29tPgotLS0KIGZmdG9vbHMvZmZtcGVnX211eF9pbml0LmMgfCAyNCArKysr
KysrKysrKysrKysrLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAxNiBpbnNlcnRpb25zKCspLCA4
IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2ZmdG9vbHMvZmZtcGVnX211eF9pbml0LmMgYi9m
ZnRvb2xzL2ZmbXBlZ19tdXhfaW5pdC5jCmluZGV4IDJhOTE0NmU2MGMuLjM5M2VkOWI2NjggMTAw
NjQ0Ci0tLSBhL2ZmdG9vbHMvZmZtcGVnX211eF9pbml0LmMKKysrIGIvZmZ0b29scy9mZm1wZWdf
bXV4X2luaXQuYwpAQCAtMzMxNSwxOSArMzMxNSwyMiBAQCBzdGF0aWMgaW50IGNvbXBhcmVfaW50
NjQoY29uc3Qgdm9pZCAqYSwgY29uc3Qgdm9pZCAqYikKIHN0YXRpYyBpbnQgcGFyc2VfZm9yY2Vk
X2tleV9mcmFtZXModm9pZCAqbG9nLCBLZXlmcmFtZUZvcmNlQ3R4ICprZiwKICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgTXV4ZXIgKm11eCwgY29uc3QgY2hhciAqc3Bl
YykKIHsKLSAgICBjb25zdCBjaGFyICpwOwogICAgIGludCBuID0gMSwgaSwgcmV0LCBzaXplLCBp
bmRleCA9IDA7CiAgICAgaW50NjRfdCB0LCAqcHRzOwogCi0gICAgZm9yIChwID0gc3BlYzsgKnA7
IHArKykKKyAgICBmb3IgKGNvbnN0IGNoYXIgKnAgPSBzcGVjOyAqcDsgcCsrKQogICAgICAgICBp
ZiAoKnAgPT0gJywnKQogICAgICAgICAgICAgbisrOwogICAgIHNpemUgPSBuOwotICAgIHB0cyA9
IGF2X21hbGxvY19hcnJheShzaXplLCBzaXplb2YoKnB0cykpOwotICAgIGlmICghcHRzKQotICAg
ICAgICByZXR1cm4gQVZFUlJPUihFTk9NRU0pOwogCi0gICAgcCA9IHNwZWM7CisgICAgY2hhciAq
c3BlY19kdXAgPSBhdl9zdHJkdXAoc3BlYyk7CisgICAgcHRzID0gYXZfbWFsbG9jX2FycmF5KHNp
emUsIHNpemVvZigqcHRzKSk7CisgICAgaWYgKCFzcGVjX2R1cCB8fCAhcHRzKSB7CisgICAgICAg
IHJldCA9IEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgZ290byBmYWlsOworICAgIH0KKworICAg
IGNoYXIgKnAgPSBzcGVjX2R1cDsKICAgICBmb3IgKGkgPSAwOyBpIDwgbjsgaSsrKSB7CiAgICAg
ICAgIGNoYXIgKm5leHQgPSBzdHJjaHIocCwgJywnKTsKIApAQCAtMzM0NSw4ICszMzQ4LDEwIEBA
IHN0YXRpYyBpbnQgcGFyc2VfZm9yY2VkX2tleV9mcmFtZXModm9pZCAqbG9nLCBLZXlmcmFtZUZv
cmNlQ3R4ICprZiwKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIHNpemUgKz0gbmJfY2ggLSAx
OwogICAgICAgICAgICAgcHRzID0gYXZfcmVhbGxvY19mKHB0cywgc2l6ZSwgc2l6ZW9mKCpwdHMp
KTsKLSAgICAgICAgICAgIGlmICghcHRzKQotICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9S
KEVOT01FTSk7CisgICAgICAgICAgICBpZiAoIXB0cykgeworICAgICAgICAgICAgICAgIHJldCA9
IEFWRVJST1IoRU5PTUVNKTsKKyAgICAgICAgICAgICAgICBnb3RvIGZhaWw7CisgICAgICAgICAg
ICB9CiAKICAgICAgICAgICAgIGlmIChwWzhdKSB7CiAgICAgICAgICAgICAgICAgcmV0ID0gYXZf
cGFyc2VfdGltZSgmdCwgcCArIDgsIDEpOwpAQCAtMzM4NCw4ICszMzg5LDExIEBAIHN0YXRpYyBp
bnQgcGFyc2VfZm9yY2VkX2tleV9mcmFtZXModm9pZCAqbG9nLCBLZXlmcmFtZUZvcmNlQ3R4ICpr
ZiwKICAgICBrZi0+bmJfcHRzID0gc2l6ZTsKICAgICBrZi0+cHRzICAgID0gcHRzOwogCisgICAg
YXZfZnJlZXAoJnNwZWNfZHVwKTsKKwogICAgIHJldHVybiAwOwogZmFpbDoKKyAgICBhdl9mcmVl
cCgmc3BlY19kdXApOwogICAgIGF2X2ZyZWVwKCZwdHMpOwogICAgIHJldHVybiByZXQ7CiB9Ci0t
IAoyLjUyLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
CmZmbXBlZy1kZXZlbCBtYWlsaW5nIGxpc3QgLS0gZmZtcGVnLWRldmVsQGZmbXBlZy5vcmcKVG8g
dW5zdWJzY3JpYmUgc2VuZCBhbiBlbWFpbCB0byBmZm1wZWctZGV2ZWwtbGVhdmVAZmZtcGVnLm9y
Zwo=