View Source Membrane.AAC.Parser (Membrane AAC plugin v0.19.1)
Parser for Advanced Audio Codec.
Supports both plain and ADTS-encapsulated output (configured by out_encapsulation).
Input with encapsulation :none is supported, but correct AAC stream format needs to be supplied with the stream.
If PTS is absent, it calculates and puts one based on the sample rate.
Element options
Passed via struct Membrane.AAC.Parser.t/0
samples_per_frameAAC.samples_per_frame()Default value:
1024
Count of audio samples in each AAC frameout_encapsulationAAC.encapsulation()Default value:
:ADTS
Determines whether output AAC frames should be prefixed with ADTS headersaudio_specific_configbinary() | nilDefault value:
nil
Decoder configuration data AudioSpecificConfig(), as defined in ISO/IEC 14496-3 - if received via side channel it should be provided via this option.output_config:audio_specific_config | :esds | {:esds, avg_bit_rate :: non_neg_integer(), max_bit_rate :: non_neg_integer()} | nilDefault value:
nil
Determines which config spec will be generated and included in output stream format asconfig:esds- the field will be anesdsMP4 atom.avg_bit_rateandmax_bit_ratecan be additionally provided and will be included in theesds. If not provided they will be set to 0.audio_specific_config- the field will be a decoder configuration data AudioSpecificConfig(), as defined in ISO/IEC 14496-3.
Pads
  
    
  
  :input
Accepted formats:
AACMembrane.RemoteStream| Direction: | :input | 
| Availability: | :always | 
| Flow control: | :manual | 
| Demand unit: | :buffers | 
  
    
  
  :output
Accepted formats:
AAC| Direction: | :output | 
| Availability: | :always | 
| Flow control: | :manual | 
| Demand unit: | nil | 
Summary
Types
@type t() :: %Membrane.AAC.Parser{ audio_specific_config: binary() | nil, out_encapsulation: Membrane.AAC.encapsulation(), output_config: :audio_specific_config | :esds | {:esds, avg_bit_rate :: non_neg_integer(), max_bit_rate :: non_neg_integer()} | nil, samples_per_frame: Membrane.AAC.samples_per_frame() }
Struct containing options for Membrane.AAC.Parser
@type timestamp() :: Ratio.t() | Membrane.Time.t()
Functions
@spec options() :: keyword()
Returns description of options available for this module