Browse Source

lavf: make av_interleave_packet() return meaningful error codes

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
tags/n0.8
Stefano Sabatini Michael Niedermayer 14 years ago
parent
commit
c5dcb3d493
1 changed files with 4 additions and 3 deletions
  1. +4
    -3
      libavformat/utils.c

+ 4
- 3
libavformat/utils.c View File

@@ -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;


Loading…
Cancel
Save