Commit Graph

11283 Commits

Author SHA1 Message Date
93ad1f7f1b Reland C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces.
This reverts commit 37a23504980bbd06fa9b1709357ce6a33afada30.

Reason for revert: Fix compilation error on release builds.

Original change's description:
> Revert "C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces."
> 
> This reverts commit ef4342f21ba9448138fc7d22482f3210cb20fd7e.
> 
> Reason for revert: Breaks chromium.webrtc.fyi
> 
> Original change's description:
> > C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces.
> > 
> > Bug: webrtc:7760
> > Change-Id: I136aff9bcfb9244bb45ec552b5443f4a06b87c27
> > Reviewed-on: https://chromium-review.googlesource.com/535475
> > Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18773}
> 
> TBR=magjed@webrtc.org,sakal@webrtc.org
> 
> Change-Id: I45810b9f3573074bb52539aa63843d59865c02f2
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7760
> Reviewed-on: https://chromium-review.googlesource.com/549337
> Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18776}

TBR=magjed@webrtc.org,sakal@webrtc.org

Change-Id: Id38836a1cb63ff265af6562a0512818acb8afb0a
Bug: webrtc:7760
Reviewed-on: https://chromium-review.googlesource.com/549338
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18777}
2017-06-27 08:26:00 +00:00
37a2350498 Revert "C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces."
This reverts commit ef4342f21ba9448138fc7d22482f3210cb20fd7e.

Reason for revert: Breaks chromium.webrtc.fyi

Original change's description:
> C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces.
> 
> Bug: webrtc:7760
> Change-Id: I136aff9bcfb9244bb45ec552b5443f4a06b87c27
> Reviewed-on: https://chromium-review.googlesource.com/535475
> Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18773}

TBR=magjed@webrtc.org,sakal@webrtc.org

Change-Id: I45810b9f3573074bb52539aa63843d59865c02f2
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7760
Reviewed-on: https://chromium-review.googlesource.com/549337
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18776}
2017-06-27 07:35:42 +00:00
ef4342f21b C++ wrapper for VideoDecoder and VideoDecoderFactory interfaces.
Bug: webrtc:7760
Change-Id: I136aff9bcfb9244bb45ec552b5443f4a06b87c27
Reviewed-on: https://chromium-review.googlesource.com/535475
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18773}
2017-06-27 07:15:00 +00:00
a52722fac4 Reland of Create RtcpDemuxer (patchset #1 id:1 of https://codereview.webrtc.org/2957763002/ )
Reason for revert:
About to fix problem and reland.

Original issue's description:
> Revert of Create RtcpDemuxer (patchset #13 id:240001 of https://codereview.webrtc.org/2943693003/ )
>
> Reason for revert:
> Breaks Chromium FYI bots.
>
> The problem is in the BUILD.gn file.
>
> Sample failure:
> https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/17829
>
> Sample logs:
> use_goma = true
> """ to /b/c/b/Linux_Builder/src/out/Release/args.gn.
>
> /b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
>   -> returned 1
> ERROR at //third_party/webrtc/call/BUILD.gn:46:5: Can't load input file.
>     "//webrtc/base:rtc_base_approved",
>     ^--------------------------------
>
> Original issue's description:
> > Create RtcpDemuxer. Capabilities:
> > 1. Demux RTCP messages according to the sender-SSRC.
> > 2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
> > 3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").
> >
> > BUG=webrtc:7135
> >
> > Review-Url: https://codereview.webrtc.org/2943693003
> > Cr-Commit-Position: refs/heads/master@{#18763}
> > Committed: cb83bdf01f
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2957763002
> Cr-Commit-Position: refs/heads/master@{#18764}
> Committed: 0e7e7869e7

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2960623002
Cr-Commit-Position: refs/heads/master@{#18768}
2017-06-26 18:23:54 +00:00
b89f300e03 Run cl format on audio_device_pulse_linux.cc.
Occurrences of WEBRTC_TRACE(...) will in the future be replaced with the preferred logging mechanism LOG(...). That will be done with a script that runs 'git cl format' on diffs, which will break formatting of surrounding code if the file is not already formatted. Hence this CL.

BUG=webrtc:5118

Review-Url: https://codereview.webrtc.org/2953793002
Cr-Commit-Position: refs/heads/master@{#18766}
2017-06-26 14:01:32 +00:00
0e7e7869e7 Revert of Create RtcpDemuxer (patchset #13 id:240001 of https://codereview.webrtc.org/2943693003/ )
Reason for revert:
Breaks Chromium FYI bots.

The problem is in the BUILD.gn file.

Sample failure:
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/17829

Sample logs:
use_goma = true
""" to /b/c/b/Linux_Builder/src/out/Release/args.gn.

/b/c/b/Linux_Builder/src/buildtools/linux64/gn gen //out/Release --check
  -> returned 1
ERROR at //third_party/webrtc/call/BUILD.gn:46:5: Can't load input file.
    "//webrtc/base:rtc_base_approved",
    ^--------------------------------

Original issue's description:
> Create RtcpDemuxer. Capabilities:
> 1. Demux RTCP messages according to the sender-SSRC.
> 2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
> 3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").
>
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2943693003
> Cr-Commit-Position: refs/heads/master@{#18763}
> Committed: cb83bdf01f

TBR=stefan@webrtc.org,danilchap@webrtc.org,nisse@webrtc.org,kjellander@webrtc.org,holmer@google.com,eladalon@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2957763002
Cr-Commit-Position: refs/heads/master@{#18764}
2017-06-26 13:28:36 +00:00
cb83bdf01f Create RtcpDemuxer. Capabilities:
1. Demux RTCP messages according to the sender-SSRC.
2. Demux RTCP messages according to the RSID (resolved to an SSRC, then compared to the sender-RTCP).
3. Allow listening in on all RTCP messages passing through the demuxer ("broadcast sinks").

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2943693003
Cr-Commit-Position: refs/heads/master@{#18763}
2017-06-26 12:56:34 +00:00
3ac91c7580 Disable AudioBweIntegrationTest.NoBandwidthDropAfterDtx - it's flaky
BUG=webrtc:7872

Review-Url: https://codereview.webrtc.org/2962493002
Cr-Commit-Position: refs/heads/master@{#18762}
2017-06-26 12:04:12 +00:00
1b97e26364 Don't forget to support G722 stereo decoding
https://codereview.webrtc.org/2940833002 added support for G722
decoding with the AudioDecoderFactoryTemplate API, but forgot to
support stereo.

BUG=webrtc:7839

Review-Url: https://codereview.webrtc.org/2945423003
Cr-Commit-Position: refs/heads/master@{#18761}
2017-06-26 11:19:43 +00:00
2f45b6b15f Remove unused "crypto_options_" field.
It is not used anywhere and looks like a leftover of
https://codereview.webrtc.org/2815513012/

BUG=None

Review-Url: https://codereview.webrtc.org/2958683002
Cr-Commit-Position: refs/heads/master@{#18760}
2017-06-26 11:07:52 +00:00
587ff11208 Revert of Disable RTCVideoRenderFrameCallbackNV12 test (patchset #1 id:20001 of https://codereview.webrtc.org/2951273002/ )
Reason for revert:
Test has been fixed.

Original issue's description:
> Disable RTCVideoRenderFrameCallbackNV12 test
>
> It has been crashing on trybots
>
> BUG=webrtc:7863
> TBR=magjed@webrtc.org
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2951273002
> Cr-Commit-Position: refs/heads/master@{#18720}
> Committed: 4d25a0554a

TBR=kjellander@webrtc.org,oprypin@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7863

Review-Url: https://codereview.webrtc.org/2959673002
Cr-Commit-Position: refs/heads/master@{#18758}
2017-06-26 10:11:51 +00:00
d3cf0476b4 Put attribute before function name instead of after, as required by GCC
As suggested by marxin.liska@gmail.com in bug 7857.

BUG=webrtc:7857

Review-Url: https://codereview.webrtc.org/2947383002
Cr-Commit-Position: refs/heads/master@{#18757}
2017-06-26 08:32:40 +00:00
93ecc5dad0 Rename safe_cmp::{Eq,Ne,Lt,Le,Ge,Gt} to Safe{Eq,Ne,Lt,Le,Ge,Gt}
For consistency with SafeMin(), SafeMax(), and SafeClamp(). And so that we avoid introducing a namespace.

BUG=webrtc:7459

Review-Url: https://codereview.webrtc.org/2802423002
Cr-Commit-Position: refs/heads/master@{#18756}
2017-06-26 08:31:31 +00:00
3059378f7d Always reset the audio session configuration after a call.
After returning from the call the AVAudioSession was configured to
use the receiver instead of the speaker for audio output. The
configuration was only restored if the sound loop was previously
playing, this change makes sure that the configuration is always
reset so the sound can be played audibly after a call has been
finished.

Bug: webrtc:7792
Change-Id: Idabf6fadc8041b18722cb8f5e89e0c8c36b1b74d
Reviewed-on: https://chromium-review.googlesource.com/544819
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18754}
2017-06-26 07:19:11 +00:00
852a560088 Fix some bugs in the HardwareVideoDecoder.
This change preserves rotation through the decoder, rather than requiring
callers to keep track of rotation.  The test now uses a non-zero rotation
to ensure it is preserved.

Commit 3814524 inadvertently reverted several changes that weren't merged
properly before submit.  In particular, it clobbered some log messages,
comments, and error codes.  This change fixes those mistakes.

BUG=webrtc:7760

Change-Id: If529ee59fc56de7937e362dc15591295e2cf9f79
Reviewed-on: https://chromium-review.googlesource.com/546415
Commit-Queue: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18752}
2017-06-26 06:11:21 +00:00
7790e8779d Disable FullStackTest.SimulcastFullHdOveruse on Mac
This test was added in "Add cropping to VIEEncoder to match simulcast streams resolution (https://codereview.webrtc.org/2936393002) and makes
webrtc_perf_tests fail+timeout on Mac:
https://build.chromium.org/p/client.webrtc.perf/builders/Mac%2010.11/builds/2896

[ RUN      ] FullStackTest.SimulcastFullHdOveruse
- Uh, I'm-I'm not quite dead, sir.
- Uh, I-I think uh, I could pull through, sir.
../../webrtc/video/video_quality_test.cc:419: Failure
Expected: (frames_processed) > (last_frames_processed), actual: 591 vs 591
Analyzer stalled while waiting for test to finish.

TBR=sprang@webrtc.org,magjed@webrtc.org,ilnik@webrtc.org
BUG=webrtc:7375, webrtc:6958
NOTRY=True

Review-Url: https://codereview.webrtc.org/2960573002
Cr-Commit-Position: refs/heads/master@{#18748}
2017-06-25 20:50:03 +00:00
5e5f7e14b2 Remove unneeded enum forward declaration
While building Chrome with the VC++ 2017 /permissive- flag I got a
warning about a forward declaration of enum RateControlRegion. Untyped
forward declarations of enums are illegal because the compiler doesn't
know what size to make them. The only reason this forward declaration is
legal is because it isn't needed (the type is already defined).

This was found because /permissive- (or, equivalently for this purpose,
/w14471) incorrectly fires on this forward declaration even though it is
legal.

BUG=chromium:736059

Review-Url: https://codereview.webrtc.org/2834753002
Cr-Commit-Position: refs/heads/master@{#18741}
2017-06-24 20:04:29 +00:00
e5960ce737 Revert "Revert "Revert "Revert "Support more formats in RTCVideoFrame""""
This reverts commit 1cfeb435427a2fa677a495e34c882096efc193d0.

Reason for revert: Fix unit test

Original change's description:
> Revert "Revert "Revert "Support more formats in RTCVideoFrame"""
> 
> This reverts commit 7583390d1a3a7c4e9a77da0d77250abac0c34d1d.
> 
> Reason for revert: Breaks unit tests
> 
> Original change's description:
> > Revert "Revert "Support more formats in RTCVideoFrame""
> > 
> > This reverts commit 0789dab2cbd1617e94d7300e375163d42345f3d4.
> > 
> > Reason for revert: Include obc_corevideoframebuffer target
> > 
> > Original change's description:
> > > Revert "Support more formats in RTCVideoFrame"
> > > 
> > > This reverts commit bd2220a9c496ef2e8567b68d4be9435a110bdc34.
> > > 
> > > Reason for revert: Broke external clients
> > > 
> > > Original change's description:
> > > > Support more formats in RTCVideoFrame
> > > > 
> > > > Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
> > > > RTCVideoFrame.
> > > > 
> > > > Bug: webrtc:7785
> > > > Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
> > > > Reviewed-on: https://chromium-review.googlesource.com/536773
> > > > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > > > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > > > Cr-Commit-Position: refs/heads/master@{#18691}
> > > 
> > > TBR=magjed@webrtc.org,andersc@webrtc.org
> > > 
> > > Change-Id: Id765dd9543ed0613a6b2de108b268c3501025fcd
> > > No-Presubmit: true
> > > No-Tree-Checks: true
> > > No-Try: true
> > > Bug: webrtc:7785
> > > Reviewed-on: https://chromium-review.googlesource.com/542837
> > > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#18697}
> > 
> > TBR=magjed@webrtc.org,andersc@webrtc.org
> > 
> > Change-Id: I1ef5313b4a6c56eb8c7fd02d95db62c4e3c00255
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:7785
> > Reviewed-on: https://chromium-review.googlesource.com/542838
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18716}
> 
> TBR=magjed@webrtc.org,andersc@webrtc.org
> 
> Change-Id: Id12f33698eb02041607cb9a5c54f37f01bfac5b1
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7785
> Reviewed-on: https://chromium-review.googlesource.com/544840
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18718}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: I184303ecba8db91ef7de709f982a295a2efe92eb
Bug: webrtc:7785
Reviewed-on: https://chromium-review.googlesource.com/544841
Commit-Queue: Magnus Jedvert <magjed@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18731}
2017-06-23 10:59:41 +00:00
23cc468ddf Return WrappedI444Buffer in VP9Impl
This CL allows VP9Impl to return a WrappedI444Buffer if the image format is
VPX_IMG_FMT_I444.

Needs to be checked in after Chromium CL 2876363003 is checked in.

BUG=webrtc:7506

Review-Url: https://codereview.webrtc.org/2927943003
Cr-Commit-Position: refs/heads/master@{#18727}
2017-06-23 03:28:06 +00:00
e92f93fc9a Test picture sequence id when VideoSendStream is recreated.
Bug: webrtc:7475
Change-Id: I613b20b9da2c264b05c6a604d3f9754878857a0f
Reviewed-on: https://chromium-review.googlesource.com/527076
Commit-Queue: Sebastian Jansson <srte@webrtc.org>
Reviewed-by: Åsa Persson <asapersson@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18722}
2017-06-22 15:57:10 +00:00
4d25a0554a Disable RTCVideoRenderFrameCallbackNV12 test
It has been crashing on trybots

BUG=webrtc:7863
TBR=magjed@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2951273002
Cr-Commit-Position: refs/heads/master@{#18720}
2017-06-22 15:19:01 +00:00
1cfeb43542 Revert "Revert "Revert "Support more formats in RTCVideoFrame"""
This reverts commit 7583390d1a3a7c4e9a77da0d77250abac0c34d1d.

Reason for revert: Breaks unit tests

Original change's description:
> Revert "Revert "Support more formats in RTCVideoFrame""
> 
> This reverts commit 0789dab2cbd1617e94d7300e375163d42345f3d4.
> 
> Reason for revert: Include obc_corevideoframebuffer target
> 
> Original change's description:
> > Revert "Support more formats in RTCVideoFrame"
> > 
> > This reverts commit bd2220a9c496ef2e8567b68d4be9435a110bdc34.
> > 
> > Reason for revert: Broke external clients
> > 
> > Original change's description:
> > > Support more formats in RTCVideoFrame
> > > 
> > > Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
> > > RTCVideoFrame.
> > > 
> > > Bug: webrtc:7785
> > > Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
> > > Reviewed-on: https://chromium-review.googlesource.com/536773
> > > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > > Cr-Commit-Position: refs/heads/master@{#18691}
> > 
> > TBR=magjed@webrtc.org,andersc@webrtc.org
> > 
> > Change-Id: Id765dd9543ed0613a6b2de108b268c3501025fcd
> > No-Presubmit: true
> > No-Tree-Checks: true
> > No-Try: true
> > Bug: webrtc:7785
> > Reviewed-on: https://chromium-review.googlesource.com/542837
> > Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18697}
> 
> TBR=magjed@webrtc.org,andersc@webrtc.org
> 
> Change-Id: I1ef5313b4a6c56eb8c7fd02d95db62c4e3c00255
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7785
> Reviewed-on: https://chromium-review.googlesource.com/542838
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18716}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: Id12f33698eb02041607cb9a5c54f37f01bfac5b1
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7785
Reviewed-on: https://chromium-review.googlesource.com/544840
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18718}
2017-06-22 13:06:45 +00:00
d0fc37a884 Allow parsing empty RTCP TargetBitrate messages, but stop sending them.
Also, add ToString() convenience method to the target bitrate struct. Super useful when doing printf debugging :)

BUG=webrtc:7858

Review-Url: https://codereview.webrtc.org/2947633003
Cr-Commit-Position: refs/heads/master@{#18717}
2017-06-22 12:40:25 +00:00
7583390d1a Revert "Revert "Support more formats in RTCVideoFrame""
This reverts commit 0789dab2cbd1617e94d7300e375163d42345f3d4.

Reason for revert: Include obc_corevideoframebuffer target

Original change's description:
> Revert "Support more formats in RTCVideoFrame"
> 
> This reverts commit bd2220a9c496ef2e8567b68d4be9435a110bdc34.
> 
> Reason for revert: Broke external clients
> 
> Original change's description:
> > Support more formats in RTCVideoFrame
> > 
> > Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
> > RTCVideoFrame.
> > 
> > Bug: webrtc:7785
> > Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
> > Reviewed-on: https://chromium-review.googlesource.com/536773
> > Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> > Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> > Cr-Commit-Position: refs/heads/master@{#18691}
> 
> TBR=magjed@webrtc.org,andersc@webrtc.org
> 
> Change-Id: Id765dd9543ed0613a6b2de108b268c3501025fcd
> No-Presubmit: true
> No-Tree-Checks: true
> No-Try: true
> Bug: webrtc:7785
> Reviewed-on: https://chromium-review.googlesource.com/542837
> Reviewed-by: Anders Carlsson <andersc@webrtc.org>
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18697}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: I1ef5313b4a6c56eb8c7fd02d95db62c4e3c00255
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7785
Reviewed-on: https://chromium-review.googlesource.com/542838
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18716}
2017-06-22 12:23:03 +00:00
57ff3f4ec8 Remove aec_dump_unittests from audio_processing_tests.
It was included twice. In both of these targets:
webrtc/modules/audio_processing:{audio_processing_tests,
     audio_processing_unittests}

In audio_processing_tests, the new unit tests were added to 
public_deps, which (we think) somehow caused webrtc:webrtc_tests
to list the AecDump tests, to much confusion. 

Bug: webrtc:7404
Change-Id: I5788d93fef00d30a523312f317dde90eb64db8de
Reviewed-on: https://chromium-review.googlesource.com/543120
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Sebastian Jansson <srte@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18715}
2017-06-22 12:18:51 +00:00
28d5258d84 Force value-initialization of array to avoid uninitialized values.
An automatic undef checker noticed an error in the new
audio_processing_fuzzer. An array was default-initialized, meaning its
contents had indeterminate values. This array was later filtered for
forbidden values, which happened or did not happen based on the
uninitialized values. Hence the error.

TBR=henrik.lundin@webrtc.org

NOTRY=true

Bug: 735718, webrtc:7820
Change-Id: Ib50a6f7a5f054472fef07a27d37e02cea432a8ca
Reviewed-on: https://chromium-review.googlesource.com/544937
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Reviewed-by: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18713}
2017-06-22 10:57:11 +00:00
300ec8c8db Remove WEBRTC_TRACE from webrtc/modules/audio_coding
We'd like to remove all occurrences of WEBRTC_TRACE and delete the
macro! One logging mechanism is enough.


NOTRY=True

Bug: webrtc:5118
Change-Id: Ic226318e0aebe3a71785fcb4ce07371872ab7128
Reviewed-on: https://chromium-review.googlesource.com/518133
Reviewed-by: Oskar Sundbom <ossu@webrtc.org>
Commit-Queue: Alex Loiko <aleloi@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18712}
2017-06-22 10:05:51 +00:00
1d29c86cbf Make VideoProcessor::Init void (always returning true).
BUG=none

Review-Url: https://codereview.webrtc.org/2946263002
Cr-Commit-Position: refs/heads/master@{#18711}
2017-06-22 09:18:50 +00:00
451975206a Enable more unittests on iOS, and disable those that fail on simulator
Tests enabled:
* modules_unittests
* ortc_unittests
* rtc_media_unittests
* rtc_unittests
* video_capture_tests
* video_engine_tests

BUG=webrtc:5566,webrtc:4752,webrtc:5568,webrtc:5569

Review-Url: https://codereview.webrtc.org/2938193002
Cr-Commit-Position: refs/heads/master@{#18710}
2017-06-22 08:47:20 +00:00
ab97e18fa9 Fix the binary size regression on Chromium Windows.
There is a dependency chain from Chromium windows main_dll to Opus
which should never exist. We used to rely on rtc_static_library
to break this chain. So this CL replaced some rtc_source_set
with rtc_static_library.

libvpx fix (https://chromium-review.googlesource.com/c/544107/) for
ios-simulator linking issue is landed and this CL can be sumbitted once the new
Chromium is rolled into WebRTC.

BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2947273002
Cr-Commit-Position: refs/heads/master@{#18709}
2017-06-22 08:28:59 +00:00
c6de0c98af Upgrade to (D)TLS1.2 using the new BoringSSL (D)TLSv1_2_method functions
Bug: webrtc:7865
Change-Id: I39344f385181132fe2e0f832eec1cf8fe0736dfe
Reviewed-on: https://chromium-review.googlesource.com/543795
Commit-Queue: Emad Omara <emadomara@google.com>
Reviewed-by: Justin Uberti <juberti@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18706}
2017-06-22 00:30:04 +00:00
1168fd4ed5 What can't loopback test be more like full stack test?
It can; this CL makes it a lot closer, if not all the way to a merge.
Performance from video_loopback and screenshare_loopback should now
match what we're seeing in FullStackTest, which will make debugging and
assesment of quality differences much easier.

It also adds the ability to view all of the simulcast streams at once,
in separate windows.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2946893003
Cr-Commit-Position: refs/heads/master@{#18703}
2017-06-21 16:00:17 +00:00
10894996ef Fix timing frames and FEC conflict
Reenable pacer_exit timestamp updates for the timing frames and
exclude timing-frames carrying packets from the FEC.

BUG=webrtc:7859

Review-Url: https://codereview.webrtc.org/2947133002
Cr-Commit-Position: refs/heads/master@{#18702}
2017-06-21 15:23:19 +00:00
83c97da593 Only append SPS/PPS to bitstream if supplied out of band.
BUG=chromium:721597

Review-Url: https://codereview.webrtc.org/2945853002
Cr-Commit-Position: refs/heads/master@{#18701}
2017-06-21 14:22:40 +00:00
73e2180f94 Add webrtc/rtc_base skeleton.
Add webrtc/rtc_base in preparation for the larger rename
in https://codereview.webrtc.org/2877023002.
This is needed in order to make downstream projects update
their dependencies (since it's not possible to use public_deps
for android_library).

BUG=webrtc:7634
NOTRY=True

Change-Id: I90fa72c9ebbc4e69bb3133413c3258432a5a72b1
Reviewed-on: https://chromium-review.googlesource.com/541215
Reviewed-by: Tommi <tommi@webrtc.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18699}
2017-06-21 12:50:22 +00:00
1b2469b878 Fix AVFoundation framework import
When building the WebRTC project for iOS, the build will fail on Xcode 9
because of a missing framework-header (AVFoundation). This pull-request
will add the missing "#import <AVFoundation/AVFoundation.h>" line to the
"RTCCameraVideoCapturer" class.

BUG=webrtc:7846

Review-Url: https://codereview.webrtc.org/2944753002
Cr-Commit-Position: refs/heads/master@{#18698}
2017-06-21 10:44:05 +00:00
0789dab2cb Revert "Support more formats in RTCVideoFrame"
This reverts commit bd2220a9c496ef2e8567b68d4be9435a110bdc34.

Reason for revert: Broke external clients

Original change's description:
> Support more formats in RTCVideoFrame
> 
> Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
> RTCVideoFrame.
> 
> Bug: webrtc:7785
> Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
> Reviewed-on: https://chromium-review.googlesource.com/536773
> Commit-Queue: Anders Carlsson <andersc@webrtc.org>
> Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
> Cr-Commit-Position: refs/heads/master@{#18691}

TBR=magjed@webrtc.org,andersc@webrtc.org

Change-Id: Id765dd9543ed0613a6b2de108b268c3501025fcd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: webrtc:7785
Reviewed-on: https://chromium-review.googlesource.com/542837
Reviewed-by: Anders Carlsson <andersc@webrtc.org>
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18697}
2017-06-21 08:41:37 +00:00
0f15f926e3 Introduce RtpStreamReceiverInterface and RtpStreamReceiverControllerInterface.
And implementation class RtpStreamReceiverController.
It's responsible for demuxing, and acts as factory for
RtpStreamReceiverInterface.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2886993005
Cr-Commit-Position: refs/heads/master@{#18696}
2017-06-21 08:05:22 +00:00
130ca7e783 Reland of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2949953003/ )
Reason for revert:
Relanding the orginal CL. The breakage would be a flakey build.

Original issue's description:
> Revert of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2945233002/ )
>
> Reason for revert:
> The Android 32 (more config) bot is broken.
>
> Original issue's description:
> > Try to fix the binary size increase issue on Chromium.
> >
> > The target common_video used to depend on rtc_media_base which introduces
> > the dependency on p2p. This probably causes the binary size increase on Win
> > Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.
> >
> > BUG=chromium:734631
> >
> > Review-Url: https://codereview.webrtc.org/2945233002
> > Cr-Commit-Position: refs/heads/master@{#18693}
> > Committed: 9ed1609737
>
> TBR=kjellander@webrtc.org,deadbeef@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:734631
>
> Review-Url: https://codereview.webrtc.org/2949953003
> Cr-Commit-Position: refs/heads/master@{#18694}
> Committed: c2e208a924

TBR=kjellander@webrtc.org,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2949883003
Cr-Commit-Position: refs/heads/master@{#18695}
2017-06-21 08:02:59 +00:00
c2e208a924 Revert of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2945233002/ )
Reason for revert:
The Android 32 (more config) bot is broken.

Original issue's description:
> Try to fix the binary size increase issue on Chromium.
>
> The target common_video used to depend on rtc_media_base which introduces
> the dependency on p2p. This probably causes the binary size increase on Win
> Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.
>
> BUG=chromium:734631
>
> Review-Url: https://codereview.webrtc.org/2945233002
> Cr-Commit-Position: refs/heads/master@{#18693}
> Committed: 9ed1609737

TBR=kjellander@webrtc.org,deadbeef@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2949953003
Cr-Commit-Position: refs/heads/master@{#18694}
2017-06-21 07:30:49 +00:00
9ed1609737 Try to fix the binary size increase issue on Chromium.
The target common_video used to depend on rtc_media_base which introduces
the dependency on p2p. This probably causes the binary size increase on Win
Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.

BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2945233002
Cr-Commit-Position: refs/heads/master@{#18693}
2017-06-21 06:58:36 +00:00
37aa8ba616 Test and fix for huge bwe drop after alr state.
BUG=webrtc:7746

Review-Url: https://codereview.webrtc.org/2931873002
Cr-Commit-Position: refs/heads/master@{#18692}
2017-06-21 06:42:30 +00:00
bd2220a9c4 Support more formats in RTCVideoFrame
Implement Obj-C version of webrtc::VideoFrameBuffer and use that in
RTCVideoFrame.

Bug: webrtc:7785
Change-Id: I49f42bcf451dd6769b3a79a65fe7b400dce22677
Reviewed-on: https://chromium-review.googlesource.com/536773
Commit-Queue: Anders Carlsson <andersc@webrtc.org>
Reviewed-by: Magnus Jedvert <magjed@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18691}
2017-06-21 06:30:23 +00:00
38145241a2 Create VideoDecoderFactory interface and implementation.
The implementation creates an Android hardware video decoder.  It is built
around the same patterns as the HardwareVideoEncoderFactory.

This change pulls some shared code and constants into a common "utils" class.

Finally, adds an instrumentation test for the HardwareVideoDecoder.

BUG=webrtc:7760

Change-Id: Iea6eaae7727925743cb54f7c3153a6c07d62f55d
Reviewed-on: https://chromium-review.googlesource.com/536254
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18686}
2017-06-20 18:37:30 +00:00
b080b46df4 Create a hardware VideoDecoder implementation using Android MediaCodec.
BUG=webrtc:7760

Change-Id: Ieae3852d22cadf24cf4184ae985062918a85f02c
Reviewed-on: https://chromium-review.googlesource.com/536237
Commit-Queue: Bjorn Mellem <mellem@webrtc.org>
Reviewed-by: Sami Kalliomäki <sakal@webrtc.org>
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18685}
2017-06-20 18:04:08 +00:00
fde2116288 Use constexpr to avoid a static initializer
Floating-point calculations are not guaranteed to happen at compile time
unless you force the issue with constexpr. This initializer was found
by running tools\win\static_initializers on a canary build
chrome_child.dll. constexpr was added to kSilenceRms for consistency.

BUG=chromium:341941

Review-Url: https://codereview.webrtc.org/2943833002
Cr-Commit-Position: refs/heads/master@{#18684}
2017-06-20 17:57:09 +00:00
a2af000882 Improve the simulation stats aggregation in neteq_rtpplay
The network stats used to be polled from the NetEq object once at the
very end of the simulation. With this change, the stats are polled
once every second, and then aggregated at the end of the run. This
leads to more meaningful numbers.

Bug: webrtc:2692
Change-Id: I9e0f4ddada2f9e42fb9234970deb1af235fffc8c
Reviewed-on: https://chromium-review.googlesource.com/541218
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18682}
2017-06-20 16:20:00 +00:00
2b3e061443 Hotfix for psnr regresion with fec tests caused by timing frames.
BUG=chromium:735001,webrtc:7594

Review-Url: https://codereview.webrtc.org/2946893002
Cr-Commit-Position: refs/heads/master@{#18681}
2017-06-20 15:52:27 +00:00
0bc0ccdc43 Add Matlab plotting script generator to neteq_rtpplay
This change adds an option to have neteq_rtpplay generate a Matlab
script. When executed in Matlab, the script will generate graphs with
the timing information from the test run.

The script is generated when the flag --matlabplot is passed to
neteq_rtpplay.

The CL also adds better checking and reporting about packets discarded
in the process of finding out the initial sampling rate.

Bug: webrtc:2692, webrtc:7467
Change-Id: I805e7c83b82533142b6e74bf065506e3d60a8170
Reviewed-on: https://chromium-review.googlesource.com/541276
Commit-Queue: Henrik Lundin <henrik.lundin@webrtc.org>
Reviewed-by: Ivo Creusen <ivoc@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18680}
2017-06-20 14:22:19 +00:00
8c51282f7f Added new AudioProcessing fuzzer
This is a high-level fuzzer that creates an AudioProcessing instance.
All possible combinations of publicly visible components are
fuzzed. Input and output sample rate, call order and use of the
float/fix interface is fuzzed. Sample rate may change between calls.

To fuzz floating point numbers, raw data is converted to floats, and
filtered for special values like 'inf', 'nan' and very large
values. Note that the default use case of APM is to only allow values
between +/- 2^15.

BUG=webrtc:7820

Review-Url: https://codereview.webrtc.org/2876793002
Cr-Commit-Position: refs/heads/master@{#18678}
2017-06-20 12:26:55 +00:00