use of javax.media.rtp.ReceiveStream in project Smack by igniterealtime.
the class AudioReceiver method update.
/**
* ReceiveStreamListener.
*/
@Override
public synchronized void update(ReceiveStreamEvent evt) {
// could be null.
Participant participant = evt.getParticipant();
// could be null.
ReceiveStream stream = evt.getReceiveStream();
if (evt instanceof RemotePayloadChangeEvent) {
LOGGER.severe(" - Received an RTP PayloadChangeEvent.");
LOGGER.severe("Sorry, cannot handle payload change.");
} else if (evt instanceof NewReceiveStreamEvent) {
try {
stream = evt.getReceiveStream();
DataSource ds = stream.getDataSource();
// Find out the formats.
RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
if (ctl != null) {
LOGGER.severe(" - Received new RTP stream: " + ctl.getFormat());
} else
LOGGER.severe(" - Received new RTP stream");
if (participant == null)
LOGGER.severe(" The sender of this stream had yet to be identified.");
else {
LOGGER.severe(" The stream comes from: " + participant.getCNAME());
}
// create a player by passing datasource to the Media Manager
Player p = javax.media.Manager.createPlayer(ds);
if (p == null)
return;
p.addControllerListener(this);
p.realize();
jingleMediaSession.mediaReceived(participant != null ? participant.getCNAME() : "");
// Notify initialize() that a new stream had arrived.
synchronized (dataSync) {
dataReceived = true;
dataSync.notifyAll();
}
} catch (Exception e) {
LOGGER.severe("NewReceiveStreamEvent exception " + e.getMessage());
return;
}
} else if (evt instanceof StreamMappedEvent) {
if (stream != null && stream.getDataSource() != null) {
DataSource ds = stream.getDataSource();
// Find out the formats.
RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
LOGGER.severe(" - The previously unidentified stream ");
if (ctl != null)
LOGGER.severe(" " + ctl.getFormat());
LOGGER.severe(" had now been identified as sent by: " + participant.getCNAME());
}
} else if (evt instanceof ByeEvent) {
LOGGER.severe(" - Got \"bye\" from: " + participant.getCNAME());
}
}
use of javax.media.rtp.ReceiveStream in project Spark by igniterealtime.
the class VideoReceiver method update.
/**
* ReceiveStreamListener
*/
public synchronized void update(ReceiveStreamEvent evt) {
// could be null.
Participant participant = evt.getParticipant();
// could be null.
ReceiveStream stream = evt.getReceiveStream();
System.out.println(evt);
if (evt instanceof RemotePayloadChangeEvent) {
System.err.println(" - Received an RTP PayloadChangeEvent.");
System.err.println("Sorry, cannot handle payload change.");
// System.exit(0);
} else if (evt instanceof NewReceiveStreamEvent) {
try {
stream = ((NewReceiveStreamEvent) evt).getReceiveStream();
DataSource ds = stream.getDataSource();
System.out.println("DataSource:" + ds);
// Find out the formats.
RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
if (ctl != null) {
System.err.println(" - Recevied new RTP stream: " + ctl.getFormat());
} else
System.err.println(" - Recevied new RTP stream");
if (participant == null)
System.err.println(" The sender of this stream had yet to be identified.");
else {
System.err.println(" The stream comes from: " + participant.getCNAME());
}
// create a player by passing datasource to the Media Manager
Player p = javax.media.Manager.createPlayer(ds);
if (p == null)
return;
p.addControllerListener(this);
p.realize();
// Notify intialize() that a new stream had arrived.
synchronized (dataSync) {
dataReceived = true;
dataSync.notifyAll();
}
System.out.println("Start2");
} catch (Exception e) {
System.err.println("NewReceiveStreamEvent exception " + e.getMessage());
return;
}
} else if (evt instanceof StreamMappedEvent) {
if (stream != null && stream.getDataSource() != null) {
DataSource ds = stream.getDataSource();
// Find out the formats.
RTPControl ctl = (RTPControl) ds.getControl("javax.jmf.rtp.RTPControl");
System.err.println(" - The previously unidentified stream ");
if (ctl != null)
System.err.println(" " + ctl.getFormat());
System.err.println(" had now been identified as sent by: " + participant.getCNAME());
}
} else if (evt instanceof ByeEvent) {
System.err.println(" - Got \"bye\" from: " + participant.getCNAME());
}
}
Aggregations