Normal
The actual audio header parsing starts at - https://github.com/MediaPortal/MediaPortal-1/blob/EXP-VS2013-DSFilter-Owlsroost/DirectShowFilters/TsReader/source/DeMultiplexer.cpp#L1569 (in 'CDeMultiplexer::FillAudio()')This is then used to fill out the internal 'm_mpegPesParser->basicAudioInfo' structure which other things use to get info about the current audio stream.Note that this is only for the currently active/selected audio stream - it does not parse any inactive audio streams.If you call 'CDeMultiplexer::GetAudioStreamType()' it fills out a standard DirectShow 'mediatype' structure with all the information - this is what AudioPin.cpp calls, for example here - https://github.com/MediaPortal/MediaPortal-1/blob/EXP-VS2013-DSFilter-Owlsroost/DirectShowFilters/TsReader/source/AudioPin.cpp#L136 - when 'GetMediaType()' is called during audio output pin connection is done during graph building.See https://msdn.microsoft.com/en-us/library/windows/desktop/dd373394(v=vs.85).aspx , https://msdn.microsoft.com/en-us/library/windows/desktop/dd373477(v=vs.85).aspx and https://msdn.microsoft.com/en-us/library/windows/desktop/dd390970(v=vs.85).aspx for more info about mediatypes and (for audio) WAVEFORMATEX structures.What do you actually want to do here - just provide the audio equivalent to the video 'OnVideoFormatChanged()' or 'OnBitRateChanged()' callbacks to MP player for the audio side of things ?
The actual audio header parsing starts at - https://github.com/MediaPortal/MediaPortal-1/blob/EXP-VS2013-DSFilter-Owlsroost/DirectShowFilters/TsReader/source/DeMultiplexer.cpp#L1569 (in 'CDeMultiplexer::FillAudio()')
This is then used to fill out the internal 'm_mpegPesParser->basicAudioInfo' structure which other things use to get info about the current audio stream.
Note that this is only for the currently active/selected audio stream - it does not parse any inactive audio streams.
If you call 'CDeMultiplexer::GetAudioStreamType()' it fills out a standard DirectShow 'mediatype' structure with all the information - this is what AudioPin.cpp calls, for example here - https://github.com/MediaPortal/MediaPortal-1/blob/EXP-VS2013-DSFilter-Owlsroost/DirectShowFilters/TsReader/source/AudioPin.cpp#L136 - when 'GetMediaType()' is called during audio output pin connection is done during graph building.
See https://msdn.microsoft.com/en-us/library/windows/desktop/dd373394(v=vs.85).aspx , https://msdn.microsoft.com/en-us/library/windows/desktop/dd373477(v=vs.85).aspx and https://msdn.microsoft.com/en-us/library/windows/desktop/dd390970(v=vs.85).aspx for more info about mediatypes and (for audio) WAVEFORMATEX structures.
What do you actually want to do here - just provide the audio equivalent to the video 'OnVideoFormatChanged()' or 'OnBitRateChanged()' callbacks to MP player for the audio side of things ?