Commit 50b8ca45 authored by cehoyos's avatar cehoyos

Guess the duration before converting video and write guessed duration

into flv header.

Patch by Justin Johnson, justin D johnson3 A gmail


git-svn-id: file:///var/local/repositories/ffmpeg/trunk@21615 9553f0bf-9b14-0410-a0b8-cfaf0461ba5b
parent 841a7137
......@@ -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