5.分析调用过程

本文通过编译新版strace工具,详细分析了aplay和amixer在操作声卡时对/dev/snd设备节点的调用过程,包括控制节点(controlC0)和播放节点(pcmC0D0p)的file_operations结构体,以及涉及的ioctl调用,如SNDRV_CTL_IOCTL_PCM_PREFER_SUBDEVICE等。通过对调用链的深入解析,揭示了声卡驱动的工作原理。
摘要由CSDN通过智能技术生成

目录

1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程

需要建立相关的设备节点

2、调用分析(aplay.log)(搜索设备节点“/dev/snd”)

1. /dev/snd/controlC0(控制节点)对应的file_operations是snd_ctl_f_ops

2. /dev/snd/pcmC0D0p (播放节点)对应的file_operations是snd_pcm_f_ops[0]

3、file_operation结构体

4、调用分析


 

 

1、编译新的strace工具分析aplay和amixer应用程序对声卡的调用过程

(1)因为旧的strace工具不能识别alsa声卡驱动程序里面的ioctrl.

(2)编译过程参考http://blog.csdn.net/qingkongyeyue/article/details/52228729  

(3)出现错误

需要建立相关的设备节点

播放声音和调整音量

(4)等待音频播放完,能得到一个完整的log,把log文件拷贝回windows下进行分析

 

2、调用分析(aplay.log)(搜索设备节点“/dev/snd”)

strace分析: aplay Windows.wav

应用程序打开一个设备 节点的时候,肯定要找到他的file_operation结构体

1. /dev/snd/controlC0(控制节点)对应的file_operations是snd_ctl_f_ops

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值