[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