---
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)
--
1.7.7
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel