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.
BufferQueueTest Class to test the buffer queue.
DummyDestination Class for creating a placeholder Destination when we use Channels with no real Destination, but do have a destination for data.
DummySource Class for creating a placeholder Source when we use Channels with no real Source, but do have a source of data
FECBuffer Class to implement the forward error correction mechanism.
FECBufferTest Client to test the FEC buffer implementation.
JABQueue Queue structure that is optimized to store JAudioBlocks.
JMicrophoneSource  
JSpeakerDestination  
MicrophoneSource This class encapsulates the workings of the Microphone.
NetworkDestination Class to act as a channel endpoint.
NetworkProperty Class to implement the properties of a network device.
NetworkSource Class to implement the network source.
RTPHeader Class defining the RFC 1889 implementation of an RTP header.
RTPPacket Class to represent an RTP packet.
RTPPacketFactory Class for implementing the factory that creates RTP packets for sending over the network.
RTPTest Class to test the RTP packet generation.
SampleNode Class to implement the sample node for the buffer queue.
SpeakerDestination Class to play output to the computer speaker.
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.