[FFmpeg-devel] [PATCH] lavf: make av_interleave_packet() propagate compute_pkt_fields2() error code
Stefano Sabatini
stefano.sabatini-lala
Tue Mar 15 13:12:24 CET 2011
Make av_interleave_packet() return the error code of
compute_pkt_fields2() in case of failure, rather than -1.
---
libavformat/utils.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/libavformat/utils.c b/libavformat/utils.c
index 2f640eb..6eee33c 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3091,6 +3091,7 @@ static int av_interleave_packet(AVFormatContext *s, AVPacket *out, AVPacket *in,
int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){
AVStream *st= s->streams[ pkt->stream_index];
+ int ret;
//FIXME/XXX/HACK drop zero sized packets
if(st->codec->codec_type == AVMEDIA_TYPE_AUDIO && pkt->size==0)
@@ -3098,11 +3099,11 @@ int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt){
av_dlog(s, "av_interleaved_write_frame size:%d dts:%"PRId64" pts:%"PRId64"\n",
pkt->size, pkt->dts, pkt->pts);
- if(compute_pkt_fields2(s, st, pkt) < 0 && !(s->oformat->flags & AVFMT_NOTIMESTAMPS))
- return -1;
+ if((ret = compute_pkt_fields2(s, st, pkt)) < 0 && !(s->oformat->flags & AVFMT_NOTIMESTAMPS))
+ return ret;
if(pkt->dts == AV_NOPTS_VALUE && !(s->oformat->flags & AVFMT_NOTIMESTAMPS))
- return -1;
+ return AVERROR(EINVAL);
for(;;){
AVPacket opkt;
--
1.7.2.3
More information about the ffmpeg-devel
mailing list