[hydra-commits] hydra/slice.git branch "master" updated.

Commits to the Hydra project code repositories hydra-commits at lists.digium.com
Fri Aug 13 08:39:41 CDT 2010


branch "master" has been updated
       via  3c1ea7f67316dacd58ba1481a9e54253c3fb51c9 (commit)
      from  386758888cb09f98c5dbd40b50d5f44cfe8088af (commit)

Summary of changes:
 Media/RTP/CMakeLists.txt |    1 +
 Media/RTP/MediaRTPIf.ice |  134 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 135 insertions(+), 0 deletions(-)
 create mode 100644 Media/RTP/CMakeLists.txt
 create mode 100644 Media/RTP/MediaRTPIf.ice


- Log -----------------------------------------------------------------
commit 3c1ea7f67316dacd58ba1481a9e54253c3fb51c9
Author: Joshua Colp <jcolp at digium.com>
Date:   Fri Aug 13 10:55:04 2010 -0300

    Add some basic extended media interfaces specifically for RTP.

diff --git a/Media/RTP/CMakeLists.txt b/Media/RTP/CMakeLists.txt
new file mode 100644
index 0000000..2cd97e7
--- /dev/null
+++ b/Media/RTP/CMakeLists.txt
@@ -0,0 +1 @@
+hydra_compile_slice(MediaRTPIf.ice lib "RTP Media API" Core)
diff --git a/Media/RTP/MediaRTPIf.ice b/Media/RTP/MediaRTPIf.ice
new file mode 100644
index 0000000..5d72f73
--- /dev/null
+++ b/Media/RTP/MediaRTPIf.ice
@@ -0,0 +1,134 @@
+#include "Core/Discovery/ServiceLocatorIf.ice"
+#include "Media/MediaIf.ice"
+
+module Hydra
+{
+
+module Media
+{
+
+module RTP
+{
+
+module V1
+{
+
+	/**
+	 * Extended discovery class for RTP media services.
+	 */
+	class RTPServiceLocatorParams extends Hydra::Core::Discovery::V1::ServiceLocatorParams
+	{
+		/**
+		 * A sequence of formats that the RTP media service is expected to transport.
+		 */
+		Hydra::Media::V1::FormatSeq formats;
+	};
+
+	/**
+	 * Interface to an RTP stream source.
+	 */
+	interface StreamSourceRTP extends Hydra::Media::V1::StreamSource
+	{
+		/**
+		 * Method which retrieves the local listening IP address of this source.
+		 *
+		 * @return string A string representation of the IP address.
+		 */
+		idempotent string getLocalAddress();
+
+		/**
+		 * Method which retrieves the local listening port of this source.
+		 *
+		 * @return int An integer containing the port.
+		 */
+		idempotent int getLocalPort();
+	};
+
+	/**
+	 * Interface to an RTP stream sink.
+	 */
+	interface StreamSinkRTP extends Hydra::Media::V1::StreamSink
+	{
+		/**
+		 * Method which changes the IP address that media will be sent to.
+		 *
+		 * @param address A string representation of the IP address.
+		 */
+		void setRemoteAddress(string address);
+
+		/**
+		 * Method which changes the port that media will be sent to.
+		 *
+		 * @param port An integer containing the port.
+		 */
+		void setRemotePort(int port);
+
+		/**
+		 * Method which retrieves the remote IP address.
+		 *
+		 * @return string A string representation of the IP address.
+		 */
+		idempotent string getRemoteAddress();
+
+		/**
+		 * Method which retrieves the remote port.
+		 *
+		 * @return int An integer containing the port.
+		 */
+		idempotent int getRemotePort();
+	};
+
+	/**
+	 * Interface to an RTCP session.
+	 */
+	interface RTCPSession
+	{
+	};
+
+	/**
+	 * Interface to an RTP media session.
+	 */
+	interface RTPSession extends Hydra::Media::V1::Session
+	{
+		/**
+		 * Method which enables or disables RTCP on the RTP session.
+		 *
+		 * @param enable A boolean value with true meaning RTCP should be used and false meaning it should not.
+		 */
+		void useRTCP(bool enable);
+
+		/**
+		 * Method which retrieves a proxy to an RTCP session.
+		 *
+		 * @return RTCPSession* A proxy to the RTCP session associated with this RTP session.
+		 */
+		RTCPSession* getRTCPSession();
+
+		/**
+		 * Method which releases the RTP session. Once called the RTP session will no longer exist.
+		 */
+		void release();
+	};
+
+	/**
+	 * Interface to an RTP media service.
+	 */
+	interface RTPMediaService
+	{
+		/**
+		 * Method which creates a new RTP session and returns a proxy to it.
+		 *
+		 * @param formats The media formats the session is expected to carry.
+		 *
+		 * @return RTPSession* A proxy to the new RTP session.
+		 */
+		RTPSession* allocate(Hydra::Media::V1::FormatSeq formats);
+	};
+
+}; // end module V1
+
+}; // end module RTP
+
+}; // end module Media
+
+}; // end module Hydra

-----------------------------------------------------------------------


-- 
hydra/slice.git




More information about the asterisk-scf-commits mailing list