From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <ffmpeg-devel-bounces@ffmpeg.org>
Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100])
	by master.gitmailbox.com (Postfix) with ESMTPS id E82E94BADE
	for <ffmpegdev@gitmailbox.com>; Wed,  2 Apr 2025 03:29:55 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id CE578687D31;
	Wed,  2 Apr 2025 06:29:50 +0300 (EEST)
Received: from mail-pl1-f170.google.com (mail-pl1-f170.google.com
 [209.85.214.170])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D81F8687D80
 for <ffmpeg-devel@ffmpeg.org>; Wed,  2 Apr 2025 06:29:44 +0300 (EEST)
Received: by mail-pl1-f170.google.com with SMTP id
 d9443c01a7336-2255003f4c6so113652485ad.0
 for <ffmpeg-devel@ffmpeg.org>; Tue, 01 Apr 2025 20:29:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1743564582; x=1744169382; darn=ffmpeg.org;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:from:to:cc:subject:date:message-id:reply-to;
 bh=xgZvI/s3HwyuvMIXf1tQA3Jq2D9TgEkBkaAMcP2ot98=;
 b=fvb/8ZmVVP/zo6GihQwrVGy9ULvxi0JXuAnpaO+fSA51wHERj6vK0MaCQFS7W3iweE
 dMIZ9/SsCqr0+oddpQzr0DFuKqhuOeagmZIZjN7Or+3UKEnnZQ7Nj2/5E0N4RI4uiviZ
 zpmaBpQTIkoCdU/f/7oa930xzhGujfH9yViPOQNmsLL0C6apB8ieNDg/MXPuvo6ZhcV6
 tqzmphc61OmzQZ9OFMPKCrwZrOaz7ZtSdr7nE0GXJ2dg3MXoOqGSW0KppqIPIP5Zmgzt
 TTbeXqsDFE9tlh08Z3G9rz1AO3VdgIEYG1UONQKxvF4OcjbJ7r06moIzyctTD8xwDlxK
 rQhw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743564582; x=1744169382;
 h=content-transfer-encoding:mime-version:message-id:date:subject:cc
 :to:from:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=xgZvI/s3HwyuvMIXf1tQA3Jq2D9TgEkBkaAMcP2ot98=;
 b=Z2hGPQWwu5NEVV4P88ycfXPUsLFhEm0rOPb3xPzW8YCETx595IwTFQihMfLVDNBlhE
 +40beBm5y4ADRbZ48i1XGS6xQcQpS2BqjdBh/ur/d7mOrPLbs3BqEEUnvRNPM5UMt5SL
 ljKO+PFhdFan3lI7bMNQZiPdoZ97kjnkkiJXnEWB2p8lN+pggL6qRQuoQ6GG8kesu6nz
 1sa13N/vqVPMHHUIIcqZXPPZGUIm3rt3o0avCGHZFNba+q35TXjiLobwIdT+QOfOxvFM
 bjlyvLrhy/NKzyAsuFfOTfkKOz3kj9Oj45OTy5CMpx122FIYEkr+ctBmc16D+JR7PCYm
 oZEQ==
X-Gm-Message-State: AOJu0YxbtJsYAoedbx0q2LA8GJ0yiEuKIYPTogsg8dS1f1vJGJjK9VPV
 C4sy8bRFL3HCU9shx9cBeNL41AQnVfDKmNkSBwWS3baaV1ifacTf9nkEdA==
X-Gm-Gg: ASbGncvL8zYghUZL/RxrFeWHOatOI2GJg4OxAhaop+p0K7gtcE3KQhP/UbrmmG1C6ys
 /rvl0rmgTGwFGr6ucxzjl8T6Cbt+KvviPSqVV92tf/EN4hUGjh6lGSFQ2L7xUCvBC8IjUT7JKJ0
 GOHEIk9XBBzkseuCa0Rh8PXflavGYPjDKR0ByCf6tdBpczMt+Bj2sB9VL5VGV82ipweGO0Yt7FI
 MxMV48WNelkHlGRtkIOAUSPF5fOEH/xvockh3PNEQ8sjuL2lbRUN/6cxnPQKC+h1regxsOR40Ib
 PjsJTtT800rCenxyExR9m6Z17lMYEak7Ny3DmelUCSs14+/lIAbZ9D4PxGQjA44D4gIY7/2Y3qc
 tOgo=
X-Google-Smtp-Source: AGHT+IFiu54q1J8W6rA5BxmFSVZRvDc0kYdoLYuRjxAZGsAu5amh4PFUc5FwW/XRolJzvJ329iGGng==
X-Received: by 2002:a05:6a00:4608:b0:736:57cb:f2aa with SMTP id
 d2e1a72fcca58-739b601f14amr5975160b3a.13.1743564581931; 
 Tue, 01 Apr 2025 20:29:41 -0700 (PDT)
Received: from localhost.localdomain ([2001:559:76c:0:344b:e806:fd46:cbc2])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73971091ce4sm10074300b3a.132.2025.04.01.20.29.41
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Tue, 01 Apr 2025 20:29:41 -0700 (PDT)
From: koushd@gmail.com
To: ffmpeg-devel@ffmpeg.org
Date: Tue,  1 Apr 2025 20:29:39 -0700
Message-Id: <20250402032939.41872-1-koushd@gmail.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH] libavformat/rtpdec_mpeg4: AAC may not
 contain AU headers.
X-BeenThere: ffmpeg-devel@ffmpeg.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: FFmpeg development discussions and patches <ffmpeg-devel.ffmpeg.org>
List-Unsubscribe: <https://ffmpeg.org/mailman/options/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=unsubscribe>
List-Archive: <https://ffmpeg.org/pipermail/ffmpeg-devel>
List-Post: <mailto:ffmpeg-devel@ffmpeg.org>
List-Help: <mailto:ffmpeg-devel-request@ffmpeg.org?subject=help>
List-Subscribe: <https://ffmpeg.org/mailman/listinfo/ffmpeg-devel>,
 <mailto:ffmpeg-devel-request@ffmpeg.org?subject=subscribe>
Reply-To: FFmpeg development discussions and patches <ffmpeg-devel@ffmpeg.org>
Cc: Koushik Dutta <koushd@gmail.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Errors-To: ffmpeg-devel-bounces@ffmpeg.org
Sender: "ffmpeg-devel" <ffmpeg-devel-bounces@ffmpeg.org>
Archived-At: <https://master.gitmailbox.com/ffmpegdev/20250402032939.41872-1-koushd@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

From: Koushik Dutta <koushd@gmail.com>

The codec information may be in the SDP and not in the stream.

Signed-off-by: Koushik Dutta <koushd@gmail.com>
---
 libavformat/rtpdec_mpeg4.c | 21 +++++++++++++++++++++
 1 file changed, 21 insertions(+)

diff --git a/libavformat/rtpdec_mpeg4.c b/libavformat/rtpdec_mpeg4.c
index 6531632b2d..c3c3c67c3e 100644
--- a/libavformat/rtpdec_mpeg4.c
+++ b/libavformat/rtpdec_mpeg4.c
@@ -180,6 +180,7 @@ static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data,
                             int flags)
 {
     int ret;
+    AVCodecParameters *par = st->codecpar;
 
 
     if (!buf) {
@@ -208,6 +209,26 @@ static int aac_parse_packet(AVFormatContext *ctx, PayloadContext *data,
         return 1;
     }
 
+    /* Check for and skip ADTS header if we have an explicit decoder config */
+    if (par->extradata && len > 7) {
+    	if (buf[0] == 0xff && (buf[1] & 0xf0) == 0xf0) {
+    	    size_t header_size = 7 + ((buf[1] & 0x01) ? 0 : 2);
+    	    if (len > header_size) {
+                buf += header_size;
+                len -= header_size;
+    	    }
+
+    	    if ((ret = av_new_packet(pkt, len)) < 0) {
+                av_log(ctx, AV_LOG_ERROR, "Out of memory\n");
+                return ret;
+    	    }
+
+            memcpy(pkt->data, buf, len);
+    	    pkt->stream_index = st->index;
+    	    return 0;
+    	}
+    }
+
     if (rtp_parse_mp4_au(data, buf, len)) {
         av_log(ctx, AV_LOG_ERROR, "Error parsing AU headers\n");
         return -1;
-- 
2.39.5 (Apple Git-154)

_______________________________________________
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".