[mythtv] [mythtv-commits] Ticket #6569: ac3 level is low for 5.1 source

Mark Spieth mark at digivation.com.au
Thu May 6 06:33:09 UTC 2010


> They certainly don't do it every 50-60 frames or so !!
>
> Which is what the current code prevent. It's the only time 2 ->  6 ->  2
> ->  6 won't work
this is an error in decoding AC3 frames. My current ac3 fixup uses the 
CRC checking code and it doesnt happen any more. Ill send you my ac3 
patch directly for review.

>
> Mono to stereo upmix is done during AddSamples
>
>    
with this code mono cant be upmixed to 6ch (old stuff anyway)
> you will have to revert all the last changes then
> Because the previous upmixer, full of switch / case based on the size
> of the samples was just nasty
>    
Sorry, but that's just wrong...
There's more settings provided to the audio card than the number of channels...

AddSamples pushes data to dataflow chain. only when all processing 
elements have done their jobs is it put into the sound buffer. the sound 
buffer is only in native outputchannel format. any other buffering due 
to insufficiency of data is stored in each of the processing elements. 
this is true of freesurround and soundtouch. format conversion is done 
by freesurround if necessary so that anything put into soundtouch is 
already what it should be. on an input #channel change (assuming all 
other params remain the same i.e. rate etc) freesurround would flush its 
input buffer through the processing and append new data appropriately. 
no hiccups.

I put the case statement in to cover exactly these cases in freesurround.

unless the audio system is now pull driven, this archecture and 
consequences will be the same.
> But if you have some knowledge of the code that I don't...
> Feel free to have a crack at it ...
>    
Ill have to get the branch and have a look at things. then I can provide 
better input. hopefully a weekend job.

mark


More information about the mythtv-dev mailing list