Closed Bug 1109248 Opened 5 years ago Closed 5 years ago

Update WebRTC code to stable branch 40


(Core :: WebRTC, defect)

Not set





(Reporter: jesup, Assigned: jesup)


(Blocks 1 open bug)



(6 files)

+++ This bug was initially created as a clone of Bug #987979 +++ stable branch 40 is being used in Chrome 40, to be released soon.
(They made the stable branch match the chrome release, finally)

To be done using the process is being documented here:

New AEC code, many changes to content load/analysis code, VP9 support.  Lots of cleanup in the code.  More details to come.

I may hand this off to pkerr partway along.
Summary: Update WebRTC code to stable branch 3.50 → Update WebRTC code to stable branch 40
I gave a try to jesup's current MQ on OpenBSD, and only had two small nits to fix:
- execinfo.h being inconditionally included and used in media/webrtc/trunk/webrtc/base/ Worked around by adding && !defined(__OpenBSD__), currently testing a better solution (replacing __GLIBCXX__ by __GLIBC__)
- alloca.h being included wrongly in media/webrtc/trunk/webrtc/base/stringutils.h because the wrong BSD defined is tested. Worked around by including sys/param.h which defines BSD, currently testing a better solution (ie test for WEBRTC_BSD instead of BSD)

Will post a patch for those when my current build with "better" fixes succeeds.
Attached patch fixes-bsdSplinter Review
This cleaner patch also works for me.
Comment on attachment 8550677 [details] [diff] [review]

Review of attachment 8550677 [details] [diff] [review]:

Looks OK given the lack of autodetecting stuff in upstream build system. Otherwise, cxxabi.h isn't specific to libstdc++ but also exists in compiler-rt or libexecinfo implements backtrace() for BSDs.
Attachment #8550677 - Flags: feedback+
Depends on: 1123012
Attachment #8550677 - Flags: review+
Attachment #8556629 - Flags: review?(pkerr)
Attachment #8556630 - Flags: review?(ethanhugg)
Attachment #8556631 - Flags: review?(ethanhugg)
Attachment #8556632 - Flags: review?(ted)
Green Try, with retriggers, after multistream landing
Attachment #8556632 - Flags: review?(ted) → review+
Attachment #8556633 - Flags: review+
Attachment #8556629 - Flags: review?(pkerr) → review+
Comment on attachment 8556631 [details] [diff] [review]
Make fake GMP codec test force fragmentation by returning large IDR frames

Review of attachment 8556631 [details] [diff] [review]:

r+ - couple nits.

::: dom/media/gmp-plugin/gmp-fake.cpp
@@ +165,5 @@
>      }
>      // Now return the encoded data back to the parent.
>      GMPVideoFrame* ftmp;
> +    GMPErr err = host_->CreateFrame(kGMPEncodedVideoFrame, &ftmp);

This looks like a whitespace-only change, was it intended?

@@ +200,5 @@
>        return;
>      }
>      memcpy(f->Buffer(), &eframe, sizeof(eframe));
> +    if (frame_type  == kGMPKeyFrame) {
> +      *((uint32_t*) f->Buffer() + sizeof(eframe)) = 10000;

I would def this number since it is used twice.
Attachment #8556631 - Flags: review?(ethanhugg) → review+
Comment on attachment 8556630 [details] [diff] [review]
Adapt GMP video decoder code to API changes in 40

Review of attachment 8556630 [details] [diff] [review]:

Attachment #8556630 - Flags: review?(ethanhugg) → review+
Depends on: 1129858
Depends on: 1129921
Depends on: 1130223
Blocks: 1132193
Depends on: 1134991
See Also: → 1137515
See Also: → 1140677
You need to log in before you can comment on or make changes to this bug.