// Copyright (c) 2023, Alliance for Open Media. All rights reserved // // This source code is subject to the terms of the BSD 3-Clause Clear License // and the Alliance for Open Media Patent License 1.0. If the BSD 3-Clause Clear // License was not distributed with this source code in the LICENSE file, you // can obtain it at www.aomedia.org/license/software-license/bsd-3-c-c. If the // Alliance for Open Media Patent License 1.0 was not distributed with this // source code in the PATENTS file, you can obtain it at // www.aomedia.org/license/patent. syntax = "proto2"; package iamf_tools_cli_proto; import "iamf/cli/proto/arbitrary_obu.proto"; import "iamf/cli/proto/audio_element.proto"; import "iamf/cli/proto/audio_frame.proto"; import "iamf/cli/proto/codec_config.proto"; import "iamf/cli/proto/encoder_control_metadata.proto"; import "iamf/cli/proto/ia_sequence_header.proto"; import "iamf/cli/proto/mix_presentation.proto"; import "iamf/cli/proto/parameter_block.proto"; import "iamf/cli/proto/temporal_delimiter.proto"; import "iamf/cli/proto/test_vector_metadata.proto"; message UserMetadata { reserved 1, 5; // Top-level metadata about the file. optional TestVectorMetadata test_vector_metadata = 9; // Knobs to control the encoder behavior. optional EncoderControlMetadata encoder_control_metadata = 12; // Descriptor OBUs. repeated IASequenceHeaderObuMetadata ia_sequence_header_metadata = 10; repeated CodecConfigObuMetadata codec_config_metadata = 2; repeated AudioElementObuMetadata audio_element_metadata = 3; repeated MixPresentationObuMetadata mix_presentation_metadata = 4; // Temporal Unit OBUs. repeated AudioFrameObuMetadata audio_frame_metadata = 6; repeated ParameterBlockObuMetadata parameter_block_metadata = 7; optional TemporalDelimiterObuMetadata temporal_delimiter_metadata = 8; // A list of arbitrary OBUs to insert blindly into the stream. There is no // attempt to validate or process any side effects of adding the OBUs. repeated ArbitraryObuMetadata arbitrary_obu_metadata = 11; // Next ID: 13 }