2012-02-12, 20:30
DanielaE Wrote:Do you happen to have a branch on GitHub or elsewhere with your additions for others like me to learn from?
I am on github at https://github.com/DDDamian but it's just AE code there now - I'll create a branch to push this build to today or tomorrow.
I had a look at implementing the event-driven code in your build but so much has been structurally changed in the AE API that it's probably not worth doing especially as what you've done seems stable enough to not waste time re-doing - certainly runs great on my rig and several others who've done testing. Much of the code in the various output sinks has been moved up a layer to keep whatever's possible platform-agnostic. A good side-effect of that is keeping GUI sounds possible even though one sets Exclusive mode as the preferred WASAPI method. The streams are mixed at a higher-level so the sink just see's it as one stream. I usually turn them off as I don't want cute sounds at 110db lol but many do like them on, and that's possible with the AE implementation.
Another thing implemented in AE is the 24bit flac output which is nice for more audio-oriented peeps like me Haven't looked in Eden at whether 24-bit data is simply truncated or properly dithered, but I know in AE dithering has been added on any down-sampling which makes a big improvement in distortion.
Your work on the audio-packet durations during muxing is something that needs to get pushed upstream to AE as the biggest single issue with that code right now is with the DVDPlayer implementation losing sync and re-initializing, which shows as discontinuities in the output.
I think you've done a fantastic job in making the hi-def formats playable in XBMC with a minimum of code changes to the current master. The downside is going to be the platform-specific nature of it. But getting your changes to the ffmpeg code and DVDPlayer codec parsing/muxing into AE will fix issues there on an all-platform basis. That alone is a huge contribution, and would undoubtably help in getting it into the master branch.
I've let gnif know of some of what you've accomplished here and where there's improvements which would benefit AE and aren't currently part of it, notably those in the paragraph above.
The devs have previously noted that it either goes in for all platforms or doesn't go in at all, so getting the benefits of your work into AE (and it's an area of AE that does need work) would be the best way to get this into master for Frodo and perhaps before via nightlies.