50 static inline void bwf_write_bext_string(
AVFormatContext *s,
const char *key,
int maxlen)
56 len = strlen(tag->
value);
57 len =
FFMIN(len, maxlen);
67 uint64_t time_reference = 0;
70 bwf_write_bext_string(s,
"description", 256);
71 bwf_write_bext_string(s,
"originator", 32);
72 bwf_write_bext_string(s,
"originator_reference", 32);
73 bwf_write_bext_string(s,
"origination_date", 10);
74 bwf_write_bext_string(s,
"origination_time", 8);
77 time_reference = strtoll(tmp_tag->
value,
NULL, 10);
82 unsigned char umidpart_str[17] = {0};
87 for (i = 0; i < len/16; i++) {
88 memcpy(umidpart_str, tmp_tag->
value + 2 + (i*16), 16);
89 umidpart = strtoll(umidpart_str,
NULL, 16);
131 bwf_write_bext_chunk(s);
176 avio_wl32(pb, (uint32_t)(file_size - 8));
183 int number_of_samples;
196 #define OFFSET(x) offsetof(WAVMuxContext, x)
197 #define ENC AV_OPT_FLAG_ENCODING_PARAM
203 static const AVClass wav_muxer_class = {
213 .mime_type =
"audio/x-wav",
223 .priv_class = &wav_muxer_class,
238 static void end_guid(
AVIOContext *pb, int64_t start)
278 end_guid(pb, wav->
data);