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 46BA4450C5 for ; Mon, 6 Feb 2023 13:25:58 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 4F57C68BEA5; Mon, 6 Feb 2023 15:25:55 +0200 (EET) Received: from out162-62-57-87.mail.qq.com (unknown [162.62.57.87]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B1E1868BBC9 for ; Mon, 6 Feb 2023 15:25:48 +0200 (EET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=foxmail.com; s=s201512; t=1675689945; bh=fQztoWM6t1NdNzGTJ8Po7y0LSjGiFfU8VjJjXHJ0JdY=; h=From:To:Cc:Subject:Date; b=HsvqyoGhGfGuuoXrfHfFOcb9p2pj6sKZxVXVC0eekouk6aFf2TKmXBwvkQsctHN3j 3QZ6rQ7wClkY/Z78T420iI27rv88sBpro3enuv93bGc2cVAWO5CWSJ3uMM75JTIOc1 hpO9BSfvFWBj5Oi09BBODIL8O8QAr4ROxHZ5HSmk= Received: from localhost.localdomain ([113.108.77.52]) by newxmesmtplogicsvrszc5-0.qq.com (NewEsmtp) with SMTP id 66C9E81F; Mon, 06 Feb 2023 21:25:44 +0800 X-QQ-mid: xmsmtpt1675689944tj6w2cgm2 Message-ID: X-QQ-XMAILINFO: NhpLzBn2I3XwwLqSCPwVEbn6xNJ3sKSmtK3sQdbIDRqKLashss3QGoxUhooMac 3oFJLjAIueEPcbMGgY6VefvmO53fDeH67YrVAwBrcJyAjt9mdKqgk48pI6zd+c64Xogf3hFsooSs 5KK/HLerIAEpKoxnh/romF+1GxFH0Clozu2FaK/yuxisMPMNtfPqFKMizAvdNE4jSrcoOKOOqs/A oCp2BagbcB/SSvNfV0D0w0c/V7pm3Wt+DZYnOj3vxQvvczCECVhM5OOV2veZRL7O6n3m1WDKS5qW dvvJcRNen0lXPWWrOlKPeCuuT9NJVjN2M7wPPGCzCRscx1uxyJBGe1aZezwSVzTYdMld5GIYAmNh ymU1a3utFEUGlGLksSPKpFiKFm5uIvNbIxyEgsZJKIBd/kNZPgQ7Yi4ROa1n4NtfoK8yso8iyefi tvTrrI4DJ3HaSwUcS7xmw0/6NLmQg/g94wFiYnEJ1NPJx5Tmr791lwtYtHou5wwB86fkVcvJ37jt j4tVWkR/YrJ2UvAJ4NyUKIyINJUT49ISI8nkyzNuLHKaRCjHztAxKebn1dce8XkoypMNJdDKvYnd 1gqA3GfMaKLhfvgzL+XdZdz24zU+xhlTKyp1uiU0JR+oGJcz8RO7RrgGJQkXq/FHbqf6YS3oSRFb AjtgAaWYazkhTXleyiKB7gmaWo0UHjrrnBTyuSQFu++k1pzIJFWP4xT/kbb7TzYUDR/INREQtvVg 79+3iuztHbedDBxo1N2s7dtN0dAZ7coJ8BWHoVlLWWKzIPEDk3Qmv4nFLGFnsy/YzsZ5e2+srkjW 7R+EfckecFnKZxy904ywiCxgwjr6hcS97HIud1iEQLB3qtIHnYKJzBlC5/mS0EIIUFhOqDAmaWwk TvcaI3OEzZzrmmAsbucwi7FsJWLb6+6UEmWICFiEqHnXQyM1SyXvy1wgIAShUseOo0Oxs1LGj3x5 3H+Fh4cbZE2m+AINYqzV40IVqwinFY From: Zhao Zhili To: ffmpeg-devel@ffmpeg.org Date: Tue, 7 Feb 2023 05:25:45 +0800 X-OQ-MSGID: <20230206212545.652085-1-quinkblack@foxmail.com> X-Mailer: git-send-email 2.25.1 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH] avformat/flvenc: fix EOS tag 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 Cc: Zhao Zhili Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: From: Zhao Zhili FLV spec only has AVC end of sequence tag, and the EOS tag has a CodecID as other video data packet. MPEG4 doesn't conformance to the spec, but it's there for a decade. So only 'fix' the EOS tag rather than remove it completely. Signed-off-by: Zhao Zhili --- libavformat/flvenc.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavformat/flvenc.c b/libavformat/flvenc.c index 128ae8ebc0..8830c03044 100644 --- a/libavformat/flvenc.c +++ b/libavformat/flvenc.c @@ -235,13 +235,16 @@ static void put_timestamp(AVIOContext *pb, int64_t ts) { avio_w8(pb, (ts >> 24) & 0x7F); } -static void put_avc_eos_tag(AVIOContext *pb, unsigned ts) +static void put_eos_tag(AVIOContext *pb, unsigned ts, enum AVCodecID codec_id) { + uint32_t tag = ff_codec_get_tag(flv_video_codec_ids, codec_id); + /* ub[4] FrameType = 1, ub[4] CodecId */ + tag |= 1 << 4; avio_w8(pb, FLV_TAG_TYPE_VIDEO); avio_wb24(pb, 5); /* Tag Data Size */ put_timestamp(pb, ts); avio_wb24(pb, 0); /* StreamId = 0 */ - avio_w8(pb, 23); /* ub[4] FrameType = 1, ub[4] CodecId = 7 */ + avio_w8(pb, tag); avio_w8(pb, 2); /* AVC end of sequence */ avio_wb24(pb, 0); /* Always 0 for AVC EOS. */ avio_wb32(pb, 16); /* Size of FLV tag */ @@ -783,7 +786,7 @@ end: FLVStreamContext *sc = s->streams[i]->priv_data; if (par->codec_type == AVMEDIA_TYPE_VIDEO && (par->codec_id == AV_CODEC_ID_H264 || par->codec_id == AV_CODEC_ID_MPEG4)) - put_avc_eos_tag(pb, sc->last_ts); + put_eos_tag(pb, sc->last_ts, par->codec_id); } } -- 2.25.1 _______________________________________________ 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".