Lines Matching refs:pb
99 avio_write(s->pb, tag->value, len);
102 ffio_fill(s->pb, 0, maxlen - len);
109 int64_t bext = ff_start_tag(s->pb, "bext");
119 avio_wl64(s->pb, time_reference);
120 avio_wl16(s->pb, 1); // set version to 1
131 avio_wb64(s->pb, umidpart);
133 ffio_fill(s->pb, 0, 64 - i*8);
135 ffio_fill(s->pb, 0, 64); // zero UMID
137 ffio_fill(s->pb, 0, 190); // Reserved
140 avio_put_str(s->pb, tmp_tag->value);
142 ff_end_tag(s->pb, bext);
250 AVIOContext *pb = s->pb;
252 int64_t peak = ff_start_tag(s->pb, "levl");
278 avio_wl32(pb, 1); /* version */
279 avio_wl32(pb, wav->peak_format); /* 8 or 16 bit */
280 avio_wl32(pb, wav->peak_ppv); /* positive and negative */
281 avio_wl32(pb, wav->peak_block_size); /* frames per value */
282 avio_wl32(pb, par->ch_layout.nb_channels); /* number of channels */
283 avio_wl32(pb, wav->peak_num_frames); /* number of peak frames */
284 avio_wl32(pb, -1); /* audio sample frame position (not implemented) */
285 avio_wl32(pb, 128); /* equal to size of header */
286 avio_write(pb, timestamp, 28); /* ASCII time stamp */
287 ffio_fill(pb, 0, 60);
289 avio_write(pb, wav->peak_output, wav->peak_outbuf_bytes);
291 ff_end_tag(pb, peak);
302 AVIOContext *pb = s->pb;
311 ffio_wfourcc(pb, "RF64");
312 avio_wl32(pb, -1); /* RF64 chunk size: use size in ds64 */
314 ffio_wfourcc(pb, "RIFF");
315 avio_wl32(pb, -1); /* file length */
318 ffio_wfourcc(pb, "WAVE");
322 ffio_wfourcc(pb, wav->rf64 == RF64_ALWAYS ? "ds64" : "JUNK");
323 avio_wl32(pb, 28); /* chunk size */
324 wav->ds64 = avio_tell(pb);
325 ffio_fill(pb, 0, 28);
330 fmt = ff_start_tag(pb, "fmt ");
331 if (ff_put_wav_header(s, pb, s->streams[0]->codecpar, 0) < 0) {
336 ff_end_tag(pb, fmt);
340 && (s->pb->seekable & AVIO_SEEKABLE_NORMAL)) {
341 wav->fact_pos = ff_start_tag(pb, "fact");
342 avio_wl32(pb, 0);
343 ff_end_tag(pb, wav->fact_pos);
364 wav->data = ff_start_tag(pb, "data");
372 AVIOContext *pb = s->pb;
376 avio_write(pb, pkt->data, pkt->size);
412 AVIOContext *pb = s->pb;
419 if (s->pb->seekable & AVIO_SEEKABLE_NORMAL) {
420 if (wav->write_peak != PEAK_ONLY && avio_tell(pb) - wav->data < UINT32_MAX) {
421 ff_end_tag(pb, wav->data);
429 file_size = avio_tell(pb);
434 avio_seek(pb, 4, SEEK_SET);
435 avio_wl32(pb, (uint32_t)(file_size - 8));
436 avio_seek(pb, file_size, SEEK_SET);
448 avio_seek(pb, wav->fact_pos, SEEK_SET);
451 avio_wl32(pb, -1);
453 avio_wl32(pb, number_of_samples);
454 avio_seek(pb, file_size, SEEK_SET);
460 avio_seek(pb, 0, SEEK_SET);
461 ffio_wfourcc(pb, "RF64");
462 avio_wl32(pb, -1);
465 avio_seek(pb, wav->ds64 - 8, SEEK_SET);
466 ffio_wfourcc(pb, "ds64");
467 avio_wl32(pb, 28); /* ds64 chunk size */
468 avio_wl64(pb, file_size - 8); /* RF64 chunk size */
469 avio_wl64(pb, data_size); /* data chunk size */
470 avio_wl64(pb, number_of_samples); /* fact chunk number of samples */
471 avio_wl32(pb, 0); /* number of table entries for non-'data' chunks */
474 avio_seek(pb, wav->data - 4, SEEK_SET);
475 avio_wl32(pb, -1);
477 avio_seek(pb, file_size, SEEK_SET);
530 static void start_guid(AVIOContext *pb, const uint8_t *guid, int64_t *pos)
532 *pos = avio_tell(pb);
534 avio_write(pb, guid, 16);
535 avio_wl64(pb, INT64_MAX);
538 static void end_guid(AVIOContext *pb, int64_t start)
540 int64_t end, pos = avio_tell(pb);
543 ffio_fill(pb, 0, end - pos);
544 avio_seek(pb, start + 16, SEEK_SET);
545 avio_wl64(pb, end - start);
546 avio_seek(pb, end, SEEK_SET);
552 AVIOContext *pb = s->pb;
556 avio_write(pb, ff_w64_guid_riff, sizeof(ff_w64_guid_riff));
557 avio_wl64(pb, -1);
558 avio_write(pb, ff_w64_guid_wave, sizeof(ff_w64_guid_wave));
559 start_guid(pb, ff_w64_guid_fmt, &start);
560 if ((ret = ff_put_wav_header(s, pb, s->streams[0]->codecpar, 0)) < 0) {
565 end_guid(pb, start);
568 && (s->pb->seekable & AVIO_SEEKABLE_NORMAL)) {
569 start_guid(pb, ff_w64_guid_fact, &wav->fact_pos);
570 avio_wl64(pb, 0);
571 end_guid(pb, wav->fact_pos);
574 start_guid(pb, ff_w64_guid_data, &wav->data);
581 AVIOContext *pb = s->pb;
585 if (pb->seekable & AVIO_SEEKABLE_NORMAL) {
586 end_guid(pb, wav->data);
588 file_size = avio_tell(pb);
589 avio_seek(pb, 16, SEEK_SET);
590 avio_wl64(pb, file_size);
598 avio_seek(pb, wav->fact_pos + 24, SEEK_SET);
599 avio_wl64(pb, number_of_samples);
602 avio_seek(pb, file_size, SEEK_SET);