1// Copyright (c) 2023, Alliance for Open Media. All rights reserved 2// 3// This source code is subject to the terms of the BSD 3-Clause Clear License 4// and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear 5// License was not distributed with this source code in the LICENSE file, you 6// can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the 7// Alliance for Open Media Patent License 1.0 was not distributed with this 8// source code in the PATENTS file, you can obtain it at 9// www.aomedia.org/license/patent. 10 11syntax = "proto2"; 12 13package iamf_tools_cli_proto; 14 15import "iamf/cli/proto/arbitrary_obu.proto"; 16import "iamf/cli/proto/audio_element.proto"; 17import "iamf/cli/proto/audio_frame.proto"; 18import "iamf/cli/proto/codec_config.proto"; 19import "iamf/cli/proto/encoder_control_metadata.proto"; 20import "iamf/cli/proto/ia_sequence_header.proto"; 21import "iamf/cli/proto/mix_presentation.proto"; 22import "iamf/cli/proto/parameter_block.proto"; 23import "iamf/cli/proto/temporal_delimiter.proto"; 24import "iamf/cli/proto/test_vector_metadata.proto"; 25 26message UserMetadata { 27 reserved 1, 5; 28 // Top-level metadata about the file. 29 optional TestVectorMetadata test_vector_metadata = 9; 30 // Knobs to control the encoder behavior. 31 optional EncoderControlMetadata encoder_control_metadata = 12; 32 33 // Descriptor OBUs. 34 repeated IASequenceHeaderObuMetadata ia_sequence_header_metadata = 10; 35 repeated CodecConfigObuMetadata codec_config_metadata = 2; 36 repeated AudioElementObuMetadata audio_element_metadata = 3; 37 repeated MixPresentationObuMetadata mix_presentation_metadata = 4; 38 39 // Temporal Unit OBUs. 40 repeated AudioFrameObuMetadata audio_frame_metadata = 6; 41 repeated ParameterBlockObuMetadata parameter_block_metadata = 7; 42 optional TemporalDelimiterObuMetadata temporal_delimiter_metadata = 8; 43 44 // A list of arbitrary OBUs to insert blindly into the stream. There is no 45 // attempt to validate or process any side effects of adding the OBUs. 46 repeated ArbitraryObuMetadata arbitrary_obu_metadata = 11; 47 48 // Next ID: 13 49} 50