Lines Matching refs:track
110 struct mkv_track *track;
206 ebml_stored_master track;
610 mkv_track *const track = block->track;
614 if (track->reformat) {
615 err = track->reformat(mkv, NULL, pkt, &size);
623 if (track->offset <= size)
624 size -= track->offset;
626 elem->size = track->track_num_size + 3U + size;
635 mkv_track *const track = block->track;
638 put_ebml_num(pb, track->track_num, track->track_num_size);
642 if (track->reformat) {
644 track->reformat(mkv, pb, pkt, &size);
647 unsigned offset = track->offset <= pkt->size ? track->offset : 0;
838 ffio_free_dyn_buf(&mkv->track.bc);
1260 mkv_track *track, unsigned alternative_size)
1272 if (codecpriv_size > track->codecpriv_size && !alternative_size) {
1275 } else if (codecpriv_size > track->codecpriv_size) {
1276 av_assert1(alternative_size < track->codecpriv_size);
1279 avio_seek(pb, track->codecpriv_offset, SEEK_SET);
1280 mkv_put_codecprivate(pb, track->codecpriv_size,
1690 AVStream *st, mkv_track *track, AVIOContext *pb,
1707 put_ebml_uint(pb, MATROSKA_ID_TRACKNUMBER, track->track_num);
1708 put_ebml_uid (pb, MATROSKA_ID_TRACKUID, track->uid);
1817 track->write_dts = 1;
1839 // track->ts_offset = av_rescale_q(par->initial_padding,
1865 track->sample_rate_offset = avio_tell(pb);
1905 track->codecpriv_offset = avio_tell(pb);
1913 track->codecpriv_size = max_payload_size;
1934 ret = start_ebml_master_crc32(&mkv->track.bc, mkv);
1969 mkv->track.bc, is_default);
1974 return end_ebml_master_crc32_tentatively(pb, &mkv->track, mkv,
2093 mkv_track *track = &mkv->tracks[i];
2100 MATROSKA_ID_TAGTARGETS_TRACKUID, track->uid);
2104 track->duration_offset = avio_tell(mkv->tags.bc) - DURATION_SIMPLETAG_SIZE;
2109 const mkv_track *track = &mkv->tracks[i];
2116 MATROSKA_ID_TAGTARGETS_ATTACHUID, track->uid);
2258 mkv_track *track = &mkv->tracks[i];
2282 ebml_writer_add_uid(&writer, MATROSKA_ID_FILEUID, track->uid);
2587 mkv_track *track, const AVPacket *pkt,
2595 unsigned track_number = track->track_num;
2598 mkv->cur_block.track = track;
2655 track->last_timestamp - ts);
2682 mkv_track *track = &mkv->tracks[pkt->stream_index];
2694 if (side_data_size && mkv->track.bc) {
2697 &track->sample_rate, &output_sample_rate);
2701 output_sample_rate = track->sample_rate; // Space is already reserved, so it's this or a void element.
2703 par, mkv->track.bc, track, 0);
2706 avio_seek(mkv->track.bc, track->sample_rate_offset, SEEK_SET);
2707 put_ebml_float(mkv->track.bc, MATROSKA_ID_AUDIOSAMPLINGFREQ, track->sample_rate);
2708 put_ebml_float(mkv->track.bc, MATROSKA_ID_AUDIOOUTSAMPLINGFREQ, output_sample_rate);
2709 } else if (!par->extradata_size && !track->sample_rate) {
2716 if (side_data_size && mkv->track.bc) {
2723 par, mkv->track.bc, track, 0);
2732 if (side_data_size && mkv->track.bc && !par->extradata_size) {
2736 par, mkv->track.bc, track, 4);
2756 mkv_track *track = &mkv->tracks[pkt->stream_index];
2763 int64_t ts = track->write_dts ? pkt->dts : pkt->pts;
2770 ts += track->ts_offset;
2801 ret = mkv_write_block(s, mkv, pb, par, track, pkt,
2810 !mkv->have_video && !track->has_cue)) {
2816 track->has_cue = 1;
2819 track->last_timestamp = ts;
2821 track->duration = FFMAX(track->duration, ts + duration);
3044 if (mkv->track.bc) {
3046 avio_seek(pb, mkv->track.pos, SEEK_SET);
3047 ret = end_ebml_master_crc32(pb, &mkv->track.bc, mkv,
3059 const mkv_track *track = &mkv->tracks[i];
3061 if (track->duration_offset > 0) {
3062 double duration_sec = track->duration * av_q2d(st->time_base);
3067 track->duration);
3069 avio_seek(tags_bc, track->duration_offset, SEEK_SET);
3166 mkv_track *track = &mkv->tracks[i];
3171 track->reformat = mkv_reformat_wavpack;
3178 track->reformat = mkv_reformat_h2645;
3183 track->offset = 8;
3187 track->reformat = mkv_reformat_av1;
3190 track->reformat = webm_reformat_vtt;
3195 track->uid = i + 1;
3197 track->uid = mkv_get_uid(mkv->tracks, i, &c);
3217 track->track_num = mkv->is_dash ? mkv->dash_track_number : nb_tracks;
3218 track->track_num_size = ebml_num_size(track->track_num);
3288 { "default_mode", "Controls how a track's FlagDefault is inferred", OFFSET(default_mode), AV_OPT_TYPE_INT, { .i64 = DEFAULT_MODE_PASSTHROUGH }, DEFAULT_MODE_INFER, DEFAULT_MODE_PASSTHROUGH, FLAGS, "default_mode" },
3289 { "infer", "For each track type, mark each track of disposition default as default; if none exists, mark the first track as default.", 0, AV_OPT_TYPE_CONST, { .i64 = DEFAULT_MODE_INFER }, 0, 0, FLAGS, "default_mode" },
3290 { "infer_no_subs", "For each track type, mark each track of disposition default as default; for audio and video: if none exists, mark the first track as default.", 0, AV_OPT_TYPE_CONST, { .i64 = DEFAULT_MODE_INFER_NO_SUBS }, 0, 0, FLAGS, "default_mode" },