summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnton Khirnov <anton@khirnov.net>2020-10-09 09:22:36 +0200
committerAnton Khirnov <anton@khirnov.net>2020-10-28 15:01:40 +0100
commit744b7f2e91fad0953505c909bc2b0cebced03d28 (patch)
treec6d040f0d8b036590488f3448c4517a919ed3e94
parent30f5180ca6c05ce62b2f7d2ef56b1ce04951aa84 (diff)
lavf: move AVStream.last_in_packet_buffer to AVStreamInternal
Those are private fields, no reason to have them exposed in a public header.
-rw-r--r--libavformat/avformat.h6
-rw-r--r--libavformat/internal.h5
-rw-r--r--libavformat/mux.c18
-rw-r--r--libavformat/mxfenc.c10
4 files changed, 20 insertions, 19 deletions
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
index fc89db1838..4865c56cc3 100644
--- a/libavformat/avformat.h
+++ b/libavformat/avformat.h
@@ -1079,13 +1079,9 @@ typedef struct AVStream {
enum AVStreamParseType need_parsing;
struct AVCodecParserContext *parser;
- /**
- * last packet in packet_buffer for this stream when muxing.
- */
- struct AVPacketList *last_in_packet_buffer;
-
#if LIBAVFORMAT_VERSION_MAJOR < 59
// kept for ABI compatibility only, do not access in any way
+ void *unused7;
AVProbeData unused6;
int64_t unused5[16+1];
void *unused2;
diff --git a/libavformat/internal.h b/libavformat/internal.h
index b8e662b96e..49e82bfbca 100644
--- a/libavformat/internal.h
+++ b/libavformat/internal.h
@@ -338,6 +338,11 @@ struct AVStreamInternal {
AVRational display_aspect_ratio;
AVProbeData probe_data;
+
+ /**
+ * last packet in packet_buffer for this stream when muxing.
+ */
+ struct AVPacketList *last_in_packet_buffer;
};
#ifdef __GNUC__
diff --git a/libavformat/mux.c b/libavformat/mux.c
index 1a34ee7e96..d2a56d216b 100644
--- a/libavformat/mux.c
+++ b/libavformat/mux.c
@@ -831,8 +831,8 @@ int ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt,
av_packet_move_ref(&this_pktl->pkt, pkt);
pkt = &this_pktl->pkt;
- if (st->last_in_packet_buffer) {
- next_point = &(st->last_in_packet_buffer->next);
+ if (st->internal->last_in_packet_buffer) {
+ next_point = &(st->internal->last_in_packet_buffer->next);
} else {
next_point = &s->internal->packet_buffer;
}
@@ -876,7 +876,7 @@ next_non_null:
this_pktl->next = *next_point;
- st->last_in_packet_buffer = *next_point = this_pktl;
+ st->internal->last_in_packet_buffer = *next_point = this_pktl;
return 0;
}
@@ -926,7 +926,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
}
for (i = 0; i < s->nb_streams; i++) {
- if (s->streams[i]->last_in_packet_buffer) {
+ if (s->streams[i]->internal->last_in_packet_buffer) {
++stream_count;
} else if (s->streams[i]->codecpar->codec_type != AVMEDIA_TYPE_ATTACHMENT &&
s->streams[i]->codecpar->codec_id != AV_CODEC_ID_VP8 &&
@@ -951,7 +951,7 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
for (i = 0; i < s->nb_streams; i++) {
int64_t last_dts;
- const AVPacketList *last = s->streams[i]->last_in_packet_buffer;
+ const AVPacketList *last = s->streams[i]->internal->last_in_packet_buffer;
if (!last)
continue;
@@ -1000,8 +1000,8 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
if (!s->internal->packet_buffer)
s->internal->packet_buffer_end = NULL;
- if (st->last_in_packet_buffer == pktl)
- st->last_in_packet_buffer = NULL;
+ if (st->internal->last_in_packet_buffer == pktl)
+ st->internal->last_in_packet_buffer = NULL;
av_packet_unref(&pktl->pkt);
av_freep(&pktl);
@@ -1019,8 +1019,8 @@ int ff_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
if (!s->internal->packet_buffer)
s->internal->packet_buffer_end = NULL;
- if (st->last_in_packet_buffer == pktl)
- st->last_in_packet_buffer = NULL;
+ if (st->internal->last_in_packet_buffer == pktl)
+ st->internal->last_in_packet_buffer = NULL;
av_freep(&pktl);
return 1;
diff --git a/libavformat/mxfenc.c b/libavformat/mxfenc.c
index cbb0fc5a6a..d8678c9d25 100644
--- a/libavformat/mxfenc.c
+++ b/libavformat/mxfenc.c
@@ -3050,7 +3050,7 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket
int i, stream_count = 0;
for (i = 0; i < s->nb_streams; i++)
- stream_count += !!s->streams[i]->last_in_packet_buffer;
+ stream_count += !!s->streams[i]->internal->last_in_packet_buffer;
if (stream_count && (s->nb_streams == stream_count || flush)) {
AVPacketList *pktl = s->internal->packet_buffer;
@@ -3061,8 +3061,8 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket
if (!stream_count || pktl->pkt.stream_index == 0)
break;
// update last packet in packet buffer
- if (s->streams[pktl->pkt.stream_index]->last_in_packet_buffer != pktl)
- s->streams[pktl->pkt.stream_index]->last_in_packet_buffer = pktl;
+ if (s->streams[pktl->pkt.stream_index]->internal->last_in_packet_buffer != pktl)
+ s->streams[pktl->pkt.stream_index]->internal->last_in_packet_buffer = pktl;
last = pktl;
pktl = pktl->next;
stream_count--;
@@ -3087,8 +3087,8 @@ static int mxf_interleave_get_packet(AVFormatContext *s, AVPacket *out, AVPacket
*out = pktl->pkt;
av_log(s, AV_LOG_TRACE, "out st:%d dts:%"PRId64"\n", (*out).stream_index, (*out).dts);
s->internal->packet_buffer = pktl->next;
- if(s->streams[pktl->pkt.stream_index]->last_in_packet_buffer == pktl)
- s->streams[pktl->pkt.stream_index]->last_in_packet_buffer= NULL;
+ if(s->streams[pktl->pkt.stream_index]->internal->last_in_packet_buffer == pktl)
+ s->streams[pktl->pkt.stream_index]->internal->last_in_packet_buffer= NULL;
if(!s->internal->packet_buffer)
s->internal->packet_buffer_end= NULL;
av_freep(&pktl);