MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / shift_data

Function shift_data

libavformat/flvenc.c:941–968  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

939}
940
941static int shift_data(AVFormatContext *s)
942{
943 int ret;
944 int64_t metadata_size = 0;
945 FLVContext *flv = s->priv_data;
946
947 metadata_size = flv->filepositions_count * 9 * 2 + 10; /* filepositions and times value */
948 metadata_size += 2 + 13; /* filepositions String */
949 metadata_size += 2 + 5; /* times String */
950 metadata_size += 3; /* Object end */
951
952 flv->keyframe_index_size = metadata_size;
953
954 if (metadata_size < 0)
955 return metadata_size;
956
957 ret = ff_format_shift_data(s, flv->keyframes_info_offset, metadata_size);
958 if (ret < 0)
959 return ret;
960
961 avio_seek(s->pb, flv->metadata_size_pos, SEEK_SET);
962 avio_wb24(s->pb, flv->metadata_totalsize + metadata_size);
963
964 avio_seek(s->pb, flv->metadata_totalsize_pos + metadata_size, SEEK_SET);
965 avio_wb32(s->pb, flv->metadata_totalsize + 11 + metadata_size);
966
967 return 0;
968}
969
970static int flv_init(struct AVFormatContext *s)
971{

Callers 1

flv_write_trailerFunction · 0.70

Calls 4

ff_format_shift_dataFunction · 0.85
avio_seekFunction · 0.85
avio_wb24Function · 0.85
avio_wb32Function · 0.85

Tested by

no test coverage detected