[FFmpeg-devel] [PATCH 06/41] avformat/flacdec, takdec: Use FFRawDemuxerContext directly

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Thu Jun 17 05:31:27 EEST 2021


The beginning of the private contexts of both the FLAC and the TAK
demuxer currently mimick FFRawDemuxerContext: A pointer to an AVClass
followed by the AVOpt-enabled field raw_packet_size. Said field is only
used by the demuxers' read_packet functions via
ff_raw_read_partial_packet(), which treats the private context as an
FFRaawDemuxerContext. Yet this is fragile, so better include a
FFRawDemuxerContext struct at the beginning of said demuxers' private
contexts.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavformat/flacdec.c | 3 +--
 libavformat/takdec.c  | 3 +--
 2 files changed, 2 insertions(+), 4 deletions(-)

diff --git a/libavformat/flacdec.c b/libavformat/flacdec.c
index d4158032e4..c841fdba01 100644
--- a/libavformat/flacdec.c
+++ b/libavformat/flacdec.c
@@ -31,8 +31,7 @@
 #define SEEKPOINT_SIZE 18
 
 typedef struct FLACDecContext {
-    AVClass *class;
-    int raw_packet_size;
+    FFRawDemuxerContext rawctx;
     int found_seektable;
 } FLACDecContext;
 
diff --git a/libavformat/takdec.c b/libavformat/takdec.c
index cbb9a9345e..cf400ec04b 100644
--- a/libavformat/takdec.c
+++ b/libavformat/takdec.c
@@ -31,8 +31,7 @@
 #include "rawdec.h"
 
 typedef struct TAKDemuxContext {
-    AVClass *class;
-    int     raw_packet_size;
+    FFRawDemuxerContext rawctx;
     int     mlast_frame;
     int64_t data_end;
 } TAKDemuxContext;
-- 
2.27.0



More information about the ffmpeg-devel mailing list