Mercurial > libavformat.hg
diff flvdec.c @ 708:d79164865a7c libavformat
more fine grained discarding of packets
author | michael |
---|---|
date | Thu, 17 Mar 2005 01:25:01 +0000 |
parents | d7c7f7bbdf55 |
children | af4e24d6310c |
line wrap: on
line diff
--- a/flvdec.c Wed Mar 16 19:11:58 2005 +0000 +++ b/flvdec.c Thu Mar 17 01:25:01 2005 +0000 @@ -105,7 +105,11 @@ st->codec.frame_rate_base= 1; st->codec.frame_rate= 1000; } - if(st->discard){ +// av_log(NULL, AV_LOG_DEBUG, "%d %X %d \n", is_audio, flags, st->discard); + if( (st->discard >= AVDISCARD_NONKEY && !((flags >> 4)==1 || is_audio)) + ||(st->discard >= AVDISCARD_BIDIR && ((flags >> 4)==3 && !is_audio)) + || st->discard >= AVDISCARD_ALL + ){ url_fskip(&s->pb, size); continue; } @@ -158,7 +162,7 @@ pkt->pts = pts; pkt->stream_index = st->index; - if (!is_audio && ((flags >> 4)==1)) + if (is_audio || ((flags >> 4)==1)) pkt->flags |= PKT_FLAG_KEY; return ret;