summaryrefslogtreecommitdiff
path: root/extensions/Call_Content_Interface_Audio_Control.xml
blob: 9f588a817a39252f5b5bf96579a0b9147c2245fc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
<node name="/Call_Content_Interface_Audio_Control"
  xmlns:tp="http://telepathy.freedesktop.org/wiki/DbusSpec#extensions-v0">
  <tp:copyright>Copyright © 2009-2010 Collabora Ltd.</tp:copyright>
  <tp:copyright>Copyright © 2009-2010 Nokia Corporation</tp:copyright>
  <tp:license xmlns="http://www.w3.org/1999/xhtml">
    <p>This library is free software; you can redistribute it and/or
      modify it under the terms of the GNU Lesser General Public
      License as published by the Free Software Foundation; either
      version 2.1 of the License, or (at your option) any later version.</p>

    <p>This library is distributed in the hope that it will be useful,
      but WITHOUT ANY WARRANTY; without even the implied warranty of
      MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
      Lesser General Public License for more details.</p>

    <p>You should have received a copy of the GNU Lesser General Public
      License along with this library; if not, write to the Free Software
      Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
      02110-1301, USA.</p>
  </tp:license>

  <interface name="org.freedesktop.Telepathy.Call.Content.Interface.AudioControl.DRAFT"
    tp:causes-havoc="experimental">
    <tp:added version="0.24.UNRELEASED">(draft 1)</tp:added>
    <tp:requires interface="org.freedesktop.Telepathy.Call.Content.Interface.Media.DRAFT"/>

    <tp:docstring xmlns="http://www.w3.org/1999/xhtml">
      <p>An interface that allows the connection manager to control the audio
          stream.</p>
      <p>This interface is generally not needed. In cases where the connection
          manager handles the network communication and the media is transferred
          from the client to the connection manager via shared memory, it can
          sometimes be beneficial for the connection manager to be able to
          control certain aspects of the audio stream.</p>
    </tp:docstring>

    <property name="InputVolume" type="u" access="read"
      tp:name-for-bindings="Input_Volume">
      <tp:docstring>
        The volume the streaming engine should be sending at.

        <p>Change notification is via the
          <tp:member-ref>InputVolumeChanged</tp:member-ref> signal.</p>
      </tp:docstring>
    </property>

    <signal name="InputVolumeChanged"
      tp:name-for-bindings="Input_Volume_Changed">
      <tp:docstring>
        Emitted to indicate that the input volume has changed for this
        call content.

        This may occur as a consequence of the client calling
        <tp:member-ref>SetInputVolume</tp:member-ref>, or as an indication
        that another client has (un)muted the content.
      </tp:docstring>
      <arg type="u" name="NewVolume" />
    </signal>

    <method name="SetInputVolume" tp:name-for-bindings="Set_Input_Volume">
      <arg direction="in" name="NewVolume" type="u">
        <tp:docstring>
          The new input volume level to use.
        </tp:docstring>
      </arg>
      <tp:docstring>
        <p>Inform the CM that the call content's input volume has been
          changed by the client.</p>

        <p>It is the client's responsibility to actually change the
          input volume used for the content. However, the client
          MUST call this whenever it changes input volume for the
          content.</p>
      </tp:docstring>
    </method>

    <property name="OutputVolume" type="u" access="read"
      tp:name-for-bindings="Output_Volume">
      <tp:docstring>
        The volume the streaming engine should be outputting at.

        <p>Change notification is via the
          <tp:member-ref>OutputVolumeChanged</tp:member-ref> signal.</p>
      </tp:docstring>
    </property>

    <signal name="OutputVolumeChanged"
      tp:name-for-bindings="Output_Volume_Changed">
      <tp:docstring>
        The desired output volume has changed
      </tp:docstring>
      <arg type="u" name="NewVolume" />
    </signal>

    <method name="SetOutputVolume" tp:name-for-bindings="Set_Output_Volume">
      <arg direction="in" name="NewVolume" type="u">
        <tp:docstring>
          The new output volume level to use.
        </tp:docstring>
      </arg>
      <tp:docstring>
        <p>Inform the CM that the call content's output volume has been
          changed by the client.</p>

        <p>It is the client's responsibility to actually change the
          output volume used for the content. However, the client
          MUST call this whenever it changes output volume for the
          content.</p>
      </tp:docstring>
    </method>
  </interface>
</node>