Lines Matching refs:pb
217 FFIOContext pb;
257 static int64_t put_header(AVIOContext *pb, const ff_asf_guid *g)
261 pos = avio_tell(pb);
262 ff_put_guid(pb, g);
263 avio_wl64(pb, 24);
268 static void end_header(AVIOContext *pb, int64_t pos)
272 pos1 = avio_tell(pb);
273 avio_seek(pb, pos + 16, SEEK_SET);
274 avio_wl64(pb, pos1 - pos);
275 avio_seek(pb, pos1, SEEK_SET);
283 AVIOContext *pb = s->pb;
287 avio_wl16(pb, type);
288 avio_wl16(pb, length); // size
289 avio_wl32(pb, asf->seqno); // sequence number
290 avio_wl16(pb, flags); // unknown bytes
291 avio_wl16(pb, length); // size_confirm
322 AVIOContext *pb = s->pb;
324 int64_t hpos = put_header(pb, &ff_asf_marker_header);
326 ff_put_guid(pb, &ff_asf_reserved_4);// ASF spec mandates this reserved value
327 avio_wl32(pb, s->nb_chapters); // markers count
328 avio_wl16(pb, 0); // ASF spec mandates 0 for this
329 avio_wl16(pb, 0); // name length 0, no name given
343 avio_wl64(pb, offset); // offset of the packet with send_time
344 avio_wl64(pb, pres_time + PREROLL_TIME * 10000); // presentation time
345 avio_wl16(pb, 12 + len); // entry length
346 avio_wl32(pb, send_time); // send time
347 avio_wl32(pb, 0); // flags, should be 0
348 avio_wl32(pb, len / 2); // marker desc length in WCHARS!
350 avio_write(pb, buf, len); // marker desc
354 end_header(pb, hpos);
362 AVIOContext *pb = s->pb, *dyn_buf;
432 ff_put_guid(pb, &ff_asf_header);
433 avio_wl64(pb, -1); /* header length, will be patched after */
434 avio_wl32(pb, 3 + has_title + !!metadata_count + s->nb_streams); /* number of chunks in header */
435 avio_w8(pb, 1); /* ??? */
436 avio_w8(pb, 2); /* ??? */
439 header_offset = avio_tell(pb);
440 hpos = put_header(pb, &ff_asf_file_header);
441 ff_put_guid(pb, &ff_asf_my_guid);
442 avio_wl64(pb, file_size);
443 avio_wl64(pb, unix_to_file_time(asf->creation_time));
444 avio_wl64(pb, asf->nb_packets); /* number of packets */
445 avio_wl64(pb, duration); /* end time stamp (in 100ns units) */
446 avio_wl64(pb, asf->duration); /* duration (in 100ns units) */
447 avio_wl64(pb, PREROLL_TIME); /* start time stamp */
448 avio_wl32(pb, (asf->is_streamed || !(pb->seekable & AVIO_SEEKABLE_NORMAL)) ? 3 : 2); /* ??? */
449 avio_wl32(pb, s->packet_size); /* packet size */
450 avio_wl32(pb, s->packet_size); /* packet size */
451 avio_wl32(pb, bit_rate ? bit_rate : -1); /* Maximum data rate in bps */
452 end_header(pb, hpos);
455 hpos = put_header(pb, &ff_asf_head1_guid);
456 ff_put_guid(pb, &ff_asf_head2_guid);
457 avio_wl16(pb, 6);
458 avio_wl32(pb, 0); /* length, to be filled later */
463 hpos2 = put_header(pb, &ff_asf_language_guid);
464 avio_wl16(pb, asf->nb_languages);
466 avio_w8(pb, 6);
467 avio_put_str16le(pb, asf->languages[i]);
469 end_header(pb, hpos2);
476 hpos2 = put_header(pb, &ff_asf_group_mutual_exclusion_object);
477 ff_put_guid(pb, &ff_asf_mutex_language);
478 avio_wl16(pb, nb_audio_languages);
481 avio_wl16(pb, audio_language_counts[i]);
484 avio_wl16(pb, n + 1);
487 end_header(pb, hpos2);
494 es_pos = put_header(pb, &ff_asf_extended_stream_properties_object);
495 avio_wl64(pb, 0); /* start time */
496 avio_wl64(pb, 0); /* end time */
497 avio_wl32(pb, s->streams[n]->codecpar->bit_rate); /* data bitrate bps */
498 avio_wl32(pb, 5000); /* buffer size ms */
499 avio_wl32(pb, 0); /* initial buffer fullness */
500 avio_wl32(pb, s->streams[n]->codecpar->bit_rate); /* peak data bitrate */
501 avio_wl32(pb, 5000); /* maximum buffer size ms */
502 avio_wl32(pb, 0); /* max initial buffer fullness */
503 avio_wl32(pb, 0); /* max object size */
504 avio_wl32(pb, (!asf->is_streamed && (pb->seekable & AVIO_SEEKABLE_NORMAL)) << 1); /* flags - seekable */
505 avio_wl16(pb, n + 1); /* stream number */
506 avio_wl16(pb, asf->streams[n].stream_language_index); /* language id index */
507 avio_wl64(pb, 0); /* avg time per frame */
508 avio_wl16(pb, 0); /* stream name count */
509 avio_wl16(pb, 0); /* payload extension system count */
510 end_header(pb, es_pos);
515 hpos2 = put_header(pb, &ff_asf_metadata_header);
516 avio_wl16(pb, 2 * has_aspect_ratio);
523 avio_wl16(pb, 0);
525 avio_wl16(pb, n + 1);
526 avio_wl16(pb, 26); // name_len
527 avio_wl16(pb, 3); // value_type
528 avio_wl32(pb, 4); // value_len
529 avio_put_str16le(pb, "AspectRatioX");
530 avio_wl32(pb, sar.num);
531 avio_wl16(pb, 0);
533 avio_wl16(pb, n + 1);
534 avio_wl16(pb, 26); // name_len
535 avio_wl16(pb, 3); // value_type
536 avio_wl32(pb, 4); // value_len
537 avio_put_str16le(pb, "AspectRatioY");
538 avio_wl32(pb, sar.den);
541 end_header(pb, hpos2);
545 pos1 = avio_tell(pb);
546 avio_seek(pb, hpos + 42, SEEK_SET);
547 avio_wl32(pb, pos1 - hpos - 46);
548 avio_seek(pb, pos1, SEEK_SET);
550 end_header(pb, hpos);
560 hpos = put_header(pb, &ff_asf_comment_header);
564 avio_wl16(pb, len);
567 avio_write(pb, buf, len);
569 end_header(pb, hpos);
573 hpos = put_header(pb, &ff_asf_extended_content_header);
574 avio_wl16(pb, metadata_count);
576 put_str16(pb, dyn_buf, tag->key);
577 avio_wl16(pb, 0);
578 put_str16(pb, dyn_buf, tag->value);
580 end_header(pb, hpos);
609 hpos = put_header(pb, &ff_asf_stream_header);
611 ff_put_guid(pb, &ff_asf_audio_stream);
612 ff_put_guid(pb, &ff_asf_audio_conceal_spread);
614 ff_put_guid(pb, &ff_asf_video_stream);
615 ff_put_guid(pb, &ff_asf_video_conceal_none);
617 avio_wl64(pb, 0); /* ??? */
618 es_pos = avio_tell(pb);
619 avio_wl32(pb, extra_size); /* wav header len */
620 avio_wl32(pb, extra_size2); /* additional data len */
621 avio_wl16(pb, n + 1); /* stream number */
622 avio_wl32(pb, 0); /* ??? */
626 int wavsize = ff_put_wav_header(s, pb, par, FF_PUT_WAV_HEADER_FORCE_WAVEFORMATEX);
633 cur_pos = avio_tell(pb);
634 avio_seek(pb, es_pos, SEEK_SET);
635 avio_wl32(pb, wavsize); /* wav header len */
636 avio_seek(pb, cur_pos, SEEK_SET);
639 avio_w8(pb, 0x01);
641 avio_wl16(pb, 0x0190);
642 avio_wl16(pb, 0x0190);
644 avio_wl16(pb, par->block_align);
645 avio_wl16(pb, par->block_align);
647 avio_wl16(pb, 0x01);
648 avio_w8(pb, 0x00);
650 avio_wl32(pb, par->width);
651 avio_wl32(pb, par->height);
652 avio_w8(pb, 2); /* ??? */
653 avio_wl16(pb, 40 + par->extradata_size); /* size */
656 ff_put_bmp_header(pb, par, 1, 0, 0);
658 end_header(pb, hpos);
663 hpos = put_header(pb, &ff_asf_codec_comment_header);
664 ff_put_guid(pb, &ff_asf_codec_comment1_header);
665 avio_wl32(pb, s->nb_streams);
672 avio_wl16(pb, 2);
674 avio_wl16(pb, 1);
676 avio_wl16(pb, -1);
689 avio_wl16(pb, len / 2); // "number of characters" = length in bytes / 2
691 avio_write(pb, buf, len);
694 avio_wl16(pb, 0);
696 avio_wl16(pb, 0); /* no parameters */
700 avio_wl16(pb, 2);
701 avio_wl16(pb, par->codec_tag);
703 avio_wl16(pb, 4);
704 avio_wl32(pb, par->codec_tag);
711 end_header(pb, hpos);
715 cur_pos = avio_tell(pb);
720 avio_seek(pb, header_offset - 10 - 30, SEEK_SET);
721 avio_wl16(pb, header_size);
722 avio_seek(pb, header_offset - 2 - 30, SEEK_SET);
723 avio_wl16(pb, header_size);
728 avio_seek(pb, header_offset - 14, SEEK_SET);
729 avio_wl64(pb, header_size);
730 avio_seek(pb, cur_pos, SEEK_SET);
734 ff_put_guid(pb, &ff_asf_data_header);
735 avio_wl64(pb, data_chunk_size);
736 ff_put_guid(pb, &ff_asf_my_guid);
737 avio_wl64(pb, asf->nb_packets); /* nb packets */
738 avio_w8(pb, 1); /* ??? */
739 avio_w8(pb, 1); /* ??? */
775 ffio_init_context(&asf->pb, asf->packet_buf, s->packet_size, 1,
798 AVIOContext *pb = s->pb;
800 int64_t start = avio_tell(pb);
809 avio_w8(pb, ASF_PACKET_ERROR_CORRECTION_FLAGS);
810 ffio_fill(pb, 0x0, ASF_PACKET_ERROR_CORRECTION_DATA_SIZE);
821 avio_w8(pb, iLengthTypeFlags);
823 avio_w8(pb, ASF_PPI_PROPERTY_FLAGS);
826 avio_wl16(pb, padsize - 2);
828 avio_w8(pb, padsize - 1);
830 avio_wl32(pb, sendtime);
831 avio_wl16(pb, duration);
833 avio_w8(pb, nb_payloads | ASF_PAYLOAD_FLAGS);
835 ppi_size = avio_tell(pb) - start;
860 avio_write(s->pb, asf->packet_buf, s->packet_size - packet_hdr_size);
862 avio_write_marker(s->pb, AV_NOPTS_VALUE, AVIO_DATA_MARKER_FLUSH_POINT);
868 ffio_init_context(&asf->pb, asf->packet_buf, s->packet_size, 1,
877 AVIOContext *const pb = &asf->pb.pub;
883 avio_w8(pb, val);
885 avio_w8(pb, stream->seq); // Media object number
886 avio_wl32(pb, m_obj_offset); // Offset Into Media Object
893 avio_w8(pb, ASF_PAYLOAD_REPLICATED_DATA_LENGTH);
895 avio_wl32(pb, m_obj_size); // Replicated Data - Media Object Size
896 avio_wl32(pb, (uint32_t) presentation_time); // Replicated Data - Presentation Time
899 avio_wl16(pb, payload_len); // payload length
949 avio_write(&asf->pb.pub, buf, payload_len);
1017 AVIOContext *pb = s->pb;
1025 uint64_t offset = avio_tell(pb);
1065 AVIOContext *pb = s->pb;
1067 ff_put_guid(pb, &ff_asf_simple_index_header);
1068 avio_wl64(pb, 24 + 16 + 8 + 4 + 4 + (4 + 2) * count);
1069 ff_put_guid(pb, &ff_asf_my_guid);
1070 avio_wl64(pb, ASF_INDEXED_INTERVAL);
1071 avio_wl32(pb, max);
1072 avio_wl32(pb, count);
1074 avio_wl32(pb, index[i].packet_number);
1075 avio_wl16(pb, index[i].packet_count);
1088 if (asf->pb.pub.buf_ptr > asf->pb.pub.buffer)
1092 data_size = avio_tell(s->pb);
1099 if (asf->is_streamed || !(s->pb->seekable & AVIO_SEEKABLE_NORMAL)) {
1103 file_size = avio_tell(s->pb);
1104 avio_seek(s->pb, 0, SEEK_SET);