mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-03-17 20:17:55 +02:00
smoothstreamingenc: Properly return errors from ism_flush to the caller
Signed-off-by: Martin Storsjö <martin@martin.st>
This commit is contained in:
parent
eb2f391018
commit
5fa43f76aa
@ -551,7 +551,8 @@ static int ism_flush(AVFormatContext *s, int final)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
write_manifest(s, final);
|
if (ret >= 0)
|
||||||
|
ret = write_manifest(s, final);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -561,13 +562,15 @@ static int ism_write_packet(AVFormatContext *s, AVPacket *pkt)
|
|||||||
AVStream *st = s->streams[pkt->stream_index];
|
AVStream *st = s->streams[pkt->stream_index];
|
||||||
OutputStream *os = &c->streams[pkt->stream_index];
|
OutputStream *os = &c->streams[pkt->stream_index];
|
||||||
int64_t end_pts = (c->nb_fragments + 1) * c->min_frag_duration;
|
int64_t end_pts = (c->nb_fragments + 1) * c->min_frag_duration;
|
||||||
|
int ret;
|
||||||
|
|
||||||
if ((!c->has_video || st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&
|
if ((!c->has_video || st->codec->codec_type == AVMEDIA_TYPE_VIDEO) &&
|
||||||
av_compare_ts(pkt->pts, st->time_base,
|
av_compare_ts(pkt->pts, st->time_base,
|
||||||
end_pts, AV_TIME_BASE_Q) >= 0 &&
|
end_pts, AV_TIME_BASE_Q) >= 0 &&
|
||||||
pkt->flags & AV_PKT_FLAG_KEY && os->packets_written) {
|
pkt->flags & AV_PKT_FLAG_KEY && os->packets_written) {
|
||||||
|
|
||||||
ism_flush(s, 0);
|
if ((ret = ism_flush(s, 0)) < 0)
|
||||||
|
return ret;
|
||||||
c->nb_fragments++;
|
c->nb_fragments++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user