[prev in list] [next in list] [prev in thread] [next in thread] 

List:       linux-audio-dev
Subject:    Re: [LAD] (no subject)
From:       Mathieu Dalexis <dev.audioaero () orange ! fr>
Date:       2008-02-11 18:24:45
Message-ID: 32926588.466701202754285740.JavaMail.www () wwinf1603
[Download RAW message or body]

The PCI card I'm working with was made to receive the signal as a 32 bits frame (16 \
bits by channels) each time I write to the file device so I have to turn the \
src_data.data_out frames (2 floats) into a unique 32bit unsigned long and write it:

1) "unsigned long frame;" : I declare an unsigned long that will receive the entire \
frame.

2) "frame = (unsigned long) ((src_data.data_out[sent]))>>16;" : I convert the float \
at the index equal to sent and initialise the frame with it. So my frame look like \
this 0000000000000000XXXXXXXXXXXXXXXX Where Xs represent one channel signal.  
3) "frame |= (((unsigned long) (src_data.data_out[sent+1])) & 0xFFFF0000);" Apply a \
mask to the 16 first low bits of the data_out float value and aplly a OR between it \
and frame. It should look like this :   
      yyyyyyyyyyyyyyyy0000000000000000 | 0000000000000000XXXXXXXXXXXXXXXX = \
YYYYYYYYYYYYYYYYXXXXXXXXXXXX 

Where Ys is the other channel signal.

Is it clear enough,I hope so :)

I have to emphasize that this stuff seems to work because when I send the \
src_data.data_in frames buffer this way, the signal is perfect.

> Message du 11/02/08 14:12
> De : "Erik de Castro Lopo" <mle+la@mega-nerd.com>
> A : linux-audio-dev@lists.linuxaudio.org
> Copie à : "Mathieu Dalexis" <dev.audioaero@orange.fr>
> Objet : Re: [LAD] (no subject)
> 
> Mathieu Dalexis wrote:
> 
> > unsigned long frame;
> > frame = (unsigned long) ((src_data.data_out[sent]))>>16;
> > frame |= (((unsigned long) (src_data.data_out[sent+1])) & 0xFFFF0000);
> 
> Sorry, but what is all this stuff?
> 
> Erik
> -- 
> -----------------------------------------------------------------
> Erik de Castro Lopo
> -----------------------------------------------------------------
> "Projects promoting programming in natural language are intrinsically
> doomed to fail." -- Edsger Dijkstra
> ---------------------------------------------------------------------------------------
>  Orange vous informe que cet  e-mail a ete controle par l'anti-virus mail. 
> Aucun virus connu a ce jour par nos services n'a ete detecte.
> 
> 
> 

_______________________________________________
Linux-audio-dev mailing list
Linux-audio-dev@lists.linuxaudio.org
http://lists.linuxaudio.org/mailman/listinfo/linux-audio-dev


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic