[asterisk-scf-commits] asterisk-scf/release/slice.git branch "master" updated.
Commits to the Asterisk SCF project code repositories
asterisk-scf-commits at lists.digium.com
Tue Sep 13 13:48:21 CDT 2011
branch "master" has been updated
via 767842b03dab3430d585abb505eb7772753f60c3 (commit)
from 72ed2a9023730c39c02999ae681bf591f3b3f574 (commit)
Summary of changes:
slice/AsteriskSCF/Media/Formats/AudioFormats.ice | 4 +
slice/AsteriskSCF/Media/MediaOperationIf.ice | 91 ++++++++++++++++++++++
2 files changed, 95 insertions(+), 0 deletions(-)
create mode 100644 slice/AsteriskSCF/Media/MediaOperationIf.ice
- Log -----------------------------------------------------------------
commit 767842b03dab3430d585abb505eb7772753f60c3
Author: Mark Michelson <mmichelson at digium.com>
Date: Tue Sep 13 13:42:39 2011 -0500
Squashed commit of the following:
commit 2f28b8f7396b52bfd3a4298f65d798df599671a9
Merge: 91f56f1 72ed2a9
Author: Mark Michelson <mmichelson at digium.com>
Date: Tue Sep 13 12:01:56 2011 -0500
Merge branch 'master' into media-operation
commit 91f56f1e7a481e13a0b42d0fb1d323ac3ad3cb91
Author: Mark Michelson <mmichelson at digium.com>
Date: Wed Aug 17 13:57:31 2011 -0500
Add constants for locating media operations.
commit ce9020326cff79fc41acb596241ff6641ea5af5f
Author: Mark Michelson <mmichelson at digium.com>
Date: Wed Aug 17 13:38:58 2011 -0500
Create a constant to use for the format names for ulaw and alaw.
commit c1a96c506d66c71c874b2107c187bc5a28e8b4c3
Author: Mark Michelson <mmichelson at digium.com>
Date: Mon Aug 15 11:56:45 2011 -0500
Allow createMediaOperation to throw an exception if bad formats are given.
commit 8e5e1f624b5fb5e498bb7d84a1172fa337e8bee3
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 17:24:01 2011 -0500
Fix a typo.
commit 1a56884ce4ac84e41ab64499a635834f6cd71f63
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 14:48:21 2011 -0500
Return a proxy to a media operation.
commit 990dd70ce8143d48a2064b0100f4f34a9ec1d344
Author: Mark Michelson <mmichelson at digium.com>
Date: Thu Aug 11 14:05:48 2011 -0500
Create slice definitions for media operations.
diff --git a/slice/AsteriskSCF/Media/Formats/AudioFormats.ice b/slice/AsteriskSCF/Media/Formats/AudioFormats.ice
index 349f1b7..645c427 100644
--- a/slice/AsteriskSCF/Media/Formats/AudioFormats.ice
+++ b/slice/AsteriskSCF/Media/Formats/AudioFormats.ice
@@ -46,6 +46,8 @@ module V1
*/
};
+ const string G711uLAWName = "ulaw";
+
/**
* G.711 a-Law Audio Format
*/
@@ -56,6 +58,8 @@ module V1
*/
};
+ const string G711aLAWName = "alaw";
+
}; /* end module V1 */
}; /* end module Audio */
diff --git a/slice/AsteriskSCF/Media/MediaOperationIf.ice b/slice/AsteriskSCF/Media/MediaOperationIf.ice
new file mode 100644
index 0000000..9dfcd96
--- /dev/null
+++ b/slice/AsteriskSCF/Media/MediaOperationIf.ice
@@ -0,0 +1,91 @@
+/*
+ * 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>
+#include <AsteriskSCF/Core/Discovery/ServiceLocatorIf.ice>
+
+module AsteriskSCF
+{
+
+module Media
+{
+
+module V1
+{
+
+/**
+ * This is meant to be used in ServiceLocatorParams as the
+ * "category" for all media operations.
+ */
+const string MediaOperationDiscoveryCategory = "MediaOperation";
+
+/**
+ * This is Meant to be used in ServiceLocatorParams as the "service"
+ * when a translator is needed. The service set by media operations
+ * that do not perform translation may use a descriptive term for
+ * their service instead, like "pitch shifter" or "volume adjustment."
+ */
+const string MediaOperationDiscoveryTranslatorService = "Translator";
+
+interface MediaOperation
+{
+ StreamSource* getSource();
+ StreamSink* getSink();
+ void destroy();
+};
+
+interface MediaOperationFactory
+{
+ /**
+ * Create a new instance of a media operation.
+ * @param source optional source of media that will enter the operation
+ * @param sink optional source of media that the operation will write to
+ */
+ MediaOperation* createMediaOperation(
+ StreamSource* source,
+ StreamSink* sink) throws UnsupportedMediaFormatException;
+};
+
+struct MediaOperationAttributes
+{
+ /**
+ * The input format for a specific operation
+ */
+ Format inputFormat;
+ /**
+ * The output format for a specific operation
+ */
+ Format outputFormat;
+ /**
+ * The cost of the operation.
+ * Lower cost indicates an "easier" translation,
+ * either because it is faster or uses fewer resources.
+ */
+ int cost;
+};
+
+sequence<MediaOperationAttributes> MediaOperationAttributesSeq;
+
+unsliceable class MediaOperationServiceLocatorParams extends AsteriskSCF::Core::Discovery::V1::ServiceLocatorParams
+{
+ MediaOperationAttributesSeq attributes;
+};
+
+}; /* end module V1 */
+}; /* end module Media */
+}; /* end module AsteriskSCF */
-----------------------------------------------------------------------
--
asterisk-scf/release/slice.git
More information about the asterisk-scf-commits
mailing list