@@ -848,20 +848,22 @@ static int flv_write_trailer(AVFormatContext *s)
848
848
avio_seek (pb , flv -> datasize_offset , SEEK_SET );
849
849
put_amf_double (pb , flv -> datasize );
850
850
}
851
- if (!(flv -> flags & FLV_NO_DURATION_FILESIZE )) {
852
- /* update information */
853
- if (avio_seek (pb , flv -> duration_offset , SEEK_SET ) < 0 ) {
854
- av_log (s , AV_LOG_WARNING , "Failed to update header with correct duration.\n" );
855
- } else {
856
- put_amf_double (pb , flv -> duration / (double )1000 );
857
- }
858
- if (avio_seek (pb , flv -> filesize_offset , SEEK_SET ) < 0 ) {
859
- av_log (s , AV_LOG_WARNING , "Failed to update header with correct filesize.\n" );
860
- } else {
861
- put_amf_double (pb , file_size );
851
+ if (!(flv -> flags & FLV_NO_METADATA )) {
852
+ if (!(flv -> flags & FLV_NO_DURATION_FILESIZE )) {
853
+ /* update information */
854
+ if (avio_seek (pb , flv -> duration_offset , SEEK_SET ) < 0 ) {
855
+ av_log (s , AV_LOG_WARNING , "Failed to update header with correct duration.\n" );
856
+ } else {
857
+ put_amf_double (pb , flv -> duration / (double )1000 );
858
+ }
859
+ if (avio_seek (pb , flv -> filesize_offset , SEEK_SET ) < 0 ) {
860
+ av_log (s , AV_LOG_WARNING , "Failed to update header with correct filesize.\n" );
861
+ } else {
862
+ put_amf_double (pb , file_size );
863
+ }
862
864
}
863
865
}
864
- avio_seek ( pb , file_size , SEEK_SET );
866
+
865
867
return 0 ;
866
868
}
867
869
0 commit comments