mirror of https://git.ffmpeg.org/ffmpeg.git
remove duplicate field
Originally committed as revision 11240 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
03dc32f689
commit
11f16b661a
|
@ -116,7 +116,6 @@ typedef struct MOVContext {
|
||||||
int found_moov; /* when both 'moov' and 'mdat' sections has been found */
|
int found_moov; /* when both 'moov' and 'mdat' sections has been found */
|
||||||
int found_mdat; /* we suppose we have enough data to read the file */
|
int found_mdat; /* we suppose we have enough data to read the file */
|
||||||
int64_t mdat_offset;
|
int64_t mdat_offset;
|
||||||
int total_streams;
|
|
||||||
MOVStreamContext *streams[MAX_STREAMS];
|
MOVStreamContext *streams[MAX_STREAMS];
|
||||||
AVPaletteControl palette_control;
|
AVPaletteControl palette_control;
|
||||||
MOV_mdat_t *mdat_list;
|
MOV_mdat_t *mdat_list;
|
||||||
|
@ -1365,7 +1364,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
|
||||||
chunk_size = chunk_samples * sc->bytes_per_frame / sc->samples_per_frame;
|
chunk_size = chunk_samples * sc->bytes_per_frame / sc->samples_per_frame;
|
||||||
else { /* workaround to find nearest next chunk offset */
|
else { /* workaround to find nearest next chunk offset */
|
||||||
chunk_size = INT_MAX;
|
chunk_size = INT_MAX;
|
||||||
for (j = 0; j < mov->total_streams; j++) {
|
for (j = 0; j < mov->fc->nb_streams; j++) {
|
||||||
MOVStreamContext *msc = mov->streams[j];
|
MOVStreamContext *msc = mov->streams[j];
|
||||||
for (k = msc->next_chunk; k < msc->chunk_count; k++) {
|
for (k = msc->next_chunk; k < msc->chunk_count; k++) {
|
||||||
if (msc->chunk_offsets[k] > current_offset && msc->chunk_offsets[k] - current_offset < chunk_size) {
|
if (msc->chunk_offsets[k] > current_offset && msc->chunk_offsets[k] - current_offset < chunk_size) {
|
||||||
|
@ -1384,7 +1383,7 @@ static void mov_build_index(MOVContext *mov, AVStream *st)
|
||||||
chunk_size = mov->mdat_list[j].offset + mov->mdat_list[j].size - current_offset;
|
chunk_size = mov->mdat_list[j].offset + mov->mdat_list[j].size - current_offset;
|
||||||
}
|
}
|
||||||
assert(chunk_size != INT_MAX);
|
assert(chunk_size != INT_MAX);
|
||||||
for (j = 0; j < mov->total_streams; j++) {
|
for (j = 0; j < mov->fc->nb_streams; j++) {
|
||||||
mov->streams[j]->next_chunk = 0;
|
mov->streams[j]->next_chunk = 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1438,9 +1437,7 @@ static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
||||||
}
|
}
|
||||||
dprintf(mov->fc, "on_parse_exit_offset=%d\n", (int) url_ftell(pb));
|
dprintf(mov->fc, "on_parse_exit_offset=%d\n", (int) url_ftell(pb));
|
||||||
|
|
||||||
mov->total_streams = s->nb_streams;
|
for(i=0; i<s->nb_streams; i++) {
|
||||||
|
|
||||||
for(i=0; i<mov->total_streams; i++) {
|
|
||||||
MOVStreamContext *sc = mov->streams[i];
|
MOVStreamContext *sc = mov->streams[i];
|
||||||
AVStream *st = s->streams[i];
|
AVStream *st = s->streams[i];
|
||||||
/* sanity checks */
|
/* sanity checks */
|
||||||
|
@ -1467,7 +1464,7 @@ static int mov_read_header(AVFormatContext *s, AVFormatParameters *ap)
|
||||||
mov_build_index(mov, st);
|
mov_build_index(mov, st);
|
||||||
}
|
}
|
||||||
|
|
||||||
for(i=0; i<mov->total_streams; i++) {
|
for(i=0; i<s->nb_streams; i++) {
|
||||||
/* Do not need those anymore. */
|
/* Do not need those anymore. */
|
||||||
av_freep(&mov->streams[i]->chunk_offsets);
|
av_freep(&mov->streams[i]->chunk_offsets);
|
||||||
av_freep(&mov->streams[i]->sample_to_chunk);
|
av_freep(&mov->streams[i]->sample_to_chunk);
|
||||||
|
@ -1487,7 +1484,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
|
||||||
int64_t best_dts = INT64_MAX;
|
int64_t best_dts = INT64_MAX;
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
for (i = 0; i < mov->total_streams; i++) {
|
for (i = 0; i < s->nb_streams; i++) {
|
||||||
MOVStreamContext *msc = mov->streams[i];
|
MOVStreamContext *msc = mov->streams[i];
|
||||||
if (s->streams[i]->discard != AVDISCARD_ALL && msc->current_sample < msc->sample_count) {
|
if (s->streams[i]->discard != AVDISCARD_ALL && msc->current_sample < msc->sample_count) {
|
||||||
AVIndexEntry *current_sample = &s->streams[i]->index_entries[msc->current_sample];
|
AVIndexEntry *current_sample = &s->streams[i]->index_entries[msc->current_sample];
|
||||||
|
@ -1607,7 +1604,7 @@ static int mov_read_close(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
MOVContext *mov = s->priv_data;
|
MOVContext *mov = s->priv_data;
|
||||||
for(i=0; i<mov->total_streams; i++) {
|
for(i=0; i<s->nb_streams; i++) {
|
||||||
av_freep(&mov->streams[i]->ctts_data);
|
av_freep(&mov->streams[i]->ctts_data);
|
||||||
av_freep(&mov->streams[i]);
|
av_freep(&mov->streams[i]);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue