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