Expand description
The crate includes Rust elements for the part of protocol defined by 1394 Trading Association (1394 TA).
§Protocol documentation
The protocol is documented in:
- AV/C Audio Subunit Specification 1.0 (Oct. 24, 2000, 1394 Trading Association, TA Document 1999008)
- Audio and Music Data Transmission Protocol 2.3 (Apr. 24, 2012, 1394 Trading Association, Document 2009013)
1394 TA was formed 1994 and decided to close its official operation 2015. As of 2021, it has been
dissolved and close its web site under URL http://1394ta.org in the end of year.
The document is itself available at Internet Archive service when seeking
URL http://1394ta.org/specifications/ with enough care of cached date.
§Usage
Add the following line to your Cargo.toml file:
[dependencies]
ta1394-avc-audio = "0.2"The crate consists of two parts; some AV/C commands and FDF format of A/M packet.
§AV/C commands
Some documented AV/C commands are available:
AudioSelector(clause “10.2 Selector function block”)AudioFeature(clause “10.3 Feature function block”)AudioProcessing(clause “10.4 Processing function block”)
The commands should be given to implementation of Ta1394Avc trait provided in
ta1394-avc-general crate to perform AV/C operation.
§FDF format
The AmdtpFdf structure is provided to build and parse &u8 for some events of Audio and Music
Data Transmission protocol.
§License
The crate is released under MIT license.
§Support
If finding issue, please file it in https://github.com/alsa-project/snd-firewire-ctl-services/.
§Contribution
If intending for code contribution, I would like the user and developer to take care of some points before working.
It’s well-known that the association promoted by several vendors tends to publishes specifications and documentations with over-engineering for several reasons; e.g. rat race in business or market. Beside the risk to include bug is exponentially increased when the code base is larger and larger. It’s not preferable for your work just to fulfill whole the specifications and documentations.
The point is that there is actual requirement for the new code. For example, the crate includes some AV/C commands to satisfy requirement of snd-firewire-ctl-services project. It’s preferable for you to have actual application using the new code.
Modules§
- amdtp
- Encoder and decoder of FDF field in Audio and Music Data Transmission Protocol.
Structs§
- Audio
Feature - AV/C Audio Subunit FUNCTION_BLOCK command for Feature function block
- Audio
Processing - AV/C Audio Subunit FUNCTION_BLOCK command for processing function block
- Audio
Selector - AV/C Audio Subunit FUNCTION_BLOCK command for Selector function block
- Bass
Data - Parameters for bass control.
- Delay
Data - Parameters for delay.
- FrBalance
Data - Parameters for Front-to-Rear balance.
- Graphic
Equalizer Data - Parameters for graphic equalizer.
- LrBalance
Data - Parameters for Left-to-Right balance.
- MidData
- Parameters for mid control.
- Treble
Data - Parameters for treble control.
- Volume
Data - Parameters for volume.
Enums§
- AudioCh
- For the value of audio_channel_number field described in clause “10.3 Feature function block”.
- CtlAttr
- For attributes of control (clause “4.8 Control Attributes”).
- Feature
Ctl - The type of Feature Control.
- Processing
Ctl - The type of processing control.
Constants§
- AUDIO_
SUBUNIT_ 0_ ADDR - The AV/C address of first music subunit for convenience.