On Mon, Nov 21, 2011 at 10:19 PM, Anton Khirnov <[email protected]> wrote: > --- > avconv.c | 13 +++++-------- > 1 files changed, 5 insertions(+), 8 deletions(-) > > diff --git a/avconv.c b/avconv.c > index a87f852..3ba8534 100644 > --- a/avconv.c > +++ b/avconv.c > @@ -1845,7 +1845,7 @@ static int output_packet(InputStream *ist, int > ist_index, > { > OutputStream *ost; > int ret = 0, i; > - int got_output; > + int got_output = 1; > int64_t pkt_pts = AV_NOPTS_VALUE; > > AVPacket avpkt; > @@ -1858,19 +1858,16 @@ static int output_packet(InputStream *ist, int > ist_index, > av_init_packet(&avpkt); > avpkt.data = NULL; > avpkt.size = 0; > - goto handle_eof; > } else { > avpkt = *pkt; > + if (pkt->dts != AV_NOPTS_VALUE) > + ist->next_pts = ist->pts = av_rescale_q(pkt->dts, > ist->st->time_base, AV_TIME_BASE_Q); > + if (pkt->pts != AV_NOPTS_VALUE) > + pkt_pts = av_rescale_q(pkt->pts, ist->st->time_base, > AV_TIME_BASE_Q); > } > > - if(pkt->dts != AV_NOPTS_VALUE) > - ist->next_pts = ist->pts = av_rescale_q(pkt->dts, > ist->st->time_base, AV_TIME_BASE_Q); > - if(pkt->pts != AV_NOPTS_VALUE) > - pkt_pts = av_rescale_q(pkt->pts, ist->st->time_base, AV_TIME_BASE_Q); > - > //while we have more to decode or while the decoder did output something > on EOF > while (ist->decoding_needed && (avpkt.size > 0 || (!pkt && got_output))) { > - handle_eof: > ist->pts= ist->next_pts; > > if(avpkt.size && avpkt.size != pkt->size) > --
OK _______________________________________________ libav-devel mailing list [email protected] https://lists.libav.org/mailman/listinfo/libav-devel
