Commit c5e1e982 authored by Justin Johnson's avatar Justin Johnson Committed by Carl Eugen Hoyos

Guess the duration before converting video and write guessed duration

into flv header.

Patch by Justin Johnson, justin D johnson3 A gmail

Originally committed as revision 21615 to svn://svn.ffmpeg.org/ffmpeg/trunk
parent a3cc2160
......@@ -2104,6 +2104,19 @@ static int av_encode(AVFormatContext **output_files,
ist->is_start = 1;
}
/* set the duration of the output to the duration of the input
* if the output ends up being different, it'll be corrected later */
for (i=0;i<nb_output_files;i++) {
AVFormatContext *out_file = output_files[i];
AVFormatContext *in_file = input_files[i];
if (recording_time != INT64_MAX) {
out_file->duration = recording_time / 1000000 * AV_TIME_BASE;
} else {
out_file->duration = in_file->duration;
}
}
/* set meta data information from input file if required */
for (i=0;i<nb_meta_data_maps;i++) {
AVFormatContext *out_file;
......
......@@ -221,7 +221,7 @@ static int flv_write_header(AVFormatContext *s)
put_amf_string(pb, "duration");
flv->duration_offset= url_ftell(pb);
put_amf_double(pb, 0); // delayed write
put_amf_double(pb, s->duration / AV_TIME_BASE); // fill in the guessed duration, it'll be corrected later if incorrect
if(video_enc){
put_amf_string(pb, "width");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment