#firewire #deserialize #command #serialization

ta1394-avc-audio

1394贸易协会定义的音频子单元AV/C命令的纯Rust实现

2个不稳定版本

0.2.0 2023年4月18日
0.1.0 2022年7月29日

#916 in 硬件支持


2 crates 中使用

MIT 许可证

115KB
2.5K SLoC

该包包含1394贸易协会(1394 TA)定义的协议部分的Rust元素。

协议文档

该协议在以下文档中进行了说明

  • AV/C音频子单元规范1.0(2000年10月24日,1394贸易协会,TA文档1999008)
  • 音频和音乐数据传输协议2.3(2012年4月24日,1394贸易协会,文档2009013)

1394 TA成立于1994年,并于2015年决定关闭其官方运营。截至2021年,它已解散,并在年底关闭了网址为http://1394ta.org的网站。

当使用足够的缓存日期寻找网址http://1394ta.org/specifications/时,该文档本身可在互联网档案馆服务中找到。

用法

将以下行添加到您的Cargo.toml文件中

[dependencies]
ta1394-avc-audio = "0.2"

该包由两部分组成;一些AV/C命令和A/M数据包的FDF格式。

AV/C命令

一些文档化的AV/C命令可用

  • AudioSelector(条款“10.2选择器功能块”)
  • AudioFeature(条款“10.3特征功能块”)
  • AudioProcessing(条款“10.4处理功能块”)

应将这些命令提供给ta1394-avc-general包中提供的Ta1394Avc trait实现以执行AV/C操作。

FDF格式

提供了AmdtpFdf结构来构建和解析音频和音乐数据传输协议的一些事件的&[u8]。

许可证

该包在MIT许可证下发布。

支持

如果发现问题,请在https://github.com/alsa-project/snd-firewire-ctl-services/中提交。

贡献

如果打算进行代码贡献,我希望用户和开发者在工作之前注意一些问题。

众所周知,由多家厂商推动的协会倾向于出于多种原因发布过度设计的规范和文档;例如,商业或市场的竞争。当代码库越来越大时,包含错误的风险呈指数增长。仅仅为了满足所有规范和文档并不适合您的工作。

关键是新代码确实有实际需求。例如,该软件包包括一些AV/C命令以满足snd-firewire-ctl-services项目的需求。最好您有实际的应用在使用新代码。

依赖项