[asterisk-scf-commits] asterisk-scf/integration/slice.git branch "initial_file_media_service" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Thu Nov 10 09:25:27 CST 2011
branch "initial_file_media_service" has been updated
via 46af0e69c824bdd354740441115a7b93d98b926c (commit)
via 2420b97c4fb42c680d6453a8eb9f82cb10fe47f1 (commit)
via 0744f4f9818cc37be9103a7b839fa32bc0547df1 (commit)
from 93bf568eda6169dafafeb1da97e6ad230f54596d (commit)
Summary of changes:
slice/AsteriskSCF/Media/File/FileMediaIf.ice | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
- Log -----------------------------------------------------------------
commit 46af0e69c824bdd354740441115a7b93d98b926c
Merge: 2420b97 93bf568
Author: Brent Eagles <beagles at digium.com>
Date: Thu Nov 10 11:55:07 2011 -0330
Fix Conflicts:
slice/AsteriskSCF/Media/File/FileMediaIf.ice
commit 2420b97c4fb42c680d6453a8eb9f82cb10fe47f1
Author: Brent Eagles <beagles at digium.com>
Date: Thu Nov 10 11:53:22 2011 -0330
Use a more appropriate string for component constant.
diff --git a/slice/AsteriskSCF/Media/File/FileMediaIf.ice b/slice/AsteriskSCF/Media/File/FileMediaIf.ice
index 24e695d..f833ce5 100644
--- a/slice/AsteriskSCF/Media/File/FileMediaIf.ice
+++ b/slice/AsteriskSCF/Media/File/FileMediaIf.ice
@@ -26,7 +26,7 @@ module File
module V1
{
-const string ComponentCategory = "FileMediaService";
+const string ComponentCategory = "FileMediaComponent";
const string DiscoveryCategory = "FileMediaService";
/**
commit 0744f4f9818cc37be9103a7b839fa32bc0547df1
Author: Brent Eagles <beagles at digium.com>
Date: Mon Sep 26 12:24:40 2011 -0230
Moving this slice from the media service repo.
diff --git a/slice/AsteriskSCF/Media/File/FileMediaIf.ice b/slice/AsteriskSCF/Media/File/FileMediaIf.ice
new file mode 100644
index 0000000..24e695d
--- /dev/null
+++ b/slice/AsteriskSCF/Media/File/FileMediaIf.ice
@@ -0,0 +1,201 @@
+/*
+ * Asterisk SCF -- An open-source communications framework.
+ *
+ * Copyright (C) 2011, Digium, Inc.
+ *
+ * See http://www.asterisk.org for more information about
+ * the Asterisk SCF project. Please do not directly contact
+ * any of the maintainers of this project for assistance;
+ * the project provides a web site, mailing lists and IRC
+ * channels for your use.
+ *
+ * This program is free software, distributed under the terms of
+ * the GNU General Public License Version 2. See the LICENSE.txt file
+ * at the top of the source tree.
+ */
+
+#pragma once
+#include <AsteriskSCF/Media/MediaIf.ice>
+
+module AsteriskSCF
+{
+module Media
+{
+module File
+{
+module V1
+{
+
+const string ComponentCategory = "FileMediaService";
+const string DiscoveryCategory = "FileMediaService";
+
+/**
+ *
+ * Supported operations.
+ *
+ **/
+enum FileOperations
+{
+ Playback,
+ Recording,
+ Both
+};
+
+/**
+ *
+ * Specifications for required file media specification.
+ *
+ **/
+struct FileMediaSpecification
+{
+ /**
+ *
+ * A sequence of formats that the File Media Service is expected to accept or produce. This is not used in the
+ * same manner as RTP when the media session is allocated. A file media session creates a source or sink for
+ * each format specified.
+ *
+ **/
+ AsteriskSCF::Media::V1::FormatSeq formats;
+
+ /**
+ *
+ * The supported file operations.
+ *
+ */
+ FileOperations supportedOperations;
+
+ /**
+ *
+ * Media catalogue identifier. Most relevant to services providing playback. May simply be a filename.
+ *
+ **/
+ string catalogID;
+};
+
+/**
+ *
+ * The service discovery parameters used for locating file media sessions that support particular
+ * options.
+ *
+ **/
+unsliceable class FileMediaServiceLocator extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+{
+ FileMediaSpecification mediaSpecification;
+};
+/**
+ *
+ * Indicates that the specified file operation is not supported.
+ *
+ **/
+exception FileOperationNotAvailable
+{
+ string message;
+};
+
+/**
+ *
+ * Indicates that the file based session could not be allocated with the provided path.
+ *
+ **/
+exception PathNotAvailable
+{
+ string message;
+};
+
+/**
+ *
+ * Thrown if the specified catalog Id is not available.
+ *
+ **/
+exception UnknownCatalogID
+{
+ string catalogID;
+};
+
+/**
+ *
+ * The requested file session could not be allocated due to a resource being unavailable.
+ * The message data member contains a description of the error. These exceptions may be
+ * thrown if the backing file is unavailable for some reason
+ * (e.g. sharing violation, unavailable disk drive).
+ *
+ **/
+exception ResourceUnavailable
+{
+ string message;
+};
+
+/**
+ *
+ * A file media session that includes an accessor for a specification that should be somewhat
+ * related to the specification that was used to allocate it. It also defines a control interface
+ * for media consumption (in the case of recording) or playback.
+ *
+ **/
+interface FileSession extends AsteriskSCF::Media::V1::Session
+{
+ /**
+ *
+ * Obtain the specification for the file that backs this session.
+ *
+ */
+ FileMediaSpecification getInfo();
+
+ /**
+ * Start recording or playback on the Media Session's sinks and/or sources.
+ */
+ void start();
+
+ /**
+ * Temporarily halt recording or playback.
+ **/
+ void pause();
+
+ /**
+ * Resume recording and/or playback, starting at the point where pause() was called.
+ */
+ void unpause();
+
+ /**
+ * Restart recording and/or playback at the beginning. If recording, previously
+ * recorded data should be abandoned.
+ */
+ void restart();
+
+ /**
+ * Halt recording and/or playback, destroy the object and release any resources
+ * held on behalf of this object
+ */
+ void release();
+};
+
+/**
+ *
+ * The FileMediaService provides allocation services for File based media sessions.
+ *
+ **/
+interface FileMediaService
+{
+ /**
+ *
+ * Instantiate a file based session supporting the provided parameters.
+ *
+ **/
+ FileSession* create(FileMediaSpecification parameters) throws FileOperationNotAvailable, UnknownCatalogID,
+ ResourceUnavailable;
+
+ /**
+ *
+ * Instantiate a file based session supporting the provided parameters, backed with a file residing at the
+ * specified file.
+ *
+ **/
+ FileSession* createWithPath(string path, FileMediaSpecification parameters)
+ throws FileOperationNotAvailable, UnknownCatalogID, PathNotAvailable, ResourceUnavailable;
+
+};
+
+}; /* end of module V1 */
+}; /* end of module File */
+}; /* end of module Media */
+}; /* end of module AsteriskSCF */
-----------------------------------------------------------------------
--
asterisk-scf/integration/slice.git
More information about the asterisk-scf-commits
mailing list