Browse Source

lavf: move AVStream.interleaver_chunk_* to AVStreamInternal

Those are private fields, no reason to have them exposed in a public
header.
tags/n4.4
Anton Khirnov 4 years ago
parent
commit
7e87288f73
3 changed files with 11 additions and 11 deletions
  1. +0
    -3
      libavformat/avformat.h
  2. +3
    -0
      libavformat/internal.h
  3. +8
    -8
      libavformat/mux.c

+ 0
- 3
libavformat/avformat.h View File

@@ -1106,9 +1106,6 @@ typedef struct AVStream {
int pmt_version;
int pmt_stream_idx;

int64_t interleaver_chunk_size;
int64_t interleaver_chunk_duration;

/**
* An opaque field for libavformat internal usage.
* Must not be accessed in any way by callers.


+ 3
- 0
libavformat/internal.h View File

@@ -225,6 +225,9 @@ struct AVStreamInternal {

} *info;

int64_t interleaver_chunk_size;
int64_t interleaver_chunk_duration;

/**
* stream probing state
* -1 -> probing finished


+ 8
- 8
libavformat/mux.c View File

@@ -839,19 +839,19 @@ int ff_interleave_add_packet(AVFormatContext *s, AVPacket *pkt,

if (chunked) {
uint64_t max= av_rescale_q_rnd(s->max_chunk_duration, AV_TIME_BASE_Q, st->time_base, AV_ROUND_UP);
st->interleaver_chunk_size += pkt->size;
st->interleaver_chunk_duration += pkt->duration;
if ( (s->max_chunk_size && st->interleaver_chunk_size > s->max_chunk_size)
|| (max && st->interleaver_chunk_duration > max)) {
st->interleaver_chunk_size = 0;
st->internal->interleaver_chunk_size += pkt->size;
st->internal->interleaver_chunk_duration += pkt->duration;
if ( (s->max_chunk_size && st->internal->interleaver_chunk_size > s->max_chunk_size)
|| (max && st->internal->interleaver_chunk_duration > max)) {
st->internal->interleaver_chunk_size = 0;
pkt->flags |= CHUNK_START;
if (max && st->interleaver_chunk_duration > max) {
if (max && st->internal->interleaver_chunk_duration > max) {
int64_t syncoffset = (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO)*max/2;
int64_t syncto = av_rescale(pkt->dts + syncoffset, 1, max)*max - syncoffset;

st->interleaver_chunk_duration += (pkt->dts - syncto)/8 - max;
st->internal->interleaver_chunk_duration += (pkt->dts - syncto)/8 - max;
} else
st->interleaver_chunk_duration = 0;
st->internal->interleaver_chunk_duration = 0;
}
}
if (*next_point) {


Loading…
Cancel
Save