[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