[FFmpeg-devel] explain av_write_trailer
rachel li
qiuli_li
Mon Nov 12 06:54:01 CET 2007
Hi, I read the code about utiles.c the fuction
int av_write_trailer(AVFormatContext *s)
{
int ret, i;
for(;;){
AVPacket pkt;
ret= av_interleave_packet(s, &pkt, NULL, 1);
if(ret<0) //FIXME cleanup needed for ret<0 ?
goto fail;
if(!ret)
break;
truncate_ts(s->streams[pkt.stream_index], &pkt);
ret= s->oformat->write_packet(s, &pkt);
av_free_packet(&pkt);
if(ret<0)
goto fail;
if(url_ferror(&s->pb))
goto fail;
}
if(s->oformat->write_trailer)
ret = s->oformat->write_trailer(s);
fail:
if(ret == 0)
ret=url_ferror(&s->pb);
for(i=0;i<s->nb_streams;i++)
av_freep(&s->streams[i]->priv_data);
av_freep(&s->priv_data);
return ret;
}
for(;;),why modify for the loop? I remmerber while(s->packet_buffer)
the loop for(::)do what ?I found the outfile
More information about the ffmpeg-devel
mailing list