From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id C6B6847BAF for ; Thu, 1 Feb 2024 18:00:43 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CFCD168CF4B; Thu, 1 Feb 2024 20:00:41 +0200 (EET) Received: from orel.garga.net (orel.garga.net [51.15.4.221]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6CA2468C8CC for ; Thu, 1 Feb 2024 20:00:35 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=momtchev.com; s=rsa; h=In-Reply-To:From:References:To:Subject:MIME-Version: Date:Message-ID:Content-Type:Sender:Reply-To:Cc:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=r5batyic90DJx0GCjkE13cMOXO1JnoEHPx5IEhnUJXM=; b=IRYpzI72Mbc3iGhDe5HMXQxK13 igmksOO6E9TU3iGHrIBTzWUn73ADcOtbC6o4DoskHPWw+9FsPC446byqX05uRlxAwsPH/IQXEO86n RuThmbWxg2k6zynLfopRvbIB5f3/GrGk0XaOXzPFu8ka4qNTl6hM/yFxcanOVFrB2lVSzbTMDkRaU 2AAs4Eh1fJ7BTeSdhQatlnt5FF1kQFj7BEfhVnV8QML7z3liW9ktQ9jtLpi7DZQbIF/AI0CLNQbR8 LyWbbaFzyOr/Y/mr4FIsoodxOe6iNlArHhMY0CymG8/mN3h5K3meNO0XBQoRetU3RjeqhF/j1mg8w wFE4epXA==; Received: from [78.203.245.37] (helo=[192.168.0.133]) by orel.garga.net with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96) (envelope-from ) id 1rVbMX-00FSJG-2E for ffmpeg-devel@ffmpeg.org; Thu, 01 Feb 2024 19:00:34 +0100 Content-Type: multipart/mixed; boundary="------------ZNj6TBrVgmOOMSM36jwumMDd" Message-ID: <29bfb4de-0d66-4d9f-8a87-ec089236be7f@momtchev.com> Date: Thu, 1 Feb 2024 19:00:33 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Content-Language: en-US To: ffmpeg-devel@ffmpeg.org References: <46c3739b-3edd-45d3-8c5a-262ce6cc03e4@momtchev.com> From: Momtchil Momtchev In-Reply-To: <46c3739b-3edd-45d3-8c5a-262ce6cc03e4@momtchev.com> X-Spam-score: -2.9 X-Spam-bar: -- Subject: Re: [FFmpeg-devel] Implement RTMP flow control and proper (or least better) closing X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: This is a multi-part message in MIME format. --------------ZNj6TBrVgmOOMSM36jwumMDd Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Alternative patch which eliminates the I/O error, but slightly modifies the behavior by introducing a two-stage shutdown (the only difference is the end of the rtmp_close function) which keeps the server open until the client closes its end. On 01/02/2024 17:40, Momtchil Momtchev wrote: > > https://trac.ffmpeg.org/ticket/10838 > > > Hello, > > > This small PR implements: > >     * RTMP flow control on the server side - now the server will stop > sending data if it has filled the window and the client hasn't ACKed > >     * Improves the tear-down by not returning an error when the server > closes the connection (which seems to be the usual method of > signalling the end of the connection) > >     * Fixes the client ignoring the last frames > > > > > _______________________________________________ > ffmpeg-devel mailing list > ffmpeg-devel@ffmpeg.org > https://ffmpeg.org/mailman/listinfo/ffmpeg-devel > > To unsubscribe, visit link above, or email > ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". -- Momtchil Momtchev --------------ZNj6TBrVgmOOMSM36jwumMDd Content-Type: text/plain; charset=UTF-8; name="patch2" Content-Disposition: attachment; filename="patch2" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9wcm90b2NvbHMudGV4aSBiL2RvYy9wcm90b2NvbHMudGV4aQpp bmRleCBmNTQ2MDBiODQ2Li42NDJjZGU5NjJhIDEwMDY0NAotLS0gYS9kb2MvcHJvdG9jb2xz LnRleGkKKysrIGIvZG9jL3Byb3RvY29scy50ZXhpCkBAIC05NDgsNiArOTQ4LDkgQEAgVVJM IHRvIHBsYXllciBzd2YgZmlsZSwgY29tcHV0ZSBoYXNoL3NpemUgYXV0b21hdGljYWxseS4K IEBpdGVtIHJ0bXBfdGN1cmwKIFVSTCBvZiB0aGUgdGFyZ2V0IHN0cmVhbS4gRGVmYXVsdHMg dG8gcHJvdG86Ly9ob3N0Wzpwb3J0XS9hcHAuCiAKK0BpdGVtIHJ0bXBfd2luZG93CitTaXpl IG9mIHRoZSBSVE1QIHdpbmRvdy4gRGVmYXVsdHMgdG8gMjUwMDAwMC4KKwogQGl0ZW0gdGNw X25vZGVsYXk9QHZhcnsxfDB9CiBTZXQgVENQX05PREVMQVkgdG8gZGlzYWJsZSBOYWdsZSdz IGFsZ29yaXRobS4gRGVmYXVsdCB2YWx1ZSBpcyAwLgogCmRpZmYgLS1naXQgYS9saWJhdmZv cm1hdC9ydG1wcGt0LmMgYi9saWJhdmZvcm1hdC9ydG1wcGt0LmMKaW5kZXggYTYwMmJmNmE5 Ni4uM2ZjYjRlOGYxNCAxMDA2NDQKLS0tIGEvbGliYXZmb3JtYXQvcnRtcHBrdC5jCisrKyBi L2xpYmF2Zm9ybWF0L3J0bXBwa3QuYwpAQCAtMTU5LDcgKzE1OSwxMCBAQCBpbnQgZmZfcnRt cF9wYWNrZXRfcmVhZChVUkxDb250ZXh0ICpoLCBSVE1QUGFja2V0ICpwLAogewogICAgIHVp bnQ4X3QgaGRyOwogCi0gICAgaWYgKGZmdXJsX3JlYWQoaCwgJmhkciwgMSkgIT0gMSkKKyAg ICBpbnQgcmV0ID0gZmZ1cmxfcmVhZChoLCAmaGRyLCAxKTsKKyAgICBpZiAocmV0ID09IEFW RVJST1JfRU9GKQorICAgICAgICByZXR1cm4gQVZFUlJPUl9FT0Y7CisgICAgaWYgKHJldCAh PSAxKQogICAgICAgICByZXR1cm4gQVZFUlJPUihFSU8pOwogCiAgICAgcmV0dXJuIGZmX3J0 bXBfcGFja2V0X3JlYWRfaW50ZXJuYWwoaCwgcCwgY2h1bmtfc2l6ZSwgcHJldl9wa3QsCmRp ZmYgLS1naXQgYS9saWJhdmZvcm1hdC9ydG1wcHJvdG8uYyBiL2xpYmF2Zm9ybWF0L3J0bXBw cm90by5jCmluZGV4IDk4NzE4YmM2ZGEuLjE4OWUxYzdkMDIgMTAwNjQ0Ci0tLSBhL2xpYmF2 Zm9ybWF0L3J0bXBwcm90by5jCisrKyBiL2xpYmF2Zm9ybWF0L3J0bXBwcm90by5jCkBAIC05 Nyw2ICs5Nyw4IEBAIHR5cGVkZWYgc3RydWN0IFJUTVBDb250ZXh0IHsKICAgICB1aW50MzJf dCAgICAgIHJlY2VpdmVfcmVwb3J0X3NpemU7ICAgICAgICAvLy88IG51bWJlciBvZiBieXRl cyBhZnRlciB3aGljaCB3ZSBzaG91bGQgcmVwb3J0IHRoZSBudW1iZXIgb2YgcmVjZWl2ZWQg Ynl0ZXMgdG8gdGhlIHBlZXIKICAgICB1aW50NjRfdCAgICAgIGJ5dGVzX3JlYWQ7ICAgICAg ICAgICAgICAgICAvLy88IG51bWJlciBvZiBieXRlcyByZWFkIGZyb20gc2VydmVyCiAgICAg dWludDY0X3QgICAgICBsYXN0X2J5dGVzX3JlYWQ7ICAgICAgICAgICAgLy8vPCBudW1iZXIg b2YgYnl0ZXMgcmVhZCBsYXN0IHJlcG9ydGVkIHRvIHNlcnZlcgorICAgIHVpbnQ2NF90ICAg ICAgYnl0ZXNfc2VudDsgICAgICAgICAgICAgICAgIC8vLzwgbnVtYmVyIG9mIGJ5dGVzIHNl bnQgdG8gdGhlIGNsaWVudAorICAgIHVpbnQ2NF90ICAgICAgbGFzdF9ieXRlc19zZW50OyAg ICAgICAgICAgIC8vLzwgbnVtYmVyIG9mIGJ5dGVzIGxhc3QgYWNrbm93bGVkZ2VkIGJ5IHRo ZSBjbGllbnQKICAgICB1aW50MzJfdCAgICAgIGxhc3RfdGltZXN0YW1wOyAgICAgICAgICAg ICAvLy88IGxhc3QgdGltZXN0YW1wIHJlY2VpdmVkIGluIGEgcGFja2V0CiAgICAgaW50ICAg ICAgICAgICBza2lwX2J5dGVzOyAgICAgICAgICAgICAgICAgLy8vPCBudW1iZXIgb2YgYnl0 ZXMgdG8gc2tpcCBmcm9tIHRoZSBpbnB1dCBGTFYgc3RyZWFtIGluIHRoZSBuZXh0IHdyaXRl IGNhbGwKICAgICBpbnQgICAgICAgICAgIGhhc19hdWRpbzsgICAgICAgICAgICAgICAgICAv Ly88IHByZXNlbmNlIG9mIGF1ZGlvIGRhdGEKQEAgLTI1MSw2ICsyNTMsNyBAQCBzdGF0aWMg aW50IHJ0bXBfc2VuZF9wYWNrZXQoUlRNUENvbnRleHQgKnJ0LCBSVE1QUGFja2V0ICpwa3Qs IGludCB0cmFjaykKIAogICAgIHJldCA9IGZmX3J0bXBfcGFja2V0X3dyaXRlKHJ0LT5zdHJl YW0sIHBrdCwgcnQtPm91dF9jaHVua19zaXplLAogICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZydC0+cHJldl9wa3RbMV0sICZydC0+bmJfcHJldl9wa3RbMV0pOworICAgIHJ0 LT5ieXRlc19zZW50ICs9IHBrdC0+c2l6ZTsKIGZhaWw6CiAgICAgZmZfcnRtcF9wYWNrZXRf ZGVzdHJveShwa3QpOwogICAgIHJldHVybiByZXQ7CkBAIC00NzIsNyArNDc1LDggQEAgc3Rh dGljIGludCByZWFkX2Nvbm5lY3QoVVJMQ29udGV4dCAqcywgUlRNUENvbnRleHQgKnJ0KQog ICAgICAgICAgICAgZmZfcnRtcF9wYWNrZXRfZGVzdHJveSgmcGt0KTsKICAgICAgICAgICAg IHJldHVybiBBVkVSUk9SX1VOS05PV047CiAgICAgICAgIH0gZWxzZSBpZiAocGt0LnR5cGUg PT0gUlRNUF9QVF9CWVRFU19SRUFEKSB7Ci0gICAgICAgICAgICBhdl9sb2cocywgQVZfTE9H X1RSQUNFLCAicmVjZWl2ZWQgYWNrbm93bGVkZ2VtZW50XG4iKTsKKyAgICAgICAgICAgIHJ0 LT5sYXN0X2J5dGVzX3JlYWQgPSBBVl9SQjMyKHBrdC5kYXRhKTsKKyAgICAgICAgICAgIGF2 X2xvZyhzLCBBVl9MT0dfVFJBQ0UsICJyZWNlaXZlZCBhY2tub3dsZWRnZW1lbnQgKCVsdSlc biIsIHJ0LT5sYXN0X2J5dGVzX3JlYWQpOwogICAgICAgICB9IGVsc2UgaWYgKHBrdC50eXBl ID09IFJUTVBfUFRfV0lORE9XX0FDS19TSVpFKSB7CiAgICAgICAgICAgICBpZiAoKHJldCA9 IGhhbmRsZV93aW5kb3dfYWNrX3NpemUocywgJnBrdCkpIDwgMCkgewogICAgICAgICAgICAg ICAgIGZmX3J0bXBfcGFja2V0X2Rlc3Ryb3koJnBrdCk7CkBAIC0yMzQ0LDcgKzIzNDgsOCBA QCBzdGF0aWMgaW50IHJ0bXBfcGFyc2VfcmVzdWx0KFVSTENvbnRleHQgKnMsIFJUTVBDb250 ZXh0ICpydCwgUlRNUFBhY2tldCAqcGt0KQogCiAgICAgc3dpdGNoIChwa3QtPnR5cGUpIHsK ICAgICBjYXNlIFJUTVBfUFRfQllURVNfUkVBRDoKLSAgICAgICAgYXZfbG9nKHMsIEFWX0xP R19UUkFDRSwgInJlY2VpdmVkIGJ5dGVzIHJlYWQgcmVwb3J0XG4iKTsKKyAgICAgICAgcnQt Pmxhc3RfYnl0ZXNfc2VudCA9IEFWX1JCMzIocGt0LT5kYXRhKTsKKyAgICAgICAgYXZfbG9n KHMsIEFWX0xPR19UUkFDRSwgInJlY2VpdmVkIGJ5dGVzIHJlYWQgcmVwb3J0ICglbHUpXG4i LCBydC0+bGFzdF9ieXRlc19zZW50KTsKICAgICAgICAgYnJlYWs7CiAgICAgY2FzZSBSVE1Q X1BUX0NIVU5LX1NJWkU6CiAgICAgICAgIGlmICgocmV0ID0gaGFuZGxlX2NodW5rX3NpemUo cywgcGt0KSkgPCAwKQpAQCAtMjQ1NSw2ICsyNDYwLDggQEAgc3RhdGljIGludCBnZXRfcGFj a2V0KFVSTENvbnRleHQgKnMsIGludCBmb3JfaGVhZGVyKQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJnJ0LT5uYl9wcmV2X3BrdFswXSkpIDw9IDApIHsKICAg ICAgICAgICAgIGlmIChyZXQgPT0gMCkgewogICAgICAgICAgICAgICAgIHJldHVybiBBVkVS Uk9SKEVBR0FJTik7CisgICAgICAgICAgICB9IGVsc2UgaWYgKHJldCA9PSBBVkVSUk9SX0VP RikgeworICAgICAgICAgICAgICAgIHJldHVybiBBVkVSUk9SX0VPRjsKICAgICAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1IoRUlPKTsKICAgICAg ICAgICAgIH0KQEAgLTI0NjgsNyArMjQ3NSw3IEBAIHN0YXRpYyBpbnQgZ2V0X3BhY2tldChV UkxDb250ZXh0ICpzLCBpbnQgZm9yX2hlYWRlcikKICAgICAgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfREVCVUcsICJTZW5kaW5nIGJ5dGVzIHJlYWQgcmVwb3J0XG4iKTsKICAgICAgICAg ICAgIGlmICgocmV0ID0gZ2VuX2J5dGVzX3JlYWQocywgcnQsIHJwa3QudGltZXN0YW1wICsg MSkpIDwgMCkgewogICAgICAgICAgICAgICAgIGZmX3J0bXBfcGFja2V0X2Rlc3Ryb3koJnJw a3QpOwotICAgICAgICAgICAgICAgIHJldHVybiByZXQ7CisgICAgICAgICAgICAgICAgYXZf bG9nKHMsIEFWX0xPR19ERUJVRywgIkZhaWxlZCBBQ0tpbmcgdG8gdGhlIHNlcnZlciwgY29u bmVjdGlvbiBmaW5pc2hlZD9cbiIpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgcnQt Pmxhc3RfYnl0ZXNfcmVhZCA9IHJ0LT5ieXRlc19yZWFkOwogICAgICAgICB9CkBAIC0yNTI5 LDYgKzI1MzYsNyBAQCBzdGF0aWMgaW50IHJ0bXBfY2xvc2UoVVJMQ29udGV4dCAqaCkKIHsK ICAgICBSVE1QQ29udGV4dCAqcnQgPSBoLT5wcml2X2RhdGE7CiAgICAgaW50IHJldCA9IDAs IGksIGo7CisgICAgdWludDhfdCBjOwogCiAgICAgaWYgKCFydC0+aXNfaW5wdXQpIHsKICAg ICAgICAgcnQtPmZsdl9kYXRhID0gTlVMTDsKQEAgLTI1NDcsNyArMjU1NSwxMiBAQCBzdGF0 aWMgaW50IHJ0bXBfY2xvc2UoVVJMQ29udGV4dCAqaCkKIAogICAgIGZyZWVfdHJhY2tlZF9t ZXRob2RzKHJ0KTsKICAgICBhdl9mcmVlcCgmcnQtPmZsdl9kYXRhKTsKLSAgICBmZnVybF9j bG9zZXAoJnJ0LT5zdHJlYW0pOworICAgIGlmIChydC0+c3RhdGUgPiBTVEFURV9IQU5EU0hB S0VEKSB7CisgICAgICAgIGZmdXJsX3NodXRkb3duKHJ0LT5zdHJlYW0sIEFWSU9fRkxBR19X UklURSk7CisgICAgICAgIHdoaWxlIChmZnVybF9yZWFkKHJ0LT5zdHJlYW0sICZjLCAxKSA+ PSAwKTsKKyAgICB9IGVsc2UgeworICAgICAgICBmZnVybF9jbG9zZXAoJnJ0LT5zdHJlYW0p OworICAgIH0KICAgICByZXR1cm4gcmV0OwogfQogCkBAIC0yODM1LDExICsyODQ4LDEyIEBA IHJlY29ubmVjdDoKIAogICAgIHJ0LT5yZWNlaXZlX3JlcG9ydF9zaXplID0gMTA0ODU3NjsK ICAgICBydC0+Ynl0ZXNfcmVhZCA9IDA7CisgICAgcnQtPmJ5dGVzX3NlbnQgPSAwOwogICAg IHJ0LT5oYXNfYXVkaW8gPSAwOwogICAgIHJ0LT5oYXNfdmlkZW8gPSAwOwogICAgIHJ0LT5y ZWNlaXZlZF9tZXRhZGF0YSA9IDA7CiAgICAgcnQtPmxhc3RfYnl0ZXNfcmVhZCA9IDA7Ci0g ICAgcnQtPm1heF9zZW50X3VuYWNrZWQgPSAyNTAwMDAwOworICAgIHJ0LT5sYXN0X2J5dGVz X3NlbnQgPSAwOwogICAgIHJ0LT5kdXJhdGlvbiA9IDA7CiAKICAgICBhdl9sb2cocywgQVZf TE9HX0RFQlVHLCAiUHJvdG8gPSAlcywgcGF0aCA9ICVzLCBhcHAgPSAlcywgZm5hbWUgPSAl c1xuIiwKQEAgLTMwOTUsOCArMzEwOSwxNCBAQCBzdGF0aWMgaW50IHJ0bXBfd3JpdGUoVVJM Q29udGV4dCAqcywgY29uc3QgdWludDhfdCAqYnVmLCBpbnQgc2l6ZSkKICAgICAgICAgcmV0 dXJuIHNpemU7CiAgICAgcnQtPmZsdl9uYl9wYWNrZXRzID0gMDsKIAotICAgIC8qIHNldCBz dHJlYW0gaW50byBub25ibG9ja2luZyBtb2RlICovCi0gICAgcnQtPnN0cmVhbS0+ZmxhZ3Mg fD0gQVZJT19GTEFHX05PTkJMT0NLOworICAgIC8qIGl0IGlzIHRpbWUgdG8gc3RhcnQgdGhy b3R0bGluZz8gKi8KKyAgICBpZiAocnQtPmJ5dGVzX3NlbnQgPCBydC0+bGFzdF9ieXRlc19z ZW50ICsgcnQtPm1heF9zZW50X3VuYWNrZWQpIHsKKyAgICAgICAgLyogc2V0IHN0cmVhbSBp bnRvIG5vbmJsb2NraW5nIG1vZGUgKi8KKyAgICAgICAgcnQtPnN0cmVhbS0+ZmxhZ3MgfD0g QVZJT19GTEFHX05PTkJMT0NLOworICAgIH0gZWxzZSB7CisgICAgICAgIGF2X2xvZyhzLCBB Vl9MT0dfREVCVUcsICJUaHJvdHRsaW5nLCBzZW50ICVsdSBieXRlcywgY2xpZW50IGhhcyBh Y2tub3dsZWRnZWQgJWx1IGJ5dGVzXG4iLCBydC0+Ynl0ZXNfc2VudCwKKyAgICAgICAgICAg ICBydC0+bGFzdF9ieXRlc19zZW50KTsKKyAgICB9CiAKICAgICAvKiB0cnkgdG8gcmVhZCBv bmUgYnl0ZSBmcm9tIHRoZSBzdHJlYW0gKi8KICAgICByZXQgPSBmZnVybF9yZWFkKHJ0LT5z dHJlYW0sICZjLCAxKTsKQEAgLTMxMzksNiArMzE1OSw3IEBAIHN0YXRpYyBjb25zdCBBVk9w dGlvbiBydG1wX29wdGlvbnNbXSA9IHsKICAgICB7InJ0bXBfZmx1c2hfaW50ZXJ2YWwiLCAi TnVtYmVyIG9mIHBhY2tldHMgZmx1c2hlZCBpbiB0aGUgc2FtZSByZXF1ZXN0IChSVE1QVCBv bmx5KS4iLCBPRkZTRVQoZmx1c2hfaW50ZXJ2YWwpLCBBVl9PUFRfVFlQRV9JTlQsIHsuaTY0 ID0gMTB9LCAwLCBJTlRfTUFYLCBFTkN9LAogICAgIHsicnRtcF9lbmhhbmNlZF9jb2RlY3Mi LCAiU3BlY2lmeSB0aGUgY29kZWMocykgdG8gdXNlIGluIGFuIGVuaGFuY2VkIHJ0bXAgbGl2 ZSBzdHJlYW0iLCBPRkZTRVQoZW5oYW5jZWRfY29kZWNzKSwgQVZfT1BUX1RZUEVfU1RSSU5H LCB7LnN0ciA9IE5VTEwgfSwgMCwgMCwgRU5DfSwKICAgICB7InJ0bXBfbGl2ZSIsICJTcGVj aWZ5IHRoYXQgdGhlIG1lZGlhIGlzIGEgbGl2ZSBzdHJlYW0uIiwgT0ZGU0VUKGxpdmUpLCBB Vl9PUFRfVFlQRV9JTlQsIHsuaTY0ID0gLTJ9LCBJTlRfTUlOLCBJTlRfTUFYLCBERUMsICJy dG1wX2xpdmUifSwKKyAgICB7InJ0bXBfd2luZG93IiwgIlJUTVAgd2luZG93IHNpemUgKHNl cnZlciBvbmx5KS4iLCBPRkZTRVQobWF4X3NlbnRfdW5hY2tlZCksIEFWX09QVF9UWVBFX0lO VCwgey5pNjQgPSAyNTAwMDAwfSwgSU5UX01JTiwgSU5UX01BWCwgREVDLCAicnRtcF93aW5k b3cifSwKICAgICB7ImFueSIsICJib3RoIiwgMCwgQVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0 ID0gLTJ9LCAwLCAwLCBERUMsICJydG1wX2xpdmUifSwKICAgICB7ImxpdmUiLCAibGl2ZSBz dHJlYW0iLCAwLCBBVl9PUFRfVFlQRV9DT05TVCwgey5pNjQgPSAtMX0sIDAsIDAsIERFQywg InJ0bXBfbGl2ZSJ9LAogICAgIHsicmVjb3JkZWQiLCAicmVjb3JkZWQgc3RyZWFtIiwgMCwg QVZfT1BUX1RZUEVfQ09OU1QsIHsuaTY0ID0gMH0sIDAsIDAsIERFQywgInJ0bXBfbGl2ZSJ9 LAo= --------------ZNj6TBrVgmOOMSM36jwumMDd Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe". --------------ZNj6TBrVgmOOMSM36jwumMDd--