> > As I said before, if I set them all to AUX, no input channels on my test
> > file are mixed to output.
> 
> Yes, because the channel numbers are different and gavl doesn't know (yet)
> how to handle them.
> 
> What I thought would make sense is to check if the input format
> has *only* GAVL_CHID_AUX and then initialize the matrix with:
> 
> for(i = 0; i < out_format->num_channels; i++)
>    {
>    for(j = 0; j < in_format->num_channels; j++)
>      {
>      matrix[i][j] = (i == j) ? 1.0 : 0.0;
>      }
>    }
> 
> If I didn't make a mistake, this should cover the cases you describe.

This looks correct to me and looks like the best way of handling a
default configuration.   It is especially useful if you can assign the
mix matrix like you suggested  before.

Where could I start to work on this?  I'm a little blinded by all the
channel_id's .

> > Would it make sense to have a GAVL_CHID_PASS, so that channel input X is
> > mapped to channel output X?
> 
> No, because the channel_ids can be different for input and output.

How does that happen if you don't assign an input or output channel_id?
Why does gavl try to guess this?  It seems weird to me that a normal 8
or 16 channel wav file would have channel_id's.

I guess what is confusing me is all the LEFT, RIGHT, FRONT_CENTER, AUX,
etc. business.  For someone who works with multichannel audio, these
things don't mean anything.  It only means something if you have a home
entertainment system where the direction of the viewer/listener is
assumed to be singular and the speakers are adjusted accordingly.  I
find AUX especially confusing.

Am I correct in assuming that MOST audio editors/writers  will assign
these channel_ids wrong or at least arbitrarily?  I mean, how do you
know if you want a specific channel to be left, right or center unless
it is for a specific speaker configuration? 

Is there anywhere I can read up on this?

And, how does interleaving fit in?  Right now, I am getting segfaults
and can't see exactly where (it is different with different audio
files) 

For my puredata external, where the input can vary, but output format is
fixed  I now have three audio frames:  input, tmp, and output.

The input frame is created for each open file and can vary in all
aspects: channel, samplerate, bitdepth, interleaving, etc.

The output is set once to the desired out format with a fixed number of
chans, samplerate, etc.

The tmp frame is used as an in-between.  How should I set the
interleaving and number of channels on this frame so that I can use it
to translate input to output ?   Should it match the input on
interleaving, but the output in channels?



thanks -august.

------------------------------------------------------------------------------
This SF.Net email is sponsored by the Verizon Developer Community
Take advantage of Verizon's best-in-class app development support
A streamlined, 14 day to market process makes app distribution fast and easy
Join now and get one step closer to millions of Verizon customers
http://p.sf.net/sfu/verizon-dev2dev 
_______________________________________________
Gmerlin-general mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/gmerlin-general

Reply via email to