After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 333465 - Dbus'component's PlayPause method call is uninteresting
Dbus'component's PlayPause method call is uninteresting
Status: RESOLVED FIXED
Product: ekiga
Classification: Applications
Component: general
GIT master
Other All
: Normal normal
: ---
Assigned To: Ekiga maintainers
Ekiga maintainers
Depends on:
Blocks:
 
 
Reported: 2006-03-05 10:59 UTC by Snark
Modified: 2006-03-21 07:39 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
Patch to fix the bug according to my proposal (6.31 KB, patch)
2006-03-20 20:33 UTC, Snark
none Details | Review

Description Snark 2006-03-05 10:59:24 UTC
There is no method call or signal to know if audio or video is paused or playing anyway :-/

This bug was reported by D.Ciabrini.

I put it here so I can work on it.
Comment 1 Snark 2006-03-05 11:09:50 UTC
Notice that it's for post-2.0.
Comment 2 Snark 2006-03-05 12:53:50 UTC
Ok, here is the current (2.0) interface for managing calls in ekiga through dbus:
  <interface name="net.ekiga.calls">
  	<method name="GetCallsList">
  		<arg type="as" direction="out"/>
  	</method>
  	<method name="Connect">
  		<arg type="s" name="url" direction="in"/>
  		<arg type="s" direction="out"/>
  	</method>
  	<method name="Disconnect">
  		<arg type="s" name="token" direction="in"/>
  	</method>
  	<method name="PlayPause">
  		<arg type="s" name="token" direction="in"/>
  	</method>
  	<method name="Transfer">
  		<arg type="s" name="token" direction="in"/>
  		<arg type="s" name="url" direction="in"/>
  	</method>
  	<method name="ResignalCallInfo">
  		<arg type="s" name="token" direction="in"/>
  	</method>
  	<signal name="StateChanged">
  		<arg type="s" name="token"/>
  		<arg type="u" name="state"/>
  	</signal>
  	<signal name="NameInfo">
  		<arg type="s" name="token"/>
  		<arg type="s" name="name"/>
  	</signal>
  	<signal name="ClientInfo">
  		<arg type="s" name="token"/>
  		<arg type="s" name="client"/>
  	</signal>
  	<signal name="UrlInfo">
  		<arg type="s" name="token"/>
  		<arg type="s" name="url"/>
  	</signal>
  	<signal name="ProtocolInfo">
  		<arg type="s" name="token"/>
  		<arg type="s" name="protocol"/>
  	</signal>
  </interface>

I think the best way to "upgrade" this interface about this issue is by adding a new signal ; something like :
  	<signal name="OnHoldInfo">
  		<arg type="s" name="token"/>
  		<arg type="b" name="is_on_hold"/>
  	</signal>

This means the following changes in ekiga :
- add that signal to dbus_stub.xml ;
- add a g_signal_emit in ResignalCallInfo's implementation in dbus.cpp ;
- add a new function gnomemeeting_dbus_component_set_call_hold in dbus.h ;
- implement that function in dbus.cpp ;
- call that function from manager.cpp at the right time so the dbus component is notified whenever a call is put on hold/set running again.

Should be pretty easy.
Comment 3 Damien Ciabrini 2006-03-05 14:17:48 UTC
Sounds good to me.
Comment 4 Snark 2006-03-20 20:33:19 UTC
Created attachment 61643 [details] [review]
Patch to fix the bug according to my proposal

Here is the patch I made to implement my proposition. I'm not sure I can apply it now -- we're preparing 2.0.2, not 2.2 yet.
Comment 5 Snark 2006-03-21 07:39:20 UTC
Oh, well, after all if it makes the dbus component better, and doesn't break the rest, then it's stupid to let it rot :-)