Bug 19661 - Implement CodecsUpdated
Summary: Implement CodecsUpdated
Status: RESOLVED FIXED
Alias: None
Product: Telepathy
Classification: Unclassified
Component: gabble (show other bugs)
Version: unspecified
Hardware: Other All
: high enhancement
Assignee: Will Thompson
QA Contact: Telepathy bugs list
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-01-20 09:23 UTC by Simon McVittie
Modified: 2009-03-20 06:45 UTC (History)
0 users

See Also:
i915 platform:
i915 features:


Attachments

Description Simon McVittie 2009-01-20 09:23:25 UTC
telepathy-spec 0.17.18 adds a CodecsUpdated method which streaming implementations can call if codec parameters change, e.g. in H.264 or Theora. Gabble's MediaStreamHandler should implement this.
Comment 1 Olivier Crête 2009-01-20 21:06:32 UTC
There is a "codecs-updated" branch of telepathy-farsight that implements it in my git tree. That said, its mostly untested.
Comment 2 Senko Rasic 2009-01-28 03:02:02 UTC
(In reply to comment #1)
> There is a "codecs-updated" branch of telepathy-farsight that implements it in
> my git tree. That said, its mostly untested.

I've implemented CodecsUpdated handling (== translating into Jingle
"description-info" and back) in my codecs-updated branch in
my tp-gabble-senko git tree.

I've also written the accompanying twisted test, but I'd like to use the
setup to see if everything fits correctly.

Do you have a test tpfarsight client that could be used for
testing this?
Comment 3 Olivier Crête 2009-02-16 21:19:28 UTC
After testing with recent Empathy, I discovered that it mostly works, but does not follow the XEP.

To follow the XEP, when sending the description-info, first do a comparison of the last sent codecs with the codecs received from CodecsUpdated and only send the modified ones.

Also, when receiving a description-info, you have to replace the matching the matching codecs (matched by payload-type) and then call SetRemoteCodecs() with the full list of codecs.
Comment 4 Simon McVittie 2009-02-17 02:58:51 UTC
Assigning to Will to fix Gabble.

Olivier: based on your testing, are you confident that your telepathy-farsight branch does the right thing? If so, someone can review it and we can get it merged. It'd also be helpful if you could explain to Will how to test H.264/Theora calls.
Comment 5 Olivier Crête 2009-02-17 06:57:25 UTC
I'm reasonably certain that my tp-fs branch is right.

To test it:
1. merge all appropriate fix branches into gabble (direction fix and timer assert)
2. gstreamer-properties -> video src to videotestsrc
3. add 2 gtalk accounts to empathy
4. call one account with the other, wait for the call to be established
5. enable video sending on one side
6. look at gabble logs... from each side you should have (initial codecs, codecs reply and maybe codecs updated (ie description-info))
7. enable video on the other side.. it should send a description-info.
Comment 6 Olivier Crête 2009-02-17 10:59:19 UTC
You probably also want the "keep-config-at-nego" branch of farsight2 (if it hasn't been merged yet).
Comment 7 Will Thompson 2009-03-20 06:45:15 UTC
Fixed in 0.7.23.


Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.