diff asf.c @ 708:d79164865a7c libavformat

more fine grained discarding of packets
author michael
date Thu, 17 Mar 2005 01:25:01 +0000
parents b47948262721
children 1221cba1c069
line wrap: on
line diff
--- a/asf.c	Wed Mar 16 19:11:58 2005 +0000
+++ b/asf.c	Thu Mar 17 01:25:01 2005 +0000
@@ -545,7 +545,10 @@
 	    asf->packet_size_left -= rsize;
 	    //printf("___objsize____  %d   %d    rs:%d\n", asf->packet_obj_size, asf->packet_frag_offset, rsize);
 
-	    if (asf->stream_index < 0 || s->streams[asf->stream_index]->discard) {
+	    if (asf->stream_index < 0
+                || s->streams[asf->stream_index]->discard >= AVDISCARD_ALL
+                || (!asf->packet_key_frame && s->streams[asf->stream_index]->discard >= AVDISCARD_NONKEY)
+                ) {
                 asf->packet_time_start = 0;
 		/* unhandled packet (should not happen) */
 		url_fskip(pb, asf->packet_frag_size);