[FFmpeg-devel] [PATCH 12/18] lavf: move AVStream.probe_data to AVStreamInternal
Anton Khirnov
anton at khirnov.net
Fri Oct 9 16:04:24 EEST 2020
Those are private fields, no reason to have them exposed in a public
header.
---
libavformat/avformat.h | 2 +-
libavformat/internal.h | 2 ++
libavformat/utils.c | 5 +++--
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index ef6d673699..c99449e121 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1061,10 +1061,10 @@ typedef struct AVStream {
* last packet in packet_buffer for this stream when muxing.
*/
struct AVPacketList *last_in_packet_buffer;
- AVProbeData probe_data;
#if LIBAVFORMAT_VERSION_MAJOR < 59
// kept for ABI compatibility only, do not access in any way
+ AVProbeData unused6;
int64_t unused5[16+1];
void *unused2;
int unused3;
diff --git a/libavformat/internal.h b/libavformat/internal.h
index 23c2ce0dc3..b8e662b96e 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -336,6 +336,8 @@ struct AVStreamInternal {
* - decoding: Set by libavformat to calculate sample_aspect_ratio internally
*/
AVRational display_aspect_ratio;
+
+ AVProbeData probe_data;
};
#ifdef __GNUC__
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 6cba0cce8f..27b7b62b1a 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -676,7 +676,7 @@ static void force_codec_ids(AVFormatContext *s, AVStream *st)
static int probe_codec(AVFormatContext *s, AVStream *st, const AVPacket *pkt)
{
if (st->internal->request_probe>0) {
- AVProbeData *pd = &st->probe_data;
+ AVProbeData *pd = &st->internal->probe_data;
int end;
av_log(s, AV_LOG_DEBUG, "probing stream %d pp:%d\n", st->index, st->probe_packets);
--st->probe_packets;
@@ -4342,6 +4342,8 @@ static void free_stream(AVStream **pst)
av_bsf_free(&st->internal->bsfc);
av_freep(&st->internal->priv_pts);
av_freep(&st->internal->index_entries);
+ av_freep(&st->internal->probe_data.buf);
+
av_bsf_free(&st->internal->extract_extradata.bsf);
av_packet_free(&st->internal->extract_extradata.pkt);
@@ -4353,7 +4355,6 @@ static void free_stream(AVStream **pst)
av_dict_free(&st->metadata);
avcodec_parameters_free(&st->codecpar);
- av_freep(&st->probe_data.buf);
#if FF_API_LAVF_AVCTX
FF_DISABLE_DEPRECATION_WARNINGS
avcodec_free_context(&st->codec);
--
2.28.0
More information about the ffmpeg-devel
mailing list