PR #21576 opened by Gyan Doshi (GyanD)
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21576
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21576.patch

A user tried a streamcopy of an AAC stream from a CAF file and the output was 
empty.
Turns out neither the demuxer sets KF flags nor does it enable parsing so no 
packet is flagged as KF so the CLI muxes no packets.

Fixed.


>From f5e97e88dcf6823d7428829eea1c15e0856d892b Mon Sep 17 00:00:00 2001
From: Gyan Doshi <[email protected]>
Date: Sun, 25 Jan 2026 16:12:39 +0530
Subject: [PATCH] avformat/cafdec: parse non-intra streams

Needed to set KF flags so that they can be streamcopied using CLI.
---
 libavformat/cafdec.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavformat/cafdec.c b/libavformat/cafdec.c
index 99ae041364..fdd7b80073 100644
--- a/libavformat/cafdec.c
+++ b/libavformat/cafdec.c
@@ -28,6 +28,7 @@
 #include <inttypes.h>
 
 #include "avformat.h"
+#include "avformat_internal.h"
 #include "avio_internal.h"
 #include "demux.h"
 #include "internal.h"
@@ -421,6 +422,9 @@ found_data:
     if (caf->data_size >= 0)
         avio_seek(pb, caf->data_start, SEEK_SET);
 
+    if (!ff_is_intra_only(st->codecpar->codec_id))
+        ffstream(st)->need_parsing = AVSTREAM_PARSE_HEADERS;
+
     return 0;
 }
 
-- 
2.52.0

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to