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 38BF4466D7 for ; Fri, 2 Jun 2023 11:28:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 2112268C34A; Fri, 2 Jun 2023 14:28:56 +0300 (EEST) Received: from mail-yw1-f179.google.com (mail-yw1-f179.google.com [209.85.128.179]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6728268C1E3 for ; Fri, 2 Jun 2023 14:28:49 +0300 (EEST) Received: by mail-yw1-f179.google.com with SMTP id 00721157ae682-568928af8f5so30434517b3.1 for ; Fri, 02 Jun 2023 04:28:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20221208; t=1685705328; x=1688297328; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=Oy6kpn0rmB8nmPnK7iQ+KzEBz07qc/M2rLoaVLoXKRc=; b=D9FK0WTQiSerlbDP1SL9TbX3T25r+AahjcF3VDJQ7qtkNGFEMxMx6DrNcAKgml4n3R WFYJyUs3nIIDySUyd7YGXNigBieJC1ZwZ4rEUochWkDQYas/RTg4vQB+bg/58QuX/dRu HdRArdGGxuqAiarB7Es5dYje16duIzbrZWHiBT+LtrGMwIU/CgQiHdyR2Jg0gk3nkkzz boDssm/TuqKCFN934Z3FMQYb/fWzz/8+4SC2ey+ZY93QPja9OEqL7mdM+Vwl2Y98qyvn NzDLJIrvp96VGmhpgZL8FmPEApeY9Idn5Cua9V7rW1OB8eUJ+oPlIUXaKD5aQ+XzjbfQ GYLw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685705328; x=1688297328; h=content-transfer-encoding:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=Oy6kpn0rmB8nmPnK7iQ+KzEBz07qc/M2rLoaVLoXKRc=; b=Hw7Jf3EcgEaZ5WLHvEHl8iJbibGWs+ASkCwXKzsk59G2vqt0w7IMWStUDozRZO+ALR s6dXipIKWrNfRSY4AnxgBQpjLcqwtQzZvk3xFHAg3tC2X612GSISNiXwoS3bYzgx1/3/ Mg8qw2haBKj6+4HZw4NY4DvdzQLSAw+/KEDIeWc/7145rE/3U8rdQ3rWrGyxFS2DQXcn NDXYgt+pl9SWcaFNNBVVXklm1iz7d45vwupdfumJx8uXM369JnP5u6jLtPwFD7JE59+p e/uTg4A2kjBVCWNk3t+h3JXLy+vbfXR04xcT0Yx295sA1gA4SZxHyETzPUAjZ8JZ/xOx sFDA== X-Gm-Message-State: AC+VfDygFSaUYOMCrToesnV0COLPN0ROQZRf0AKw2imfQRKaCVVMCfmB CVKvHZjL2ft4eEh6QUY0Yi0JYEFiJjJBZdFqPed57bO8vN0Q4xSC X-Google-Smtp-Source: ACHHUZ7YkW1Nnox5IeEAE5UU7qwCRwcwk5gs2ckEsKzl2j43yeGPbZOmRcHHqcrGRdUP54ziJgBGNVQonhKXPP3M2iM= X-Received: by 2002:a81:494a:0:b0:564:eb9a:689d with SMTP id w71-20020a81494a000000b00564eb9a689dmr6365275ywa.13.1685705327541; Fri, 02 Jun 2023 04:28:47 -0700 (PDT) MIME-Version: 1.0 References: <20230602073109.14086-1-lq@chinaffmpeg.org> <20230602073109.14086-2-lq@chinaffmpeg.org> In-Reply-To: From: Steven Liu Date: Fri, 2 Jun 2023 19:28:36 +0800 Message-ID: To: FFmpeg development discussions and patches Subject: Re: [FFmpeg-devel] [PATCH v11 1/6] avformat/flvenc: support mux hevc in enhanced flv 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 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: TGFuY2UgV2FuZyA8bGFuY2UubG13YW5nQGdtYWlsLmNvbT4g5LqOMjAyM+W5tDbmnIgy5pel5ZGo 5LqUIDE5OjA55YaZ6YGT77yaCj4KPiBPbiBGcmksIEp1biAyLCAyMDIzIGF0IDM6MzHigK9QTSBT dGV2ZW4gTGl1IDxscUBjaGluYWZmbXBlZy5vcmc+IHdyb3RlOgo+Cj4gPiBTaWduZWQtb2ZmLWJ5 OiBTdGV2ZW4gTGl1IDxscUBjaGluYWZmbXBlZy5vcmc+Cj4gPiAtLS0KPiA+ICBsaWJhdmZvcm1h dC9NYWtlZmlsZSB8ICAyICstCj4gPiAgbGliYXZmb3JtYXQvZmx2LmggICAgfCAxNSArKysrKysr KysrKysrKysKPiA+ICBsaWJhdmZvcm1hdC9mbHZlbmMuYyB8IDQxICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tCj4gPiAgMyBmaWxlcyBjaGFuZ2VkLCA0NyBpbnNlcnRp b25zKCspLCAxMSBkZWxldGlvbnMoLSkKPiA+Cj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQv TWFrZWZpbGUgYi9saWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gaW5kZXggZjhhZDdjNmExMS4uMWVm M2QxNTQ2NyAxMDA2NDQKPiA+IC0tLSBhL2xpYmF2Zm9ybWF0L01ha2VmaWxlCj4gPiArKysgYi9s aWJhdmZvcm1hdC9NYWtlZmlsZQo+ID4gQEAgLTIxNCw3ICsyMTQsNyBAQCBPQkpTLSQoQ09ORklH X0ZMQUNfTVVYRVIpICAgICAgICAgICAgICAgICs9IGZsYWNlbmMubwo+ID4gZmxhY2VuY19oZWFk ZXIubyBcCj4gPiAgT0JKUy0kKENPTkZJR19GTElDX0RFTVVYRVIpICAgICAgICAgICAgICArPSBm bGljLm8KPiA+ICBPQkpTLSQoQ09ORklHX0ZMVl9ERU1VWEVSKSAgICAgICAgICAgICAgICs9IGZs dmRlYy5vCj4gPiAgT0JKUy0kKENPTkZJR19MSVZFX0ZMVl9ERU1VWEVSKSAgICAgICAgICArPSBm bHZkZWMubwo+ID4gLU9CSlMtJChDT05GSUdfRkxWX01VWEVSKSAgICAgICAgICAgICAgICAgKz0g Zmx2ZW5jLm8gYXZjLm8KPiA+ICtPQkpTLSQoQ09ORklHX0ZMVl9NVVhFUikgICAgICAgICAgICAg ICAgICs9IGZsdmVuYy5vIGF2Yy5vIGhldmMubwo+ID4gIE9CSlMtJChDT05GSUdfRk9VUlhNX0RF TVVYRVIpICAgICAgICAgICAgKz0gNHhtLm8KPiA+ICBPQkpTLSQoQ09ORklHX0ZSQU1FQ1JDX01V WEVSKSAgICAgICAgICAgICs9IGZyYW1lY3JjZW5jLm8gZnJhbWVoYXNoLm8KPiA+ICBPQkpTLSQo Q09ORklHX0ZSQU1FSEFTSF9NVVhFUikgICAgICAgICAgICs9IGhhc2hlbmMubyBmcmFtZWhhc2gu bwo+ID4gZGlmZiAtLWdpdCBhL2xpYmF2Zm9ybWF0L2Zsdi5oIGIvbGliYXZmb3JtYXQvZmx2LmgK PiA+IGluZGV4IDM1NzFiOTAyNzkuLjkxZTBhNDE0MGMgMTAwNjQ0Cj4gPiAtLS0gYS9saWJhdmZv cm1hdC9mbHYuaAo+ID4gKysrIGIvbGliYXZmb3JtYXQvZmx2LmgKPiA+IEBAIC0zNSw2ICszNSwx MiBAQAo+ID4KPiA+ICAjZGVmaW5lIEZMVl9WSURFT19GUkFNRVRZUEVfT0ZGU0VUICAgNAo+ID4K PiA+ICsvKiBFeHRlbmRlZCBWaWRlb1RhZ0hlYWRlcgo+ID4gKyAqIGRlZmluZWQgaW4gcmVmZXJl bmNlIGxpbms6Cj4gPiArICoKPiA+IGh0dHBzOi8vZ2l0aHViLmNvbS92ZW92ZXJhL2VuaGFuY2Vk LXJ0bXAvYmxvYi9tYWluL2VuaGFuY2VkLXJ0bXAtdjEucGRmCj4gPiArICogKi8KPiA+ICsjZGVm aW5lIEZMVl9JU19FWF9IRUFERVIgICAgICAgICAgMHg4MAo+ID4gKwo+ID4gIC8qIGJpdG1hc2tz IHRvIGlzb2xhdGUgc3BlY2lmaWMgdmFsdWVzICovCj4gPiAgI2RlZmluZSBGTFZfQVVESU9fQ0hB Tk5FTF9NQVNLICAgIDB4MDEKPiA+ICAjZGVmaW5lIEZMVl9BVURJT19TQU1QTEVTSVpFX01BU0sg MHgwMgo+ID4gQEAgLTExMiw2ICsxMTgsMTUgQEAgZW51bSB7Cj4gPiAgICAgIEZMVl9DT0RFQ0lE X01QRUc0ICAgPSA5LAo+ID4gIH07Cj4gPgo+ID4gK2VudW0gewo+ID4gKyAgICBQYWNrZXRUeXBl U2VxdWVuY2VTdGFydCAgICAgICAgID0gMCwKPiA+ICsgICAgUGFja2V0VHlwZUNvZGVkRnJhbWVz ICAgICAgICAgICA9IDEsCj4gPiArICAgIFBhY2tldFR5cGVTZXF1ZW5jZUVuZCAgICAgICAgICAg PSAyLAo+ID4gKyAgICBQYWNrZXRUeXBlQ29kZWRGcmFtZXNYICAgICAgICAgID0gMywKPiA+ICsg ICAgUGFja2V0VHlwZU1ldGFkYXRhICAgICAgICAgICAgICA9IDQsCj4gPiArICAgIFBhY2tldFR5 cGVNUEVHMlRTU2VxdWVuY2VTdGFydCAgPSA1LAo+ID4gK307Cj4gPiArCj4gPgo+Cj4gZm9ybWF0 IGFuZCBhbGlnbiB0aGUgIj0iPwp5ZXMgaXQgaXMgYWxpZ25lZCBpbiBwYXRjaCwgeW91IGNhbiBy ZWZlcmVuY2UgaW4KaHR0cHM6Ly9wYXRjaHdvcmsuZmZtcGVnLm9yZy9wcm9qZWN0L2ZmbXBlZy9w YXRjaC8yMDIzMDYwMjA3MzEwOS4xNDA4Ni0yLWxxQGNoaW5hZmZtcGVnLm9yZy8KPgo+Cj4KPiA+ ICBlbnVtIHsKPiA+ICAgICAgRkxWX0ZSQU1FX0tFWSAgICAgICAgICAgID0gMSA8PCBGTFZfVklE RU9fRlJBTUVUWVBFX09GRlNFVCwgLy8vPCBrZXkKPiA+IGZyYW1lIChmb3IgQVZDLCBhIHNlZWth YmxlIGZyYW1lKQo+ID4gICAgICBGTFZfRlJBTUVfSU5URVIgICAgICAgICAgPSAyIDw8IEZMVl9W SURFT19GUkFNRVRZUEVfT0ZGU0VULCAvLy88Cj4gPiBpbnRlciBmcmFtZSAoZm9yIEFWQywgYSBu b24tc2Vla2FibGUgZnJhbWUpCj4gPiBkaWZmIC0tZ2l0IGEvbGliYXZmb3JtYXQvZmx2ZW5jLmMg Yi9saWJhdmZvcm1hdC9mbHZlbmMuYwo+ID4gaW5kZXggNzIxZjA2MjgxMS4uYWVkMDk0NmEyZSAx MDA2NDQKPiA+IC0tLSBhL2xpYmF2Zm9ybWF0L2ZsdmVuYy5jCj4gPiArKysgYi9saWJhdmZvcm1h dC9mbHZlbmMuYwo+ID4gQEAgLTI4LDYgKzI4LDcgQEAKPiA+ICAjaW5jbHVkZSAibGliYXZjb2Rl Yy9tcGVnNGF1ZGlvLmgiCj4gPiAgI2luY2x1ZGUgImF2aW8uaCIKPiA+ICAjaW5jbHVkZSAiYXZj LmgiCj4gPiArI2luY2x1ZGUgImhldmMuaCIKPiA+ICAjaW5jbHVkZSAiYXZmb3JtYXQuaCIKPiA+ ICAjaW5jbHVkZSAiZmx2LmgiCj4gPiAgI2luY2x1ZGUgImludGVybmFsLmgiCj4gPiBAQCAtNDYs NiArNDcsNyBAQCBzdGF0aWMgY29uc3QgQVZDb2RlY1RhZyBmbHZfdmlkZW9fY29kZWNfaWRzW10g PSB7Cj4gPiAgICAgIHsgQVZfQ09ERUNfSURfVlA2LCAgICAgIEZMVl9DT0RFQ0lEX1ZQNiB9LAo+ ID4gICAgICB7IEFWX0NPREVDX0lEX1ZQNkEsICAgICBGTFZfQ09ERUNJRF9WUDZBIH0sCj4gPiAg ICAgIHsgQVZfQ09ERUNfSURfSDI2NCwgICAgIEZMVl9DT0RFQ0lEX0gyNjQgfSwKPiA+ICsgICAg eyBBVl9DT0RFQ19JRF9IRVZDLCAgICAgTUtCRVRBRygnaCcsICd2JywgJ2MnLCAnMScpIH0sCj4g PiAgICAgIHsgQVZfQ09ERUNfSURfTk9ORSwgICAgIDAgfQo+ID4gIH07Cj4gPgo+ID4gQEAgLTQ4 OSw3ICs0OTEsNyBAQCBzdGF0aWMgdm9pZCBmbHZfd3JpdGVfY29kZWNfaGVhZGVyKEFWRm9ybWF0 Q29udGV4dCogcywKPiA+IEFWQ29kZWNQYXJhbWV0ZXJzKiBwYXIsIGkKPiA+ICAgICAgRkxWQ29u dGV4dCAqZmx2ID0gcy0+cHJpdl9kYXRhOwo+ID4KPiA+ICAgICAgaWYgKHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfQUFDIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+IEFWX0NPREVDX0lEX0gy NjQKPiA+IC0gICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX01QRUc0 KSB7Cj4gPiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9NUEVH NCB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiAgICAgICAg ICBpbnQ2NF90IHBvczsKPiA+ICAgICAgICAgIGF2aW9fdzgocGIsCj4gPiAgICAgICAgICAgICAg ICAgIHBhci0+Y29kZWNfdHlwZSA9PSBBVk1FRElBX1RZUEVfVklERU8gPwo+ID4gQEAgLTUzMiwx MCArNTM0LDE5IEBAIHN0YXRpYyB2b2lkIGZsdl93cml0ZV9jb2RlY19oZWFkZXIoQVZGb3JtYXRD b250ZXh0Kgo+ID4gcywgQVZDb2RlY1BhcmFtZXRlcnMqIHBhciwgaQo+ID4gICAgICAgICAgICAg IH0KPiA+ICAgICAgICAgICAgICBhdmlvX3dyaXRlKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5l eHRyYWRhdGFfc2l6ZSk7Cj4gPiAgICAgICAgICB9IGVsc2Ugewo+ID4gLSAgICAgICAgICAgIGF2 aW9fdzgocGIsIHBhci0+Y29kZWNfdGFnIHwgRkxWX0ZSQU1FX0tFWSk7IC8vIGZsYWdzCj4gPiAt ICAgICAgICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+IC0g ICAgICAgICAgICBhdmlvX3diMjQocGIsIDApOyAvLyBjb21wb3NpdGlvbiB0aW1lCj4gPiAtICAg ICAgICAgICAgZmZfaXNvbV93cml0ZV9hdmNjKHBiLCBwYXItPmV4dHJhZGF0YSwgcGFyLT5leHRy YWRhdGFfc2l6ZSk7Cj4gPiArICAgICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfSEVWQykgewo+ID4gKyAgICAgICAgICAgICAgICBhdmlvX3c4KHBiLCBGTFZfSVNfRVhf SEVBREVSIHwgUGFja2V0VHlwZVNlcXVlbmNlU3RhcnQgfAo+ID4gRkxWX0ZSQU1FX0tFWSk7IC8v IEV4VmlkZW9UYWdIZWFkZXIgbW9kZSB3aXRoIFBhY2tldFR5cGVTZXF1ZW5jZVN0YXJ0Cj4gPiAr ICAgICAgICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPgo+ICBmZl9pc29t X3dyaXRlX2h2Y2MocGIsIHBhci0+ZXh0cmFkYXRhLCBwYXItPmV4dHJhZGF0YV9zaXplLCAwKTsK Pgo+Cj4gPiArICAgICAgICAgICAgfSBlbHNlIHsKPiA+ICsgICAgICAgICAgICAgICAgYXZpb193 OChwYiwgcGFyLT5jb2RlY190YWcgfCBGTFZfRlJBTUVfS0VZKTsgLy8gZmxhZ3MKPiA+ICsgICAg ICAgICAgICAgICAgYXZpb193OChwYiwgMCk7IC8vIEFWQyBzZXF1ZW5jZSBoZWFkZXIKPiA+ICsg ICAgICAgICAgICAgICAgYXZpb193YjI0KHBiLCAwKTsgLy8gY29tcG9zaXRpb24gdGltZQo+ID4K Pgo+IGZmX2lzb21fd3JpdGVfYXZjYyhwYiwgcGFyLT5leHRyYWRhdGEsIHBhci0+ZXh0cmFkYXRh X3NpemUpOwo+Cj4KPiA+ICsgICAgICAgICAgICB9Cj4gPiArCj4gPiArICAgICAgICAgICAgaWYg KHBhci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfSEVWQykKPiA+ICsgICAgICAgICAgICAgICAg ZmZfaXNvbV93cml0ZV9odmNjKHBiLCBwYXItPmV4dHJhZGF0YSwKPiA+IHBhci0+ZXh0cmFkYXRh X3NpemUsIDApOwo+ID4gKyAgICAgICAgICAgIGVsc2UKPiA+ICsgICAgICAgICAgICAgICAgZmZf aXNvbV93cml0ZV9hdmNjKHBiLCBwYXItPmV4dHJhZGF0YSwKPiA+IHBhci0+ZXh0cmFkYXRhX3Np emUpOwo+ID4KPgo+IG1lcmdlIHRoZSBpZiBlbHNlPwpObywgdGhlc2UgbW9kaWZ5IHdpbGwgYmUg dXNlZCBhdCB0aGUgcGF0Y2hlcyBhZnRlciB0aGlzIHBhdGNoLAo+Cj4gICAgICAgICAgfQo+ID4g ICAgICAgICAgZGF0YV9zaXplID0gYXZpb190ZWxsKHBiKSAtIHBvczsKPiA+ICAgICAgICAgIGF2 aW9fc2VlayhwYiwgLWRhdGFfc2l6ZSAtIDEwLCBTRUVLX0NVUik7Cj4gPiBAQCAtODIxLDYgKzgz Miw3IEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3BhY2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4g PiBBVlBhY2tldCAqcGt0KQo+ID4gICAgICB1bnNpZ25lZCB0czsKPiA+ICAgICAgaW50IHNpemUg PSBwa3QtPnNpemU7Cj4gPiAgICAgIHVpbnQ4X3QgKmRhdGEgPSBOVUxMOwo+ID4gKyAgICB1aW50 OF90IGZyYW1ldHlwZSA9IHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxBR19LRVkgPyBGTFZfRlJBTUVf S0VZIDoKPiA+IEZMVl9GUkFNRV9JTlRFUjsKPiA+ICAgICAgaW50IGZsYWdzID0gLTEsIGZsYWdz X3NpemUsIHJldCA9IDA7Cj4gPiAgICAgIGludDY0X3QgY3VyX29mZnNldCA9IGF2aW9fdGVsbChw Yik7Cj4gPgo+ID4gQEAgLTgzMiwxMyArODQ0LDEzIEBAIHN0YXRpYyBpbnQgZmx2X3dyaXRlX3Bh Y2tldChBVkZvcm1hdENvbnRleHQgKnMsCj4gPiBBVlBhY2tldCAqcGt0KQo+ID4gICAgICBpZiAo cGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9WUDZGIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+ IEFWX0NPREVDX0lEX1ZQNkEgfHwKPiA+ICAgICAgICAgIHBhci0+Y29kZWNfaWQgPT0gQVZfQ09E RUNfSURfVlA2ICB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiBBVl9DT0RFQ19JRF9BQUMpCj4gPiAg ICAgICAgICBmbGFnc19zaXplID0gMjsKPiA+IC0gICAgZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9 PSBBVl9DT0RFQ19JRF9IMjY0IHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+IEFWX0NPREVDX0lEX01Q RUc0KQo+ID4gKyAgICBlbHNlIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX0gyNjQg fHwgcGFyLT5jb2RlY19pZCA9PQo+ID4gQVZfQ09ERUNfSURfTVBFRzQgfHwgcGFyLT5jb2RlY19p ZCA9PSBBVl9DT0RFQ19JRF9IRVZDKQo+ID4gICAgICAgICAgZmxhZ3Nfc2l6ZSA9IDU7Cj4gPiAg ICAgIGVsc2UKPiA+ICAgICAgICAgIGZsYWdzX3NpemUgPSAxOwo+ID4KPiA+ICAgICAgaWYgKHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDIHx8IHBhci0+Y29kZWNfaWQgPT0KPiA+IEFW X0NPREVDX0lEX0gyNjQKPiA+IC0gICAgICAgICAgICB8fCBwYXItPmNvZGVjX2lkID09IEFWX0NP REVDX0lEX01QRUc0KSB7Cj4gPiArICAgICAgICAgICAgfHwgcGFyLT5jb2RlY19pZCA9PSBBVl9D T0RFQ19JRF9NUEVHNCB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiBBVl9DT0RFQ19JRF9IRVZDKSB7 Cj4gPiAgICAgICAgICBzaXplX3Qgc2lkZV9zaXplOwo+ID4gICAgICAgICAgdWludDhfdCAqc2lk ZSA9IGF2X3BhY2tldF9nZXRfc2lkZV9kYXRhKHBrdCwKPiA+IEFWX1BLVF9EQVRBX05FV19FWFRS QURBVEEsICZzaWRlX3NpemUpOwo+ID4gICAgICAgICAgaWYgKHNpZGUgJiYgc2lkZV9zaXplID4g MCAmJiAoc2lkZV9zaXplICE9IHBhci0+ZXh0cmFkYXRhX3NpemUgfHwKPiA+IG1lbWNtcChzaWRl LCBwYXItPmV4dHJhZGF0YSwgc2lkZV9zaXplKSkpIHsKPiA+IEBAIC04NTgsNyArODcwLDcgQEAg c3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+IEFWUGFj a2V0ICpwa3QpCj4gPiAgICAgICAgICAgICAgICAgIlBhY2tldHMgYXJlIG5vdCBpbiB0aGUgcHJv cGVyIG9yZGVyIHdpdGggcmVzcGVjdCB0bwo+ID4gRFRTXG4iKTsKPiA+ICAgICAgICAgIHJldHVy biBBVkVSUk9SKEVJTlZBTCk7Cj4gPiAgICAgIH0KPiA+IC0gICAgaWYgKHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfSDI2NCB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiBBVl9DT0RFQ19JRF9N UEVHNCkgewo+ID4gKyAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IMjY0IHx8 IHBhci0+Y29kZWNfaWQgPT0KPiA+IEFWX0NPREVDX0lEX01QRUc0IHx8IHBhci0+Y29kZWNfaWQg PT0gQVZfQ09ERUNfSURfSEVWQykgewo+ID4gICAgICAgICAgaWYgKHBrdC0+cHRzID09IEFWX05P UFRTX1ZBTFVFKSB7Cj4gPiAgICAgICAgICAgICAgYXZfbG9nKHMsIEFWX0xPR19FUlJPUiwgIlBh Y2tldCBpcyBtaXNzaW5nIFBUU1xuIik7Cj4gPiAgICAgICAgICAgICAgcmV0dXJuIEFWRVJST1Io RUlOVkFMKTsKPiA+IEBAIC04ODEsNyArODkzLDcgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFj a2V0KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+IEFWUGFja2V0ICpwa3QpCj4gPgo+ID4gICAgICAg ICAgZmxhZ3MgPSBmZl9jb2RlY19nZXRfdGFnKGZsdl92aWRlb19jb2RlY19pZHMsIHBhci0+Y29k ZWNfaWQpOwo+ID4KPiA+IC0gICAgICAgIGZsYWdzIHw9IHBrdC0+ZmxhZ3MgJiBBVl9QS1RfRkxB R19LRVkgPyBGTFZfRlJBTUVfS0VZIDoKPiA+IEZMVl9GUkFNRV9JTlRFUjsKPiA+ICsgICAgICAg IGZsYWdzIHw9IGZyYW1ldHlwZTsKPiA+ICAgICAgICAgIGJyZWFrOwo+ID4gICAgICBjYXNlIEFW TUVESUFfVFlQRV9BVURJTzoKPiA+ICAgICAgICAgIGZsYWdzID0gZ2V0X2F1ZGlvX2ZsYWdzKHMs IHBhcik7Cj4gPiBAQCAtOTAzLDYgKzkxNSwxMCBAQCBzdGF0aWMgaW50IGZsdl93cml0ZV9wYWNr ZXQoQVZGb3JtYXRDb250ZXh0ICpzLAo+ID4gQVZQYWNrZXQgKnBrdCkKPiA+ICAgICAgICAgIGlm IChwYXItPmV4dHJhZGF0YV9zaXplID4gMCAmJiAqKHVpbnQ4X3QqKXBhci0+ZXh0cmFkYXRhICE9 IDEpCj4gPiAgICAgICAgICAgICAgaWYgKChyZXQgPSBmZl9hdmNfcGFyc2VfbmFsX3VuaXRzX2J1 Zihwa3QtPmRhdGEsICZkYXRhLAo+ID4gJnNpemUpKSA8IDApCj4gPiAgICAgICAgICAgICAgICAg IHJldHVybiByZXQ7Cj4gPiArICAgIH0gZWxzZSBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RF Q19JRF9IRVZDKSB7Cj4gPiArICAgICAgICBpZiAocGFyLT5leHRyYWRhdGFfc2l6ZSA+IDAgJiYg Kih1aW50OF90KilwYXItPmV4dHJhZGF0YSAhPSAxKQo+ID4KPgo+IEZvciB0aGUgYW5uZXhiIGZv cm1hdCwgc3RyaWN0ZXIgY2hlY2tzIGFyZSBhcyBmb2xsb3dzIGlmIGZvbGxvdyBieSBzdGFuZGFy ZAo+IElNTzoKPiBBVl9SQjI0KHBhci0+ZXh0cmFkYXRhKSA9PSAxIHx8IEFWX1JCMzIocGFyLT5l eHRyYWRhdGEpID09IDEpCkFyZSB0aGVyZSBoYXZlIHNvbWUgcHJvYmxlbXMgaWYgaSB1c2UgdGhl IGNvZGUgIGlmCihwYXItPmV4dHJhZGF0YV9zaXplID4gMCAmJiAqKHVpbnQ4X3QqKXBhci0+ZXh0 cmFkYXRhICE9IDEpID8KPgo+Cj4KPiA+ICsgICAgICAgICAgICBpZiAoKHJldCA9IGZmX2hldmNf YW5uZXhiMm1wNF9idWYocGt0LT5kYXRhLCAmZGF0YSwgJnNpemUsIDAsCj4gPiBOVUxMKSkgPCAw KQo+ID4gKyAgICAgICAgICAgICAgICByZXR1cm4gcmV0Owo+ID4gICAgICB9IGVsc2UgaWYgKHBh ci0+Y29kZWNfaWQgPT0gQVZfQ09ERUNfSURfQUFDICYmIHBrdC0+c2l6ZSA+IDIgJiYKPiA+ICAg ICAgICAgICAgICAgICAoQVZfUkIxNihwa3QtPmRhdGEpICYgMHhmZmYwKSA9PSAweGZmZjApIHsK PiA+ICAgICAgICAgIGlmICghcy0+c3RyZWFtc1twa3QtPnN0cmVhbV9pbmRleF0tPm5iX2ZyYW1l cykgewo+ID4gQEAgLTk2NCw3ICs5ODAsMTIgQEAgc3RhdGljIGludCBmbHZfd3JpdGVfcGFja2V0 KEFWRm9ybWF0Q29udGV4dCAqcywKPiA+IEFWUGFja2V0ICpwa3QpCj4gPiAgICAgICAgICBhdmlv X3diMzIocGIsIGRhdGFfc2l6ZSArIDExKTsKPiA+ICAgICAgfSBlbHNlIHsKPiA+ICAgICAgICAg IGF2X2Fzc2VydDEoZmxhZ3M+PTApOwo+ID4gLSAgICAgICAgYXZpb193OChwYixmbGFncyk7Cj4g PiArICAgICAgICBpZiAocGFyLT5jb2RlY19pZCA9PSBBVl9DT0RFQ19JRF9IRVZDKSB7Cj4gPiAr ICAgICAgICAgICAgYXZpb193OChwYiwgRkxWX0lTX0VYX0hFQURFUiB8IFBhY2tldFR5cGVDb2Rl ZEZyYW1lc1ggfAo+ID4gZnJhbWV0eXBlKTsgLy8gRXhWaWRlb1RhZ0hlYWRlciBtb2RlIHdpdGgg UGFja2V0VHlwZUNvZGVkRnJhbWVzWAo+ID4KPgo+IGZyYW1ldHlwZSB3aWxsIDw8IDIsIHNvIGl0 J3MgYmV0dGVyIHRvIHVzZSBiZWxvdyBvcmRlcjoKPiBGTFZfSVNfRVhfSEVBREVSIHwgZnJhbWV0 eXBlIHwgUGFja2V0VHlwZUNvZGVkRnJhbWVzWApmaXhlZCBsb2NhbGx5Lgo+Cj4KPgo+ID4gKyAg ICAgICAgICAgIGF2aW9fd3JpdGUocGIsICJodmMxIiwgNCk7Cj4gPiArICAgICAgICB9IGVsc2Ug ewo+ID4gKyAgICAgICAgICAgIGF2aW9fdzgocGIsIGZsYWdzKTsKPiA+ICsgICAgICAgIH0KPiA+ ICAgICAgICAgIGlmIChwYXItPmNvZGVjX2lkID09IEFWX0NPREVDX0lEX1ZQNikKPiA+ICAgICAg ICAgICAgICBhdmlvX3c4KHBiLDApOwo+ID4gICAgICAgICAgaWYgKHBhci0+Y29kZWNfaWQgPT0g QVZfQ09ERUNfSURfVlA2RiB8fCBwYXItPmNvZGVjX2lkID09Cj4gPiBBVl9DT0RFQ19JRF9WUDZB KSB7Cj4gPiAtLQo+ID4gMi40MC4wCj4gPgoKClRoYW5rcwpTdGV2ZW4KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZmZtcGVnLWRldmVsIG1haWxpbmcgbGlz dApmZm1wZWctZGV2ZWxAZmZtcGVnLm9yZwpodHRwczovL2ZmbXBlZy5vcmcvbWFpbG1hbi9saXN0 aW5mby9mZm1wZWctZGV2ZWwKClRvIHVuc3Vic2NyaWJlLCB2aXNpdCBsaW5rIGFib3ZlLCBvciBl bWFpbApmZm1wZWctZGV2ZWwtcmVxdWVzdEBmZm1wZWcub3JnIHdpdGggc3ViamVjdCAidW5zdWJz Y3JpYmUiLgo=