X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavformat%2Futils.c;h=47324ea4bc5c5453f8040ffb50a15aabb91178c8;hb=5853423c3f514dcc72870930544f9fab7c0f5f20;hp=a12f26afd78496174bf04cf882e66e60ccfb6468;hpb=c5577c403f72d04231eea013546211765bf8d65b;p=ffmpeg diff --git a/libavformat/utils.c b/libavformat/utils.c index a12f26afd78..47324ea4bc5 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -645,7 +645,9 @@ static void update_initial_durations(AVFormatContext *s, AVStream *st, AVPacket continue; if(pktl->pkt.pts == pktl->pkt.dts && pktl->pkt.dts == AV_NOPTS_VALUE && !pktl->pkt.duration){ - pktl->pkt.pts= pktl->pkt.dts= st->cur_dts; + pktl->pkt.dts= st->cur_dts; + if(!st->codec->has_b_frames) + pktl->pkt.pts= st->cur_dts; st->cur_dts += pkt->duration; pktl->pkt.duration= pkt->duration; }else @@ -1694,7 +1696,7 @@ static int has_codec_parameters(AVCodecContext *enc) int val; switch(enc->codec_type) { case CODEC_TYPE_AUDIO: - val = enc->sample_rate; + val = enc->sample_rate && enc->channels; break; case CODEC_TYPE_VIDEO: val = enc->width && enc->pix_fmt != PIX_FMT_NONE;