Commit 594b1fcb authored by Michael Niedermayer's avatar Michael Niedermayer

mov: add av_dlog() to dump edit lists.

Signed-off-by: 's avatarMichael Niedermayer <michaelni@gmx.at>
parent 3ceeb01c
...@@ -2637,9 +2637,11 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -2637,9 +2637,11 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom)
if ((uint64_t)edit_count*12+8 > atom.size) if ((uint64_t)edit_count*12+8 > atom.size)
return AVERROR_INVALIDDATA; return AVERROR_INVALIDDATA;
av_dlog(c->fc, "track[%i].edit_count = %i\n", c->fc->nb_streams-1, edit_count);
for (i=0; i<edit_count; i++){ for (i=0; i<edit_count; i++){
int64_t time; int64_t time;
int64_t duration; int64_t duration;
int rate;
if (version == 1) { if (version == 1) {
duration = avio_rb64(pb); duration = avio_rb64(pb);
time = avio_rb64(pb); time = avio_rb64(pb);
...@@ -2647,7 +2649,7 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -2647,7 +2649,7 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom)
duration = avio_rb32(pb); /* segment duration */ duration = avio_rb32(pb); /* segment duration */
time = (int32_t)avio_rb32(pb); /* media time */ time = (int32_t)avio_rb32(pb); /* media time */
} }
avio_rb32(pb); /* Media rate */ rate = avio_rb32(pb);
if (i == 0 && time == -1) { if (i == 0 && time == -1) {
sc->empty_duration = duration; sc->empty_duration = duration;
edit_start_index = 1; edit_start_index = 1;
...@@ -2655,13 +2657,15 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom) ...@@ -2655,13 +2657,15 @@ static int mov_read_elst(MOVContext *c, AVIOContext *pb, MOVAtom atom)
sc->start_time = time; sc->start_time = time;
else else
unsupported = 1; unsupported = 1;
av_dlog(c->fc, "duration=%"PRId64" time=%"PRId64" rate=%f\n",
duration, time, rate / 65536.0);
} }
if (unsupported) if (unsupported)
av_log(c->fc, AV_LOG_WARNING, "multiple edit list entries, " av_log(c->fc, AV_LOG_WARNING, "multiple edit list entries, "
"a/v desync might occur, patch welcome\n"); "a/v desync might occur, patch welcome\n");
av_dlog(c->fc, "track[%i].edit_count = %i\n", c->fc->nb_streams-1, edit_count);
return 0; return 0;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment