Lines Matching defs:id3

66 static int id3v2_put_ttag(ID3v2EncContext *id3, AVIOContext *avioc, const char *str1, const char *str2,
89 if (id3->version == 3)
105 static int id3v2_put_priv(ID3v2EncContext *id3, AVIOContext *avioc, const char *key, const char *data)
141 if (id3->version == 3)
153 static int id3v2_check_write_tag(ID3v2EncContext *id3, AVIOContext *pb, AVDictionaryEntry *t,
164 return id3v2_put_ttag(id3, pb, t->value, NULL, tag, enc);
206 void ff_id3v2_start(ID3v2EncContext *id3, AVIOContext *pb, int id3v2_version,
209 id3->version = id3v2_version;
216 id3->size_pos = avio_tell(pb);
221 ID3v2EncContext *id3, int enc)
227 if (id3->version == 3)
229 else if (id3->version == 4)
233 if ((ret = id3v2_check_write_tag(id3, pb, t, ff_id3v2_tags, enc)) > 0) {
234 id3->len += ret;
237 if ((ret = id3v2_check_write_tag(id3, pb, t, id3->version == 3 ?
239 id3->len += ret;
243 if ((ret = id3v2_put_priv(id3, pb, t->key, t->value)) > 0) {
244 id3->len += ret;
251 if ((ret = id3v2_put_ttag(id3, pb, t->key, t->value, MKBETAG('T', 'X', 'X', 'X'), enc)) < 0)
253 id3->len += ret;
259 static int write_ctoc(AVFormatContext *s, ID3v2EncContext *id3, int enc)
280 id3->len += len + ID3v2_HEADER_SIZE;
292 static int write_chapter(AVFormatContext *s, ID3v2EncContext *id3, int id, int enc)
308 id3->len += avio_put_str(dyn_bc, name);
314 if ((ret = write_metadata(dyn_bc, &ch->metadata, id3, enc)) < 0)
318 id3->len += 16 + ID3v2_HEADER_SIZE;
331 int ff_id3v2_write_metadata(AVFormatContext *s, ID3v2EncContext *id3)
333 int enc = id3->version == 3 ? ID3v2_ENCODING_UTF16BOM :
338 if ((ret = write_metadata(s->pb, &s->metadata, id3, enc)) < 0)
341 if ((ret = write_ctoc(s, id3, enc)) < 0)
345 if ((ret = write_chapter(s, id3, i, enc)) < 0)
352 int ff_id3v2_write_apic(AVFormatContext *s, ID3v2EncContext *id3, AVPacket *pkt)
361 int enc = id3->version == 3 ? ID3v2_ENCODING_UTF16BOM :
408 if (id3->version == 3)
416 id3->len += len + ID3v2_HEADER_SIZE;
421 void ff_id3v2_finish(ID3v2EncContext *id3, AVIOContext *pb,
435 padding_bytes = av_clip(padding_bytes, 10, 268435455 - id3->len);
437 id3->len += padding_bytes;
440 avio_seek(pb, id3->size_pos, SEEK_SET);
441 id3v2_put_size(pb, id3->len);
448 ID3v2EncContext id3 = { 0 };
451 ff_id3v2_start(&id3, s->pb, id3v2_version, magic);
452 if ((ret = ff_id3v2_write_metadata(s, &id3)) < 0)
454 ff_id3v2_finish(&id3, s->pb, s->metadata_header_padding);