<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
Hi Robert<br>
<blockquote cite="mid46531275.5090001@collabora.co.uk" type="cite">
  <pre wrap="">Hi Matthieu,

Please don't repeatedly post the same question to the list. This thread
is now 14 deep in my mail client, and only has 4 or 5 posts which are
not from you, so I think most people might not even have seen that you
were posting there any more. It might help that if you have a new
question, start a new thread.
  </pre>
</blockquote>
<br>
First of all, thank you for your answer.<br>
I am new in the world of open source, so thank you for educating me and
giving me some advises.<br>
I am also new in the telepathy world. I understand more and more things
but there are still some interactions between processes
(telepathy-cilent (tp_caller), connection-manager, stream-engine) that
are not clear, and some details I don t understand... but I am working
on it :)<br>
<blockquote cite="mid46531275.5090001@collabora.co.uk" type="cite">
  <pre wrap="">
That said, nobody is under any /obligation/ to help you, although we are
happy to help people if they are polite and have reasonable questions.
If you are using Telepathy for a commercial project and /require/ a
support arrangement, you might follow the link off the Telepathy
homepage to Collabora, who can offer commercial support for users of the
project.

You might also note that tp_caller is just a piece of test/example code
released by Nokia as part of tp-sofiasip, and isn't a very good thing to
try and ask for detailed information about using - we don't know much
about it at all. The Python examples call.py and call-gtk.py in
telepathy-python/examples/ are a much simpler starting point to
understand the APIs you're trying to use.

Matthieu LAURENT wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">I don't see any binding in libtelepathy in order to access interface
org.freedesktop.Telepathy.StreamEngine, method SetOutputVolume for example

Could you tell me how to add this functionality in libtelepathy, and how
to call it from the telepathy client tp_caller, in oder to access
directly to the whole interface of the stream-engine (or if there is a
simplest way to access this function SetOutputVolume)?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
You can see the whole D-Bus API of stream engine by introspecting it
over the bus, or by viewing
stream-engine/generate/xml-modified/tp-stream-engine.xml. This API is
specific to stream engine, and isn't a part of the Telepathy standard,
which is why libtelepathy doesn't contain it. You can either use
dbus-binding-tool on the XML file and generate the same kinds of headers
that libtelepathy contains.

Alternatively, for simple usages you can also use dbus-glib directly to
make calls to these functions by making a DBusGProxy and use
dbus_g_proxy_call (proxy, "MethodName", G_TYPE_FOO, foo, G_TYPE_INVALID,
G_TYPE_BAR, &amp;bar, G_TYPE_INVALID) for a method called MethodName which
took a FOO argument called "foo" and returned a BAR argument called "bar".
  </pre>
</blockquote>
ok I understand what you mean. I can create a binding like
libetelpathy, that will make easier calls to stream-engine, or directly
call the dbus interface thanks dbus-glib.<br>
<br>
<br>
So the telepathy-client (tp_caller, or another on) can directly call
methods of the stream-engine, without passing through the
connection-manager. Am I right?<br>
<br>
<blockquote cite="mid46531275.5090001@collabora.co.uk" type="cite">
  <pre wrap="">
Elsewhere, Matthieu LAURENT also wrote:
  </pre>
  <blockquote type="cite">
    <pre wrap="">If I would like the stream-engine to bring back information to the
telepathy client tp_caller, for example current duration of the call.
What should I implement?
Can the information be addressed directly to the telepathy client
tp_caller or must it passed through the connection-manager?
    </pre>
  </blockquote>
  <pre wrap=""><!---->
At the moment, you should just start a timer when a) the call is
accepted (the MembersChanged signal is emitted on the channel and both
members of the call are no longer local or remote pending) and b) the
Receiving signal is emitted by Stream Engine, indicating that packets
are being received.

I am going to add some kind of StreamStateChanged signal to Stream
Engine's API which will tell you when the stream is either Sending *or*
Receiving. This fixes a minor issue with just looking at the Receiving
signal - in some cases you don't think the call is in progress until the
remote end makes some noise and sends some packets.
  </pre>
</blockquote>
<br>
the example of the duration was just an example.<br>
I may want to inform the telepathy-client of current delay in
communication; percentage of rebuffering in the buffer-jitter queue...<br>
What is the best way to bring this information from the stream-engine
to the telepathy-client?<br>
Send regularly signals from the stream-engine that will be caught by
the telepathy-client (without passing through the connection-manager)?<br>
If yes, this means, as you said, add some signal to the stream engine's
api.<br>
<br>
<br>
<br>
<br>
<blockquote cite="mid46531275.5090001@collabora.co.uk" type="cite">
  <pre wrap="">
  </pre>
  <blockquote type="cite">
    <pre wrap="">thanks for your help

Matthieu
    </pre>
  </blockquote>
  <pre wrap=""><!---->
Regards,
Rob</pre>
</blockquote>
Thanks again for your help<br>
<br>
Matthieu<br>
<br>
<br>
<br>
<br>
</body>
</html>