Bug 19661

Summary: Implement CodecsUpdated
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: gabbleAssignee: Will Thompson <will>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: enhancement    
Priority: high    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

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.