[FFmpeg-cvslog] lavf/matroskaenc: Do not needlessly allocate memory for cuepoints.
Carl Eugen Hoyos
git at videolan.org
Thu Jul 9 20:15:18 CEST 2015
ffmpeg | branch: master | Carl Eugen Hoyos <cehoyos at ag.or.at> | Thu Jul 9 19:49:37 2015 +0200| [da46370e94aa9a9225532ac63c5fc7c1259ca837] | committer: Carl Eugen Hoyos
lavf/matroskaenc: Do not needlessly allocate memory for cuepoints.
Fixes ticket #4690.
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=da46370e94aa9a9225532ac63c5fc7c1259ca837
---
libavformat/matroskaenc.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/libavformat/matroskaenc.c b/libavformat/matroskaenc.c
index 3b525ad..713cb33 100644
--- a/libavformat/matroskaenc.c
+++ b/libavformat/matroskaenc.c
@@ -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;
More information about the ffmpeg-cvslog
mailing list