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 4C6FB4B7D1
	for <ffmpegdev@gitmailbox.com>; Wed, 26 Mar 2025 20:13:29 +0000 (UTC)
Received: from [127.0.1.1] (localhost [127.0.0.1])
	by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 810E6687BD7;
	Wed, 26 Mar 2025 22:13:25 +0200 (EET)
Received: from mail-pl1-f172.google.com (mail-pl1-f172.google.com
 [209.85.214.172])
 by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EDA686879EC
 for <ffmpeg-devel@ffmpeg.org>; Wed, 26 Mar 2025 22:13:18 +0200 (EET)
Received: by mail-pl1-f172.google.com with SMTP id
 d9443c01a7336-227b650504fso7051785ad.0
 for <ffmpeg-devel@ffmpeg.org>; Wed, 26 Mar 2025 13:13:18 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1743019996; x=1743624796; 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=aB8orsWIqMg0AT4hqW0PVUHEgvHliL4WWIcQ2iqyZoI=;
 b=RpfOHV/sSQMcmObEfCj13faMapRqBHqeMgDwRRugmZtAhqphWQprMmx6rAJeDZG15s
 O4cl6taKtt/pWzwpbX5wX7dZsg9l6Xpyu+aHFmayVM0a0xTc4rPDg0he1vTh7MgixEeS
 eU7F+KMgpwNUHh7siSOCsbIahifpfVIx4sR1mgwaQl7iJld488+RJuNft7jZTcvLD0if
 URFCXzcaU+Nrj5f7ZhcFIm2Xtm8K++czVb12A+08gKHxbfOhfMQKOq5I1+HBLq3Cdbjj
 hKD+18EZ6myxED73HpmFLSvAjaL1AeS2QngGyo3Gbby9RSeUIyB9HJddJf9zMx+xZyc0
 ItXw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1743019996; x=1743624796;
 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=aB8orsWIqMg0AT4hqW0PVUHEgvHliL4WWIcQ2iqyZoI=;
 b=CvS8QeZSz2weZJFEjJzjJ5ErSDw/u42s7M7Y+u8nMsXiECN9Ugp4zbFub3DCgkoBT8
 modZPqh/9nzXvRcRz1oLz3+srqWoOf67h+3EORAMlYMsMCLIjPELik76oAMHRyx9i4g1
 L29wggv5WL5q7Eu29tuyD4xZgpFXn0stNDS89VIhY0V7vTp41b5TqhWeIgtNYR5f20nZ
 2K/X/5xOlGL7Y9nxTKB65dUhbR1INGsleLevWKtcGEZOnYLI+FTrPIuHWRs1Evv1JeEa
 pXT/sSWvYco16SvpTKh0YZDlYMUj8UrOKX4Cp4M19xwm0l/kpl6218hwjCUamsvC/M/R
 2zVA==
X-Gm-Message-State: AOJu0Yz9xL2C1AHfYHoO4cbKALEM9dv2qPkBh7S2a0Z7mQwXGDIwOtJr
 aCabcXnUArLuw5YU8FEcCMT8pXOq+b9zZBKPw08+8hZkkfkvpOe5grKN+A==
X-Gm-Gg: ASbGncuJYLap8HcB4Cj/CMkfhGbleJMpb7MS54DLaRhJUqcu9b/YSY26hmydvqy6o9z
 iVQrAMS6lEFR3GOkRLH68bFQdY6ZfyxLMkZaIYTl8dlRxjCW/L0e9eB8Z/QzN/nQXFu/RS3AV3R
 PpbiMk8tQJjniAd6b85iEeUwlAypOe2RbsCY55KgddaVC4hjEyzbfeKQnuMHOQbwJL/8WdjLcc4
 S779EBpGYce5f4/nkmwHjB4iVI6oTBiZGoTKja4humTuvDp7RGU80GGjD0IV8aLOVXJMgX8K66z
 AiwtF/Kwqn8lmyi1S5Uhm9rkOmOw9HeyzNMfAKAHduWvHqsL1aUvlk5oMvlarSQi0vchCrpaWpk
 1yYu6m2il
X-Google-Smtp-Source: AGHT+IHRn8CK2msp+gVAgzdCMPTzm6YB/0+TchF12zWa1zW99FLl4yRY/MSmVjr/7lc0t2EsJzKMQQ==
X-Received: by 2002:a05:6a00:2305:b0:736:9f20:a175 with SMTP id
 d2e1a72fcca58-73960e0fb52mr1322860b3a.2.1743019996201; 
 Wed, 26 Mar 2025 13:13:16 -0700 (PDT)
Received: from localhost.localdomain ([2001:559:76c:0:5d1f:f149:30ce:c3b7])
 by smtp.gmail.com with ESMTPSA id
 d2e1a72fcca58-73905fab812sm13166694b3a.10.2025.03.26.13.13.15
 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256);
 Wed, 26 Mar 2025 13:13:15 -0700 (PDT)
From: koushd@gmail.com
To: ffmpeg-devel@ffmpeg.org
Date: Wed, 26 Mar 2025 13:13:13 -0700
Message-Id: <20250326201313.48298-1-koushd@gmail.com>
X-Mailer: git-send-email 2.39.5 (Apple Git-154)
MIME-Version: 1.0
Subject: [FFmpeg-devel] [PATCH] avformat/rtpenc: Add flag AVFMT_NODIMENSIONS.
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/20250326201313.48298-1-koushd@gmail.com/>
List-Archive: <https://master.gitmailbox.com/ffmpegdev/>
List-Post: <mailto:ffmpegdev@gitmailbox.com>

From: Koushik Dutta <koushd@gmail.com>

Not all rtp formats require the video dimensions to be available
up front. H264 and HEVC will send them as stream parameters.
The flag is restrictive and prevents RTP repacketization
without parsing the codec information out of the stream.

This change checks to see if the codec parameters are available
on the rtp formats that need it.

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

diff --git a/libavformat/rtpenc.c b/libavformat/rtpenc.c
index 7b4ae37d13..0ea1cb2be4 100644
--- a/libavformat/rtpenc.c
+++ b/libavformat/rtpenc.c
@@ -621,10 +621,18 @@ static int rtp_write_packet(AVFormatContext *s1, AVPacket *pkt)
         rtp_send_ilbc(s1, pkt->data, size);
         break;
     case AV_CODEC_ID_MJPEG:
+        if (st->codecpar->width <= 0 || st->codecpar->height <= 0) {
+            av_log(s1, AV_LOG_ERROR, "dimensions not set\n");
+            return AVERROR(EINVAL);
+        }
         ff_rtp_send_jpeg(s1, pkt->data, size);
         break;
     case AV_CODEC_ID_BITPACKED:
     case AV_CODEC_ID_RAWVIDEO: {
+        if (st->codecpar->width <= 0 || st->codecpar->height <= 0) {
+            av_log(s1, AV_LOG_ERROR, "dimensions not set\n");
+            return AVERROR(EINVAL);
+        }
         int interlaced = st->codecpar->field_order != AV_FIELD_PROGRESSIVE;
 
         ff_rtp_send_raw_rfc4175(s1, pkt->data, size, interlaced, 0);
@@ -671,5 +679,5 @@ const FFOutputFormat ff_rtp_muxer = {
     .write_packet      = rtp_write_packet,
     .write_trailer     = rtp_write_trailer,
     .p.priv_class      = &rtp_muxer_class,
-    .p.flags           = AVFMT_TS_NONSTRICT,
+    .p.flags           = AVFMT_NODIMENSIONS | AVFMT_TS_NONSTRICT,
 };
-- 
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".