summaryrefslogtreecommitdiff
path: root/libavformat/avidec.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2005-03-17 01:25:01 +0000
committerMichael Niedermayer <michaelni@gmx.at>2005-03-17 01:25:01 +0000
commitf3356e9c9eb8dc62925aaecf2ceec84106e06c6e (patch)
treebdadaff376c4d694349c32c1b347d5e30d83fb3d /libavformat/avidec.c
parentcc973ecbe77ee6c273e2372ad24bb3aff0be5440 (diff)
more fine grained discarding of packets
Originally committed as revision 4051 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavformat/avidec.c')
-rw-r--r--libavformat/avidec.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/libavformat/avidec.c b/libavformat/avidec.c
index 335a2ab4d3..bba0237903 100644
--- a/libavformat/avidec.c
+++ b/libavformat/avidec.c
@@ -532,7 +532,11 @@ resync:
st = s->streams[n];
ast = st->priv_data;
- if(st->discard){
+ if( (st->discard >= AVDISCARD_DEFAULT && size==0)
+ /*|| (st->discard >= AVDISCARD_NONKEY && !(pkt->flags & PKT_FLAG_KEY))*/ //FIXME needs a little reordering
+ || st->discard >= AVDISCARD_ALL){
+ if(ast->sample_size) ast->frame_offset += pkt->size;
+ else ast->frame_offset++;
url_fskip(pb, size);
goto resync;
}
@@ -554,7 +558,6 @@ resync:
ast->packet_size= size + 8;
ast->remaining= size;
goto resync;
-
}
}
/* palette changed chunk */