Mercurial > libavformat.hg
comparison avidec.c @ 1115:8aa77d05572e libavformat
dont load the index if we cant seek back
author | michael |
---|---|
date | Wed, 14 Jun 2006 00:32:10 +0000 |
parents | eda6e2c47b6f |
children | 801d4a5cf353 |
comparison
equal
deleted
inserted
replaced
1114:c25f3b5b9a5c | 1115:8aa77d05572e |
---|---|
427 } | 427 } |
428 } | 428 } |
429 break; | 429 break; |
430 case MKTAG('i', 'n', 'd', 'x'): | 430 case MKTAG('i', 'n', 'd', 'x'): |
431 i= url_ftell(pb); | 431 i= url_ftell(pb); |
432 read_braindead_odml_indx(s, 0); | 432 if(!url_is_streamed(pb)){ |
433 avi->index_loaded=1; | 433 read_braindead_odml_indx(s, 0); |
434 avi->index_loaded=1; | |
435 } | |
434 url_fseek(pb, i+size, SEEK_SET); | 436 url_fseek(pb, i+size, SEEK_SET); |
435 break; | 437 break; |
436 default: | 438 default: |
437 /* skip tag */ | 439 /* skip tag */ |
438 size += (size & 1); | 440 size += (size & 1); |
449 av_freep(&s->streams[i]); | 451 av_freep(&s->streams[i]); |
450 } | 452 } |
451 return -1; | 453 return -1; |
452 } | 454 } |
453 | 455 |
454 if(!avi->index_loaded) | 456 if(!avi->index_loaded && !url_is_streamed(pb)) |
455 avi_load_index(s); | 457 avi_load_index(s); |
456 avi->index_loaded = 1; | 458 avi->index_loaded = 1; |
457 avi->non_interleaved |= guess_ni_flag(s); | 459 avi->non_interleaved |= guess_ni_flag(s); |
458 if(avi->non_interleaved) | 460 if(avi->non_interleaved) |
459 clean_index(s); | 461 clean_index(s); |