From: Stefano Sabatini Date: Sat, 14 Jan 2012 01:40:09 +0000 (+0100) Subject: lavf/segment: fix logic for segmenting audio-only inputs X-Git-Tag: android-x86-4.4-r1~10855 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=a1e092ccd36ef0239749c2267104e7e59ee7176e;p=android-x86%2Fexternal-ffmpeg.git lavf/segment: fix logic for segmenting audio-only inputs Also add a comment for clarifying the logic. Fix trac ticket #1290. --- diff --git a/libavformat/segment.c b/libavformat/segment.c index 4902aff36a..32128269f8 100644 --- a/libavformat/segment.c +++ b/libavformat/segment.c @@ -203,7 +203,8 @@ static int seg_write_packet(AVFormatContext *s, AVPacket *pkt) int64_t end_pts = seg->recording_time * seg->number; int ret; - if ((seg->has_video && st->codec->codec_type == AVMEDIA_TYPE_VIDEO) && + /* if the segment has video, start a new segment *only* with a key video frame */ + if ((st->codec->codec_type == AVMEDIA_TYPE_VIDEO || !seg->has_video) && av_compare_ts(pkt->pts, st->time_base, end_pts, AV_TIME_BASE_Q) >= 0 && pkt->flags & AV_PKT_FLAG_KEY) {