v19 DVDAudioCodecPassthrough.cpp - Audio Frames to HDMI Audio Frame/Packet ratio
#16
@Boilerplate4U Here is a build which increases the AE threshold variable:
https://drive.google.com/file/d/1RGXhpPC...sp=sharing

For me, it never works when I first start playing the file but if I then switch audio bitstream off and on again it gets an audio lock most of the time. This is the build used to produce the different log above. For me it works the same regardless of if I use original 29.97FPS framerate or double to 59.94FPS. Would be interested to hear if this build and the same bitstream on/off trick allows you to get some bitstream audio output from your Onkyo.
Reply
#17
Quote:@Boilerplate4U Here is a build which increases the AE threshold variable: https://drive.google.com/file/d/1RGXhpPC...sp=sharing
Thanks, I'll try that tomorrow.

Forgot to ask what you mean by "do you use the timing of the first frame or the last frame" Isn't PTS the same for all channels to be mixed or did you mean in which direction you start counting the offset from?
Reply
#18
Regarding PTS I've been trying to determine where the EAC3 frames should be buffered when SPF is <1536. If we combine EAC3 frames further up the chain (Nearer to FFMPEG/Decode) how do you return the PTS/timing for the group of up to 6 EAC3 frames?

Do you think the EAC3 frames could be buffered here?
https://github.com/xbmc/xbmc/blob/49a04c...AE.cpp#L86
Reply
#19
Hard to tell. I don't have the necessary insight in the code tree at the moment thus I need some more time to further investigate how things (like the AE classes) are meant to be used.

It's a pity the code base so consistently lacks comments that ought to explain how it's supposed to work, especially for a complex environment such as Kodi. The total absence of comments makes me think someone deleted those on purpose! ;-)

I'll see if I can find a tool to create a complete class tree for all the subsystems to get a better picture. Xcode for macOS has simple code analyser, I'll give a try...
Reply
#20
(2021-11-25, 21:15)Krobar Wrote: @Boilerplate4U Here is a build which increases the AE threshold variable:
https://drive.google.com/file/d/1RGXhpPC...sp=sharing

Hi! I've finally managed to get the build environment up and running for both v19.3 and v20 on Win10!

Can you show me what changes you made in the source code? I need this to build a debug version for my HTPC with capabilities for remote debugging. Then I can have a closer look how the output buffers are filled.
Reply
#21
For that build (Did it help on your setup?), I just changed the threshold variable from 100 to 600 here:
https://github.com/xbmc/xbmc/blob/49a04c....cpp#L2367

I have also tried moving the DD+ packet combining from AEBistreamPacker.cpp to DVDAudioCodecPassthrough.cpp but this did not help with that 256SPF file at all. It did seem to make detection of the much more compatible 768SPF file more reliable in my setup though. This 768SPF file is also useful for testing, it works on 99% of receivers as it produces far less blank frames but it is useful to check if the DD+ packet combining still partly works / has not been made worse:
https://drive.google.com/file/d/1yu89SOH...sp=sharing
Reply



Logout Mark Read Team Forum Stats Members Help
DVDAudioCodecPassthrough.cpp - Audio Frames to HDMI Audio Frame/Packet ratio0
This forum uses Lukasz Tkacz MyBB addons.