descriptionnone
repository URLgit://catap.ru/emacs-jabber/tox.git
ownerkirill@korins.ky
last changeSun, 11 Jan 2009 01:06:52 +0000 (11 01:06 +0000)
last refreshWed, 3 Jan 2024 21:40:59 +0000 (3 22:40 +0100)
content tags
add:
README
Tox (Talk Over XMPP, or something) is a utility for adding Jingle
functionality to a Jabber client, primarily voice communication.  It
interfaces to the Jabber client using DBus.

To actually get it to compile, you need the Farsight library.  If you
use Debian, the packages "libfarsight0.1-dev" and
"gstreamer0.10-plugins-farsight" and their dependencies should be
enough.  If you need to compile them yourself, look for Farsight at
http://farsight.freedesktop.org/ and Libjingle at
http://tapioca-voip.sourceforge.net/.  Do _not_ use Google's
libjingle.

The DBus interface is described below.  From this you should be able
to piece together a Jingle client.  Good luck!

Tox registers the well-known name net.sourceforge.emacs-jabber.Tox
(NB: hyphen, not underscore) on the session bus.
/net/sourceforge/emacs_jabber/Tox (NB: underscore, not hyphen) is the
path to the main object.

This object has one method in the interface
net.sourceforge.emacs_jabber.Tox (NB: underscore, not hyphen):

object_path CreateSession(byte direction)

  Creates an audio session.  direction is 1 for "send only", 2 for
  "receive only", and 3 for "send and receive".  The path to the new
  session is returned.

The session object in turn has methods in the interface
net.sourceforge.emacs_jabber.ToxSession (NB: underscore, not hyphen):

void Destroy()

  Destroys the session.

void SetDefaultAudioSink()

  Create an "autoaudiosink" GStreamer element and connect it to the
  session.  This usually means that you will hear things in your
  speakers.

void SetOggVorbisAudioSource(string filename)

  Set the named Ogg Vorbis file as audio source, i.e. what to send
  over the session.

void AddRemoteCandidate(array components)

  Add a transport candidate of the remote party, consisting of the
  given components.  "components" is an array of structs with
  signature "(susqsssyyss)" and meaning:

	   - Candidate ID
	   - Component (starting from 1)
	   - IP number (as a string)
	   - Port number
	   - Protocol ("tcp" or "udp")
	   - Protocol subtype (only "RTP" supported)
	   - Protocol profile (only "AVP" supported)
	   - Preference, between 0 and 100
	   - Type.  0 means local, 1 means derived (e.g. through
	     STUN), 2 means relay
	   - Username (may be empty)
	   - Password (may be empty)

signal NewNativeCandidate(array components)

  Signalled when a new local candidate has been determined.  The
  argument is the same as to AddRemoteCandidate.

signal NativeCandidatesPrepared(array components)

  Signalled when the local candidates have been determined, and are
  ready to send to the other party.  The argument is the same as to
  AddRemoteCandidate.

void SetRemoteCodecs(array codecs)

  Set the codecs that the remote party claims to support.  codecs is
  an array of structs with signature "(isyuua{ss})" and meaning:

           - numeric identifier
	   - codec name
	   - media type: 0 is audio, 1 is video
	   - clock rate
	   - number of channels
	   - optional parameters

array GetLocalCodecs()

  Get the codecs supported by this implementation.  The return value
  is of the same type as the argument to SetRemoteCodecs.

array GetCodecIntersection()

  Get the intersection of supported codecs of remote and local
  parties.  The return value is like the argument to SetRemoteCodecs.
shortlog
2009-01-11 Magnus HenochPartly fix handling of transport-info messagesmaster
2009-01-11 Magnus HenochFix and clarify jingle-send-native-candidate
2009-01-10 Magnus HenochCommunicate candidates both ways
2009-01-01 Magnus HenochDon't keep list of native candidates. Handle new nativ...
2009-01-01 Magnus HenochNote some todo items. "Handle" libjingle giving up.
2008-11-29 Magnus HenochDebug output for action attribute
2008-11-29 Magnus HenochFix GValue magic in tox_session_get_codec_intersection
2008-11-29 Magnus HenochRemove Makefile
2008-11-17 Magnus HenochDrop newlines from Ogg file name
2008-11-17 Magnus HenochRequire jabber-xml, for proper compilation
2008-11-17 Magnus HenochCompile and install jabber-tox.el.
2008-11-17 Magnus HenochUse any Ogg file we find, not the hard-coded path for...
2008-11-17 Magnus HenochIgnore some files
2008-11-17 Magnus HenochAutoconf, automake, dbus service file
2008-11-04 Magnus Henochs/farsight_stream_set_remote_candidate_list /farsight_s...
2008-11-03 Magnus HenochMore debug output, pointing to a problem with codec...
...
heads
15 years ago master