mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-02-14 22:22:59 +02:00
flvenc: don't write random data if seek fails
The FLV muxer tries to update the header in write_trailer, which is impossible if writing to a pipe or network stream. Don't write header data if seek to header fails. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
0aa0bab40d
commit
2947e7b7a7
@ -426,10 +426,14 @@ static int flv_write_trailer(AVFormatContext *s)
|
||||
file_size = avio_tell(pb);
|
||||
|
||||
/* update information */
|
||||
avio_seek(pb, flv->duration_offset, SEEK_SET);
|
||||
put_amf_double(pb, flv->duration / (double)1000);
|
||||
avio_seek(pb, flv->filesize_offset, SEEK_SET);
|
||||
put_amf_double(pb, file_size);
|
||||
if(avio_seek(pb, flv->duration_offset, SEEK_SET) < 0)
|
||||
av_log(s, AV_LOG_WARNING, "Failed to update header with correct duration.\n");
|
||||
else
|
||||
put_amf_double(pb, flv->duration / (double)1000);
|
||||
if(avio_seek(pb, flv->filesize_offset, SEEK_SET) < 0)
|
||||
av_log(s, AV_LOG_WARNING, "Failed to update header with correct filesize.\n");
|
||||
else
|
||||
put_amf_double(pb, file_size);
|
||||
|
||||
avio_seek(pb, file_size, SEEK_SET);
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user