Closed Bug 1137472 Opened 9 years ago Closed 9 years ago

VP9 support in signaling and conduit/pipeline code

Categories

(Core :: WebRTC: Signaling, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla39
Tracking Status
firefox39 --- fixed

People

(Reporter: jesup, Assigned: jesup)

References

(Blocks 1 open bug)

Details

Attachments

(2 files, 1 obsolete file)

+++ This bug was initially created as a clone of Bug #1090742 +++

VP9 SDP appears to be the same (or extremely similar to) VP8; note that this likely isn't finalized as the packetization draft for VP9 is far from finished.

This bug covers the non-upstream (webrtc.org) basic portions of vp9 support; it also doesn't cover things about *when* VP9 should be preferred or switched to/from (which may require allowing accepting multiple codecs, which we don't do yet)
Depends on: 1137474
Assignee: nobody → rjesup
Now has media.peerconnection.video.vp9_enabled to enable vp9 support
Attachment #8570160 - Attachment is obsolete: true
Attachment #8570705 - Flags: review?(docfaraday)
Comment on attachment 8570705 [details] [diff] [review]
Basic VP9 signaling/pipeline/conduit support

Review of attachment 8570705 [details] [diff] [review]:
-----------------------------------------------------------------

Let's add some parse-code testing in media/webrtc/signaling/test/sdp_unittests.cpp for VP9.

I'm also pretty sure we'll want some updates in media/webrtc/signaling/test/jsep_session_unittest.cpp (in ValidateOfferedCodecParams and ValidateAnsweredCodecParams).

Otherwise, just some nits I think.

::: media/webrtc/signaling/src/peerconnection/PeerConnectionImpl.cpp
@@ +914,5 @@
>  
> +  bool vp9Enabled = false;
> +  branch->GetBoolPref("media.peerconnection.video.vp9_enabled",
> +                      &vp9Enabled);
> +  

Some trailing ws here.

::: media/webrtc/signaling/src/sdp/SdpAttribute.h
@@ +1018,1 @@
>    class VP8Parameters : public Parameters

We have a comment to this effect pretty much everywhere this is used, probably would be better to just rename. VP8orVP9Parameters would work for me, I guess VPxParameters might work too.
Attachment #8570705 - Flags: review?(docfaraday) → review+
Comment on attachment 8570705 [details] [diff] [review]
Basic VP9 signaling/pipeline/conduit support

Review of attachment 8570705 [details] [diff] [review]:
-----------------------------------------------------------------

Does this interoperate with Chrome's VP9?
> Does this interoperate with Chrome's VP9?

Given https://code.google.com/p/webrtc/issues/detail?id=4168 (no VP9 packetization support), interop is rather overrated....  We're using the "Generic" packetization code, and it appears they are also (I fixed a nasty bug in it; I haven't checked if they've fixed the same bug in Canary - I suspect so).

However, tests using talky.io against Canary show working VP9 in both directions, and working regardless of which side offers/accepts.  Note that if Chrome accepts, they accept VP9 and VP8, and so they may try mid-call codec switches (which we'll want to enable depending on load and bitrate too).
Depends on: 1138629
Whiteboard: [leave-open]
Attachment #8571761 - Flags: review?(docfaraday)
Attachment #8571761 - Flags: review?(docfaraday) → review+
Whiteboard: [leave-open]
https://hg.mozilla.org/mozilla-central/rev/d2f544709115
Status: NEW → RESOLVED
Closed: 9 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla39
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: