GNOME Bugzilla – Bug 671073
Fix rtpvp8 compatibility with the latest draft
Last modified: 2012-03-08 20:24:37 UTC
Created attachment 208700 [details] [review] patch Making it compatible with the 03 spec http://tools.ietf.org/html/draft-ietf-payload-vp8-03
Just to check - it's intentional that the older encoding-name(s) in the depayloader are no longer accepted, right?
Created attachment 208703 [details] [review] patch
Had a discussion with Tim on the irc and we went to a few questions: Can we ignore the old drafts and keep it as it is? From my understanding we can't since empathy uses it as the main video codec, otherwise a user running 01 won't be able to chat with someone running 03, even if the code is fully compatible. Tim suggested that we could use encoding-name = (string) { VP8-DRAFT-IETF-01, VP8-DRAFT-IETF-02, VP8-DRAFT-IETF-03 } and then realized it's not supported. So, is there a way to say on the encoding- name that we support all the drafts? Should we do it? * fixed the submodule and pushing a new file.
> Tim suggested that we could use > encoding-name = (string) { VP8-DRAFT-IETF-01, VP8-DRAFT-IETF-02, > VP8-DRAFT-IETF-03 } > and then realized it's not supported. So, is there a way to say on the > encoding- name that we support all the drafts? Should we do it? That should be fine for the depayloader. The question is what to do with the payloader. The patch changes it to always output -03, and I was wondering if it needs to also support outputting the old -01 format for backwards compatibility. If so, how would that be signalled by the app? downstream caps? a property?
I seems to be mostly compatible, just keep -01 ? Since we don't create K headers anyway.
If there are changes in the payloader, it should definitely be negotiated with the caps.
Created attachment 208798 [details] [review] patch Keeping -01 version, since it's compatible with 03 but doesn't implement the K and TID headers.
Created attachment 208799 [details] [review] patch Keeping -01 version, since it's compatible with 03 but doesn't implement the K and TID headers.
I agree with Olivier that the changes are compatible, and it will work from draft 1 to 3. So maybe keep Draft-01 in the caps, and add another caps property last-compatible-draft=3 so it would mean "latest draft compatibility is 3, but last backward compatible is 1" kind of like libtool's age/revision/current.
What's the plan for when it's declared stable? Still support the various drafts?
I think the plan is to just remove the draft. My fear was that if we used the stable one directly we'd be stuck with stuff that claims to be compatible but isn't and would break in strange ways. If we just change the caps at the end, then we end up not trying to interop with older versions.
committed commit 35df907f93e004c8cc04e4972011b4ddeb492799 Author: Danilo Cesar Lemes de Paula <danilo.cesar@collabora.co.uk> Date: Thu Mar 1 14:59:55 2012 -0300 Fixing rtpvp8 compatibility with the third draft https://bugzilla.gnome.org/show_bug.cgi?id=671073