lavf/matroskaenc: Do not needlessly allocate memory for cuepoints.
Fixes ticket #4690.
This commit is contained in:
parent
dbf8352a2e
commit
da46370e94
@ -1772,7 +1772,7 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
|
||||
|
||||
if (codec->codec_type != AVMEDIA_TYPE_SUBTITLE) {
|
||||
mkv_write_block(s, pb, MATROSKA_ID_SIMPLEBLOCK, pkt, keyframe);
|
||||
if (codec->codec_type == AVMEDIA_TYPE_VIDEO && keyframe || add_cue) {
|
||||
if (s->pb->seekable && (codec->codec_type == AVMEDIA_TYPE_VIDEO && keyframe || add_cue)) {
|
||||
ret = mkv_add_cuepoint(mkv->cues, pkt->stream_index, dash_tracknum, ts, mkv->cluster_pos, relative_packet_pos, -1);
|
||||
if (ret < 0) return ret;
|
||||
}
|
||||
@ -1792,11 +1792,13 @@ static int mkv_write_packet_internal(AVFormatContext *s, AVPacket *pkt, int add_
|
||||
end_ebml_master(pb, blockgroup);
|
||||
}
|
||||
|
||||
if (s->pb->seekable) {
|
||||
ret = mkv_add_cuepoint(mkv->cues, pkt->stream_index, dash_tracknum, ts,
|
||||
mkv->cluster_pos, relative_packet_pos, duration);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
|
||||
mkv->duration = FFMAX(mkv->duration, ts + duration);
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user