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;
}
end_ebml_master(pb, blockgroup);
}
- ret = mkv_add_cuepoint(mkv->cues, pkt->stream_index, dash_tracknum, ts,
- mkv->cluster_pos, relative_packet_pos, duration);
- if (ret < 0)
- return ret;
+ 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);