/*
* @(#)RTPSocket.java 1.6 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media.rtp;
import java.io.IOException;
/**
* A programmer may abstract the underlying transport mechanism for
* RTP control and data from the RTPSM. This is done via the RTPSocket
* object. A RTPSocket datasource must be created and handed over to
* Manager. The Manager will take care of creating a player for the content
* type defined for this datasource. When hiding the underlying
* transport protocol from the RTPSessionManager, the user is
* responsible for streaming control and data to and from this
* RTPSocket.
* Basically, every RTPSocket is a JMF compliant datasource and is used
* for streaming the data channel of an RTP session to the RTPSM.
* Specifically, the RTPSocket is an instance of an RTPPushDataSource. It
* also has a control counterpart RTPPushDataSource which is accessed via
* methods of the DataChannel interface. Connecting, disconnecting,
* starting and stopping the RTPSocket will take care of calling these
* methods on the control RTPPushDataSource as well.The programmer will
* still need to set the source and destination streams for
* the data and control source.
*
* @deprecated This inferface has been replaced with the RTPConnector interface.
*
* @see RTPPushDataSource
* @see DataChannel
*/
public class RTPSocket extends RTPPushDataSource implements DataChannel{
RTPPushDataSource controlsource = null;
public RTPSocket(){
controlsource = new RTPPushDataSource();
}
public RTPPushDataSource getControlChannel(){
return controlsource;
}
/**
* Set your content type as well as content type of the control
* source
*/
public void setContentType(String contentType){
super.setContentType(contentType);
controlsource.setContentType(contentType);
}
/**
* connect yourself and the control source
*/
public void connect() throws IOException{
super.connect();
controlsource.connect();
}
/**
* disconnect yourself and the control source
*/
public void disconnect(){
super.disconnect();
controlsource.disconnect();
}
/**
* Start yourself and the control source
*/
public void start() throws IOException{
super.start();
controlsource.start();
}
/**
* Stop yourself and the control source
*/
public void stop() throws IOException{
super.stop();
controlsource.stop();
}
}
|