comparison avienc.c @ 993:3c027a642915 libavformat

fixing total_frames
author michael
date Thu, 02 Mar 2006 20:44:35 +0000
parents d54472fc2d04
children 66bd5e175690
comparison
equal deleted inserted replaced
992:d54472fc2d04 993:3c027a642915
611 611
612 /* Fill in frame/sample counters */ 612 /* Fill in frame/sample counters */
613 file_size = url_ftell(pb); 613 file_size = url_ftell(pb);
614 nb_frames = 0; 614 nb_frames = 0;
615 for(n=0;n<s->nb_streams;n++) { 615 for(n=0;n<s->nb_streams;n++) {
616 if (avi->frames_hdr_strm[n] != 0) { 616 assert(avi->frames_hdr_strm[n]);
617 stream = s->streams[n]->codec; 617 stream = s->streams[n]->codec;
618 url_fseek(pb, avi->frames_hdr_strm[n], SEEK_SET); 618 url_fseek(pb, avi->frames_hdr_strm[n], SEEK_SET);
619 ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale); 619 ff_parse_specific_params(stream, &au_byterate, &au_ssize, &au_scale);
620 if (au_ssize == 0) { 620 if (au_ssize == 0) {
621 put_le32(pb, avi->packet_count[n]); 621 put_le32(pb, avi->packet_count[n]);
622 nb_frames += avi->packet_count[n];
623 } else { 622 } else {
624 put_le32(pb, avi->audio_strm_length[n] / au_ssize); 623 put_le32(pb, avi->audio_strm_length[n] / au_ssize);
625 } 624 }
626 } 625 if(stream->codec_type == CODEC_TYPE_VIDEO)
626 nb_frames = FFMAX(nb_frames, avi->packet_count[n]);
627 } 627 }
628 if (avi->frames_hdr_all != 0) { 628 assert(avi->frames_hdr_all);
629 url_fseek(pb, avi->frames_hdr_all, SEEK_SET); 629 url_fseek(pb, avi->frames_hdr_all, SEEK_SET);
630 put_le32(pb, nb_frames); 630 put_le32(pb, nb_frames);
631 }
632 url_fseek(pb, file_size, SEEK_SET); 631 url_fseek(pb, file_size, SEEK_SET);
633 } 632 }
634 return 0; 633 return 0;
635 } 634 }
636 635