diff --git a/src/net/java/sip/communicator/service/neomedia/MediaService.java b/src/net/java/sip/communicator/service/neomedia/MediaService.java index b1e2a8e63..78efbaa0c 100644 --- a/src/net/java/sip/communicator/service/neomedia/MediaService.java +++ b/src/net/java/sip/communicator/service/neomedia/MediaService.java @@ -35,7 +35,8 @@ public interface MediaService * Returns a list containing all devices known to this service * implementation and handling the specified MediaType. * - * @param mediaType the media type that + * @param mediaType the media type (i.e. AUDIO or VIDEO) that we'd like + * to obtain the device list for. * * @return the list of MediaDevices currently known to handle the * specified mediaType. @@ -45,10 +46,13 @@ public interface MediaService /** * Creates a MediaStream that will be using the specified * MediaDevice for both capture and playback of media exchanged + * via the specified connector. * - * @return + * @param the connector that the stream should use for sending and receiving + * media. + * + * @return the newly created MediaStream. */ - public MediaStream createMediaStream(); - - + public MediaStream createMediaStream(StreamConnector connector, + MediaDevice device); } diff --git a/src/net/java/sip/communicator/service/neomedia/MediaStream.java b/src/net/java/sip/communicator/service/neomedia/MediaStream.java index dfb3f87a0..26bcaab67 100644 --- a/src/net/java/sip/communicator/service/neomedia/MediaStream.java +++ b/src/net/java/sip/communicator/service/neomedia/MediaStream.java @@ -6,6 +6,11 @@ */ package net.java.sip.communicator.service.neomedia; +import java.net.*; + +import net.java.sip.communicator.service.neomedia.device.*; +import net.java.sip.communicator.service.neomedia.format.*; + /** * The MediaStream class represents a (generally) bidirectional RTP * stream between exactly two parties. The class reflects one media stream, in @@ -52,4 +57,107 @@ public interface MediaStream */ public static final String DISABLE_VIDEO_SUPPORT_PROPERTY_NAME = "net.java.sip.communicator.service.media.DISABLE_VIDEO_SUPPORT"; + + /** + * Starts capturing media from this stream's MediaDevice and then + * streaming it through the local StreamConnector toward the + * stream's target address and port. The method also puts the + * MediaStream in a listening state that would make it play all + * media received from the StreamConnector on the stream's + * MediaDevice. + */ + public void start(); + + /** + * Stops all streaming and capturing in this MediaStream and closes + * and releases all open/allocated devices/resources. This method has no + * effect on an already closed stream and is simply ignored. + */ + public void stop(); + + /** + * Sets the MediaFormat that this MediaStream should be + * transmitting in. + * + * @param fmt the MediaFormat that this MediaStream should + * be transmitting in. + */ + public void setFormat(MediaFormat fmt); + + /** + * Returns the MediaFormat that this stream is currently + * transmitting in. + * + * @return the MediaFormat that this stream is currently + * transmitting in. + */ + public MediaFormat getFormat(); + + public void setDevice(MediaDevice device); + + public MediaDevice getDevice(); + + public String getRemoteSourceID(); + + public String getLocalSourceID(); + + public InetSocketAddress getRemoteControlAddress(); + + public InetSocketAddress getRemoteDataAddress(); } + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +