Package cnrg.itx.datax.devices

Provides a basic set of devices which implement cnrg.itx.datax.Source and cnrg.itx.datax.Destination.

See:
          Description

Class Summary
AudioProperty Class that models the properties of an audio device.
BufferQueue This class will implement a buffered queue for reordering incoming RTP Packetes.
MicrophoneSource This class encapsulates the workings of the Microphone.
MicrophoneTest  
NetworkClient This class tests audio streaming over the network.
NetworkDestination Class to act as a channel endpoint.
NetworkProperty Class to implement the properties of a network device.
NetworkServer This class tests audio streaming over the network.
NetworkSource Class to implement the network source.
SpeakerDestination Class to play output to the computer speaker.
SpeakerTest Class to excersize the Speaker Destination code.
StreamDestination Class to define a stream of data.
StreamSource Class implementing a stream source.
 

Package cnrg.itx.datax.devices Description

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.