当前位置:  技术问答>linux和unix

ac97 audio driver同時讀寫問題.

    来源: 互联网  发布时间:2016-05-06

    本文导语:  最近在一個開發版上測試voip的程式, 但發現該開發版的audio driver(OSS)並沒有同時讀寫的功能 ,是否有誰能給個指引,同時讀寫是否代表著,read時禁止write,而write時禁止read呢 我用過semaphores處理過,不過結果還是不行 ...

最近在一個開發版上測試voip的程式,
但發現該開發版的audio driver(OSS)並沒有同時讀寫的功能
,是否有誰能給個指引,同時讀寫是否代表著,read時禁止write,而write時禁止read呢
我用過semaphores處理過,不過結果還是不行

|
使用的同一个中断号的原因啊,那它上面這樣的作法也不行囉
===============================================================
可以做到,你要贴出play_interrupt();与record_interrupt();的代码
据猜测,完全可以在各自的中断处理函数中检测自己的状态来确定是否处理中断,这样就可以做到了。


实在想不出在只有一个DMA中断的情况下如何支持全双工,你想要支持全双工的话,看一下芯片资料,看能否使用两个DMA通道来实现,否则就白搭。。。。。。

|
 if((retval = request_irq(IRQ_ACTL, wb_dsp_irq, SA_INTERRUPT, "wb audio", NULL))){
        printk("wb_audio_init : Request IRQ errorn");
        goto quit;
    }
 if(audio_dev.play_buf_addr == NULL){
        free_irq(IRQ_ACTL, NULL);
        MSG("Not enough memoryn");
        return -ENOMEM;
    }

    audio_dev.record_buf_addr = dma_alloc_coherent(NULL, 128*1024, (dma_addr_t *)&phaddrrecord, GFP_KERNEL);
    if(audio_dev.record_buf_addr == NULL){
        free_pages(audio_dev.play_buf_addr, AUDIO_BUFFER_ORDER);
        free_irq(IRQ_ACTL, NULL);
        MSG("Not enough memoryn");
        return -ENOMEM;
    }
===============================================================================================
从这儿可看出,不能实现全双工


|
你的OSS只所以不是双工的,是因为你的OSS驱动中人为地设置了一个独占标志,其原因是其中的DMA传输部分有一个BUG,那些人不去找BUG的原因,却简单项地做了一个读写限制,我原来就遇到这个问题,不晓得你们是不是类似的问题

|
OSS框架音频驱动读写和控制是分开的,读写在dsp部分实现,控制在Mixer这边,具体看你的芯片相关的。

    
 
 
 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • HTML5 <audio> 标签-在html中定义声音的标签
  • Audio.js
  • HTML <audio> 标签
  • BonkEnc Audio Encoder
  • 音频转码工具 Transcoder Audio Edition
  • iOS 的 Canvas 和 Audio 实现 Ejecta
  • 没有/dev/audio文件,什么原因???
  • Audio File Library
  • 请问Linux下有没有类似audio compression manager的东东,急,急,急!!!
  • 音频编码器 CELT audio codec
  • Android audio recod?
  • WS Audio Player
  • C-Media Audio8338声卡问题
  • linux fedora14 /dev/audio 和 /dev/dsp 这两个文件都没有


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    javascript开源软件 iis7站长之家