mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
lavf/dashenc: don't call flush_init_segment before avformat_write_header
Fixes crash when muxing MKV-in-DASH
This commit is contained in:
parent
d89eea3455
commit
b32f865969
@ -988,13 +988,6 @@ static int dash_init(AVFormatContext *s)
|
|||||||
|
|
||||||
av_log(s, AV_LOG_VERBOSE, "Representation %d init segment will be written to: %s\n", i, filename);
|
av_log(s, AV_LOG_VERBOSE, "Representation %d init segment will be written to: %s\n", i, filename);
|
||||||
|
|
||||||
// Flush init segment
|
|
||||||
// except for mp4, since delay_moov is set and the init segment
|
|
||||||
// is then flushed after the first packets
|
|
||||||
if (strcmp(os->format_name, "mp4")) {
|
|
||||||
flush_init_segment(s, os);
|
|
||||||
}
|
|
||||||
|
|
||||||
s->streams[i]->time_base = st->time_base;
|
s->streams[i]->time_base = st->time_base;
|
||||||
// If the muxer wants to shift timestamps, request to have them shifted
|
// If the muxer wants to shift timestamps, request to have them shifted
|
||||||
// already before being handed to this muxer, so we don't have mismatches
|
// already before being handed to this muxer, so we don't have mismatches
|
||||||
@ -1035,6 +1028,12 @@ static int dash_write_header(AVFormatContext *s)
|
|||||||
OutputStream *os = &c->streams[i];
|
OutputStream *os = &c->streams[i];
|
||||||
if ((ret = avformat_write_header(os->ctx, NULL)) < 0)
|
if ((ret = avformat_write_header(os->ctx, NULL)) < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
// Flush init segment
|
||||||
|
// Only for WebM segment, since for mp4 delay_moov is set and
|
||||||
|
// the init segment is thus flushed after the first packets.
|
||||||
|
if (strcmp(os->format_name, "mp4") &&
|
||||||
|
(ret = flush_init_segment(s, os)) < 0)
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
ret = write_manifest(s, 0);
|
ret = write_manifest(s, 0);
|
||||||
if (!ret)
|
if (!ret)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user