diff --git a/aac_codec_registration.src.html b/aac_codec_registration.src.html index 9bd0ad88..2a174094 100644 --- a/aac_codec_registration.src.html +++ b/aac_codec_registration.src.html @@ -104,6 +104,24 @@ any time without error, but this might not result in the expected audio output. +Priming Samples {#priming-samples} +================================== + +Standard AAC bitstreams do not typically convey priming samples, and +{{AudioDecoder}}'s {{AudioDecoder/[[priming samples to discard]]}} internal slot +is initialized to `0` upon configuration. + +If the initial {{EncodedAudioChunk}} following configuration or reset conveys +in-band encoder delay information (for example, through an encoder +identification string in an extension payload fill element), +{{AudioDecoder/[[priming samples to discard]]}} MAY be +set to that number of [=priming samples=]. + +Subsequent {{EncodedAudioChunk}}s MUST NOT update +{{AudioDecoder/[[priming samples to discard]]}}. During an active decoding +session, {{AudioDecoder/[[priming samples to discard]]}} is only re-initialized +following a call to {{AudioDecoder/reset()}} or {{AudioDecoder/configure()}}. + AudioEncoderConfig extensions {#audioencoderconfig-extensions} ============================================================== diff --git a/codec_registry.src.html b/codec_registry.src.html index e23c0f5e..7b412064 100644 --- a/codec_registry.src.html +++ b/codec_registry.src.html @@ -78,6 +78,7 @@ 4. Expectations for {{EncodedAudioChunk}} or {{EncodedVideoChunk}} {{EncodedVideoChunk/[[type]]}}. 4. Where applicable, a registration specification may include a section describing [=partial dictionary|extensions to the dictionaries=] used in the `configure()`, `decode()` and `encode()` methods of the decoder and encoder interfaces (e.g., {{AudioDecoderConfig}}, {{VideoDecoderConfig}}, {{AudioEncoderConfig}}, {{VideoEncoderConfig}}, {{VideoEncoderEncodeOptions}}). +5. Where applicable, an audio codec registration specification SHOULD describe how {{AudioDecoder}}'s {{AudioDecoder/[[priming samples to discard]]}} internal slot is initialized from the {{AudioDecoderConfig/description}} and updated from decoded chunks. If unspecified for an audio codec, the slot is initialized to `0` and not updated. Once consensus is reached by the Working Group, the registry editors will review and merge the pull request. diff --git a/mp3_codec_registration.src.html b/mp3_codec_registration.src.html index cb6afb1c..8be86c69 100644 --- a/mp3_codec_registration.src.html +++ b/mp3_codec_registration.src.html @@ -80,6 +80,24 @@ any time without error, but this might not result in the expected audio output. +Priming Samples {#priming-samples} +================================== + +{{AudioDecoder}}'s {{AudioDecoder/[[priming samples to discard]]}} internal slot +is initialized to `0` upon configuration. + +If the initial {{EncodedAudioChunk}} following configuration or reset contains +an Info or Xing header frame specifying encoder delay, +{{AudioDecoder/[[priming samples to discard]]}} is set to that number of +[=priming samples=]. + +If a subsequent {{EncodedAudioChunk}} contains an Info or Xing header frame (such +as in a concatenated MP3 stream or internet radio broadcast), it MUST NOT update {{AudioDecoder/[[priming samples to +discard]]}}. During an active decoding session, {{AudioDecoder/[[priming samples +to discard]]}} is only re-initialized following a call to +{{AudioDecoder/reset()}} or {{AudioDecoder/configure()}}. + Privacy Considerations {#privacy-considerations} ========================================================================== diff --git a/opus_codec_registration.src.html b/opus_codec_registration.src.html index 4779964e..4553605c 100644 --- a/opus_codec_registration.src.html +++ b/opus_codec_registration.src.html @@ -90,6 +90,11 @@ NOTE: Once the initialization has succeeded, any packet can be decoded at any time without error, but this might not result in the expected audio output. +Priming Samples {#priming-samples} +================================== + +The `Pre-skip` field in the Identification Header (see section 5.1 of [[OPUS-IN-OGG]]), if present in {{AudioDecoderConfig/description}}, specifies the initial value for {{AudioDecoder}}'s {{AudioDecoder/[[priming samples to discard]]}} internal slot. If {{AudioDecoderConfig/description}} is not present, {{AudioDecoder/[[priming samples to discard]]}} is initialized to `0`. Decoded {{EncodedAudioChunk}}s do not convey additional discard information. + AudioEncoderConfig extensions {#audioencoderconfig-extensions} =============================================================