RE: Using /dev/dsp to record and playback simultaneously

2008-12-04 Thread Venkatachala Upadhya
Hello Phil,

Thanks for your input. I will let you know if I can not find your earlier 
posting.

I have wrote a sample application to open the "/dev/dsp" in a non blocking 
operation and wrote the data and read the data sample of about 128 bytes 
alternatively in a loop to test this scenario. So there was no 'ticking' but 
read and write in an alternate fashion.

With best regards,
Venkat.
--


From: [EMAIL PROTECTED] [EMAIL PROTECTED] On Behalf Of Phil Quiney [EMAIL 
PROTECTED]
Sent: Tuesday, December 02, 2008 9:25 PM
To: Venkatachala Upadhya
Cc: davinci-linux-open-source@linux.davincidsp.com
Subject: Re: Using /dev/dsp to record and playback simultaneously

Hi,

The audio driver on the DM6446 is capable of full duplex operation. The
only issue really is that it is stereo only regardless of the ioctl that
sets the number of channels.

If you search the Davinci mail list you should find some simple test
programs that I posted a while back that can be used to demonstrate the
audio capability. If you can't find them then let me know and I will see
if I can dig them out again.

The 'garbled' voice could be a symptom of under/overrunning, that is
your application has not written enough data in one go to keep the
output buffer full of enough data till the next write. Similarly on the
read, if you do not empty the input buffer it will fill up and then drop
input.

You did not describe how your application 'ticks' to perform the
non-blocking operation...you can use SIGALRM to interrupt a select for
example (or 'nanosleep' in a loop). You can use the ioctl to check for
samples before the read and similarly the output space ioctl before the
write. This will prevent the read or write blocking as you simply skip
the read or write if no data or space for data is present.

Regards

Phil Q


Venkatachala Upadhya wrote:

>Hello all,
>
>I am using DM6446 EVM board. Using DVSDK 1.20.00.10 version. Running gstreamer 
>on the board. I am trying to use the device "/dev/dsp" for both recoding and 
>playback simultaneously.  I am un-able to do so after setting the device to 
>full-duplex mode using the ioctl call "ioctl(soundFd, SNDCTL_DSP_SETDUPLEX );"
>
>If I use the device in non-blocking mode for recording and playback I am 
>getting the voicce as garbled. Is "recording and playback simultaneously" 
>possible?
>Can any one share the experience?
>
>With best regards,
>Venkat.
>--
>
>This message (including attachment if any) is confidential and may be 
>privileged. If you have received this message by mistake please notify the 
>sender by return e-mail and delete this message from your system. Any 
>unauthorized use or dissemination of this message in whole or in part is 
>strictly prohibited. E-mail may contain viruses. Before opening attachments 
>please check them for viruses and defects. While MindTree Limited (MindTree) 
>has put in place checks to minimize the risks, MindTree will not be 
>responsible for any viruses or defects or any forwarded attachments emanating 
>either from within MindTree or outside.
>
>Please note that e-mails are susceptible to change and MindTree shall not be 
>liable for any improper, untimely or incomplete transmission.
>
>MindTree reserves the right to monitor and review the content of all messages 
>sent to or from MindTree e-mail address. Messages sent to or from this e-mail 
>address may be stored on the MindTree e-mail system or else where.
>
>___
>Davinci-linux-open-source mailing list
>Davinci-linux-open-source@linux.davincidsp.com
>http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source
>
>
>


___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

This message (including attachment if any) is confidential and may be 
privileged. If you have received this message by mistake please notify the 
sender by return e-mail and delete this message from your system. Any 
unauthorized use or dissemination of this message in whole or in part is 
strictly prohibited. E-mail may contain viruses. Before opening attachments 
please check them for viruses and defects. While MindTree Limited (MindTree) 
has put in place checks to minimize the risks, MindTree will not be responsible 
for any viruses or defects or any forwarded attachments emanating either from 
within MindTree or outside.

Please note that e-mails are susceptible to change and MindTree shall not be 
liable for any improper, untimely or incomplete transmission.

MindTree reserves the right to monitor and review the content of all messages 
sent to or from MindTree e-mail address. Messag

Re: Using /dev/dsp to record and playback simultaneously

2008-12-02 Thread Phil Quiney

Hi,

The audio driver on the DM6446 is capable of full duplex operation. The 
only issue really is that it is stereo only regardless of the ioctl that 
sets the number of channels.


If you search the Davinci mail list you should find some simple test 
programs that I posted a while back that can be used to demonstrate the 
audio capability. If you can't find them then let me know and I will see 
if I can dig them out again.


The 'garbled' voice could be a symptom of under/overrunning, that is 
your application has not written enough data in one go to keep the 
output buffer full of enough data till the next write. Similarly on the 
read, if you do not empty the input buffer it will fill up and then drop 
input.


You did not describe how your application 'ticks' to perform the 
non-blocking operation...you can use SIGALRM to interrupt a select for 
example (or 'nanosleep' in a loop). You can use the ioctl to check for 
samples before the read and similarly the output space ioctl before the 
write. This will prevent the read or write blocking as you simply skip 
the read or write if no data or space for data is present.


Regards

Phil Q


Venkatachala Upadhya wrote:


Hello all,

I am using DM6446 EVM board. Using DVSDK 1.20.00.10 version. Running gstreamer on the board. I am 
trying to use the device "/dev/dsp" for both recoding and playback simultaneously.  I am 
un-able to do so after setting the device to full-duplex mode using the ioctl call 
"ioctl(soundFd, SNDCTL_DSP_SETDUPLEX );"

If I use the device in non-blocking mode for recording and playback I am getting the 
voicce as garbled. Is "recording and playback simultaneously" possible?
Can any one share the experience?

With best regards,
Venkat.
--

This message (including attachment if any) is confidential and may be 
privileged. If you have received this message by mistake please notify the 
sender by return e-mail and delete this message from your system. Any 
unauthorized use or dissemination of this message in whole or in part is 
strictly prohibited. E-mail may contain viruses. Before opening attachments 
please check them for viruses and defects. While MindTree Limited (MindTree) 
has put in place checks to minimize the risks, MindTree will not be responsible 
for any viruses or defects or any forwarded attachments emanating either from 
within MindTree or outside.

Please note that e-mails are susceptible to change and MindTree shall not be 
liable for any improper, untimely or incomplete transmission.

MindTree reserves the right to monitor and review the content of all messages 
sent to or from MindTree e-mail address. Messages sent to or from this e-mail 
address may be stored on the MindTree e-mail system or else where.

___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

 




___
Davinci-linux-open-source mailing list
Davinci-linux-open-source@linux.davincidsp.com
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source