Provides a basic set of devices which implement cnrg.itx.datax.Source and cnrg.itx.datax.Destination. The devices are meant to provide a basic coverage of input and output sources. We provide input devices to cover writing to the sound card (SpeakerDestination and MicrophoneSource), devices to write utilize the network (NetworkSource and NetworkDestination), and general purpose devices to work on Streams (StreamSource and StreamDestination).

Data transfer over the Internet is done by using the NetworkDestination and NetworkSource. Internet traffic can be unpredictable, packets can be dealayed, lost and reordered. To take care of all this, the network layer of datax provides two features:

  1. Forward Error Correction: Redundant data is sent with each network packet. This combat's packet loss and reorders.
  2. Real Time Protocol: This is used to convey to the remote destination information about the sample's origin time and allows it to correct any packet reorders. This also allows the destination to buffer samples appropriately to remove any jitter due to network delays.

There are two kinds of devices used in the datax package:

  1. Sources: They provide data to the channels.
  2. Destinations: They sink data from the channel.

Any device can be written for the data transfer layer as long as they implement the Source or the Destination interface.