Commit Graph

9525 Commits

Author SHA1 Message Date
b3b79b6115 Clean up the Config to enable 48kHz support in AudioProcessing
Now 48kHz is enabled by default.

BUG=webrtc:3146

Review URL: https://codereview.webrtc.org/1233393003

Cr-Commit-Position: refs/heads/master@{#9643}
2015-07-27 17:18:05 +00:00
ef35f069e7 Remove webrtc::Config from ViEChannelGroup.
Also removing webrtc/experiments.h which is no longer used.

BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1250513006

Cr-Commit-Position: refs/heads/master@{#9642}
2015-07-27 15:37:14 +00:00
081af25c11 Remove kProtectionKey* and VCMKeyRequestMode.
Enforces previous kProtectionKeyOnLoss as the permanent method which was
the only one used in use. This simplifies SetVideoProtection and
transition over to SetReceiverRobustnessMode.

BUG=webrtc:1596
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1244753002

Cr-Commit-Position: refs/heads/master@{#9641}
2015-07-27 15:02:27 +00:00
fa37e333cf Add pbos@webrtc.org to webrtc/video_engine/OWNERS.
BUG=
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1244733003

Cr-Commit-Position: refs/heads/master@{#9640}
2015-07-27 13:47:16 +00:00
fe0c90501b Improve probing by ignoring small packets which otherwise break the mechanism.
These small packets are common for H.264 where the first packet of an IDR
contains the parameter sets.

BUG=4806

Review URL: https://codereview.webrtc.org/1221943002

Cr-Commit-Position: refs/heads/master@{#9639}
2015-07-27 10:13:35 +00:00
b28678ce70 Add unittest to GlRectDrawer
Review URL: https://codereview.webrtc.org/1250093003

Cr-Commit-Position: refs/heads/master@{#9638}
2015-07-26 12:17:25 +00:00
013a580064 VideoCapturerAndroid: Revert elapsedRealtimeNanos to elapsedRealtime
Review URL: https://codereview.webrtc.org/1254143002

Cr-Commit-Position: refs/heads/master@{#9637}
2015-07-26 11:25:14 +00:00
d55ce2ddb9 BWE Simulation Framework: Standard plot logging
-- Made plot logging from MetricRecorder and from RateCounterFilter/PacketReceiver standard to fit python and shell plotting scripts likewise.

-- RateCounterFilter is initialized with algorithm name.
-- Removed spare commas and duplicated flow ids from RateCounterFilter name.
-- Added optional plot_delay and plot_loss in MetricRecorder.
-- PacketReceiver can plot directly plot delay if there is no metric_recorder_.
-- Added comments to plot scripts.

R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1253473004 .

Cr-Commit-Position: refs/heads/master@{#9636}
2015-07-25 23:45:05 +00:00
7a1c24fce5 Remove "multichannel" from parameter to match interface name.
TBR=mgraczyk@google.com

Review URL: https://codereview.webrtc.org/1250423004

Cr-Commit-Position: refs/heads/master@{#9635}
2015-07-25 00:11:00 +00:00
e2b34b7b4b Bug fix: camera frames are dropped before wideo encoder.
https://code.google.com/p/webrtc/issues/detail?id=4871

R=glaznev@webrtc.org
TBR=glaznev@webrtc.org

Review URL: https://codereview.webrtc.org/1260543002 .

Cr-Commit-Position: refs/heads/master@{#9634}
2015-07-24 21:12:31 +00:00
6bb1b6e7fe Control combined_audio_video_bwe with config bool.
Permits setting RTP extensions for AudioReceiveStream without enabling
combined A/V BWE. This prevents spamming the log with "Failed to find
extension id:".

BUG=webrtc:4870
R=mflodman@webrtc.org, stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1256803004

Cr-Commit-Position: refs/heads/master@{#9633}
2015-07-24 14:10:25 +00:00
cfd5f96307 Ignore packets with reordered timestamps when doing BWE.
BUG=webrtc:4793

Review URL: https://codereview.webrtc.org/1254723006

Cr-Commit-Position: refs/heads/master@{#9632}
2015-07-24 10:26:52 +00:00
a38233a586 Removed extended jitter report from RtcpSender.
This was never used (value always 0, when sent)

BUG=2450
R=asapersson@webrtc.org

Review URL: https://codereview.webrtc.org/1208843003 .

Cr-Commit-Position: refs/heads/master@{#9631}
2015-07-24 07:58:29 +00:00
6718e97e73 Add encode and decode time to histograms stats:
- "WebRTC.Video.EncodeTimeInMs"
- "WebRTC.Video.DecodeTimeInMs"

BUG=chromium:488243

Review URL: https://codereview.webrtc.org/1250203002

Cr-Commit-Position: refs/heads/master@{#9630}
2015-07-24 07:21:02 +00:00
c3f46a9f7f iOS: Move AppRTC logging methods to public headers.
BUG=

Review URL: https://codereview.webrtc.org/1241283004

Cr-Commit-Position: refs/heads/master@{#9629}
2015-07-23 19:50:59 +00:00
28bae02bd3 Remove CircularFileStream / replace it with CallSessionFileRotatingStream.
BUG=4838, 4839

Review URL: https://codereview.webrtc.org/1245143005

Cr-Commit-Position: refs/heads/master@{#9628}
2015-07-23 19:27:06 +00:00
3ab2f14d56 Remove C++11 calls from intelligibility_utils
The C++11 here was overkill. This replaces it with simpler logic that
covers all cases encountered so far in practice.

The problem was previously brought up here: https://codereview.webrtc.org/1250663007/

BUG=427718, 487341, webrtc:4866
R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1242943008

Cr-Commit-Position: refs/heads/master@{#9627}
2015-07-23 19:15:32 +00:00
86c6d33aec Allow more than 2 input channels in AudioProcessing.
The number of output channels is constrained to be equal to either 1 or the
number of input channels.

An earlier version of this commit caused a crash on AEC dump.

TBR=aluebs@webrtc.org,pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1248393003 .

Cr-Commit-Position: refs/heads/master@{#9626}
2015-07-23 18:41:45 +00:00
fcfdb08b59 Update AUTHORS file.
BUG=

Review URL: https://codereview.webrtc.org/1173403008

Cr-Commit-Position: refs/heads/master@{#9625}
2015-07-23 18:40:23 +00:00
d6fc47ea95 Remove base channel for video receivers.
BUG=webrtc:1695
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1251163002

Cr-Commit-Position: refs/heads/master@{#9624}
2015-07-23 13:58:36 +00:00
59adf34d84 Evaluation test cases.
Implemented according to:
http://datatracker.ietf.org/doc/draft-ietf-rmcat-eval-test/

Added tests 5.1 - 5.8.
Added GccComparison functions.
Modified SelfFairness test.

R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1237393002 .

Cr-Commit-Position: refs/heads/master@{#9623}
2015-07-23 13:40:49 +00:00
66f438f8c3 Revert of Fixing scenario where track is rejected and later un-rejected. (patchset #5 id:80001 of https://codereview.webrtc.org/1231613002/)
Reason for revert:
I think this causes WebRtcBrowserTest.CallAndModifyStream to fail on Android. See https://code.google.com/p/webrtc/issues/detail?id=4857 for more info.

Original issue's description:
> Fixing scenario where track is rejected and later un-rejected.
>
> Added `RestartLocalTracks` and `RestartRemoteTracks` methods to
> `MediaStreamHandlerContainer` which will redo the track handlers'
> initial setup; most importantly, this will re-connect the
> renderer/capturer/etc. to a channel which was destroyed and then
> re-created.
>
> Also added `AcceptRemoteTracks` method to MediaStreamSignaling, which
> does the inverse of `RejectRemoteTracks`. Effectively this will notify
> sinks that the track is live again, after previously being set to
> `kEnded` when it was rejected.
>
> BUG=webrtc:2136
>
> Committed: https://crrev.com/be37888b6d5d269dbd5385569dba15c0d70594f2
> Cr-Commit-Position: refs/heads/master@{#9600}

TBR=pthatcher@webrtc.org,juberti@webrtc.org,deadbeef@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:2136

Review URL: https://codereview.webrtc.org/1247443005

Cr-Commit-Position: refs/heads/master@{#9622}
2015-07-23 13:02:45 +00:00
64e753c399 Revert of Allow more than 2 input channels in AudioProcessing. (patchset #13 id:240001 of https://codereview.webrtc.org/1226093007/)
Reason for revert:
Breaks Chromium FYI content_browsertest on all platforms. The testcase that fails is WebRtcAecDumpBrowserTest.CallWithAecDump.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux/builds/19388

Sample output:
[ RUN      ] WebRtcAecDumpBrowserTest.CallWithAecDump
Xlib:  extension "RANDR" missing on display ":9".
[4:14:0722/211548:1282124453:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: ISAC/48000/1 (105)
[4:14:0722/211548:1282124593:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMU/8000/2 (110)
[4:14:0722/211548:1282124700:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: PCMA/8000/2 (118)
[4:14:0722/211548:1282124815:WARNING:webrtcvoiceengine.cc(472)] Unexpected codec: G722/8000/2 (119)
[19745:19745:0722/211548:1282133667:INFO:CONSOLE(64)] "Looking at video in element remote-view-1", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
[19745:19745:0722/211548:1282136892:INFO:CONSOLE(64)] "Looking at video in element remote-view-2", source: http://127.0.0.1:48819/media/webrtc_test_utilities.js (64)
../../content/test/webrtc_content_browsertest_base.cc:62: Failure
Value of: ExecuteScriptAndExtractString( shell()->web_contents(), javascript, &result)
  Actual: false
Expected: true
Failed to execute javascript call({video: true, audio: true});.
From javascript: (nothing)
When executing 'call({video: true, audio: true});'
../../content/test/webrtc_content_browsertest_base.cc:75: Failure
Failed
../../content/browser/media/webrtc_aecdump_browsertest.cc:26: Failure
Expected: (base::kNullProcessId) != (*id), actual: 0 vs 0
../../content/browser/media/webrtc_aecdump_browsertest.cc:95: Failure
Value of: GetRenderProcessHostId(&render_process_id)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:99: Failure
Value of: base::PathExists(dump_file)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:101: Failure
Value of: base::GetFileSize(dump_file, &file_size)
  Actual: false
Expected: true
../../content/browser/media/webrtc_aecdump_browsertest.cc:102: Failure
Expected: (file_size) > (0), actual: 0 vs 0
[  FAILED  ] WebRtcAecDumpBrowserTest.CallWithAecDump, where TypeParam =  and GetParam() =  (361 ms)

Original issue's description:
> Allow more than 2 input channels in AudioProcessing.
>
> The number of output channels is constrained to be equal to either 1 or the
> number of input channels.
>
> R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org
>
> Committed: c204754b7a

TBR=andrew@webrtc.org,aluebs@webrtc.org,ajm@chromium.org,pbos@chromium.org,pbos@webrtc.org,mgraczyk@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review URL: https://codereview.webrtc.org/1253573005

Cr-Commit-Position: refs/heads/master@{#9621}
2015-07-23 11:30:14 +00:00
b21fd94ece Temporarily disable ScreenshareSlides on Android.
BUG=chromium:513170
TBR=sprang@webrtc.org

Review URL: https://codereview.webrtc.org/1246123004 .

Cr-Commit-Position: refs/heads/master@{#9620}
2015-07-23 11:14:30 +00:00
c204754b7a Allow more than 2 input channels in AudioProcessing.
The number of output channels is constrained to be equal to either 1 or the
number of input channels.

R=aluebs@webrtc.org, andrew@webrtc.org, pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1226093007 .

Cr-Commit-Position: refs/heads/master@{#9619}
2015-07-23 04:06:16 +00:00
0b6a204b21 Configure AudioProcessing directly in agc_harness.
This allows us to configure create-time parameters for AudioProcessing
in a voice engine app and avoid the onerous SetExtraOptions.
voe_cmd_test would require significant refactoring to do the same.

Minor cleanups:
- Use agc_manager_direct. This should allow us to remove agc_manager.
- Use CHECKs rather than ASSERTs.

Review URL: https://codereview.webrtc.org/1247033006

Cr-Commit-Position: refs/heads/master@{#9618}
2015-07-23 01:27:16 +00:00
b297c5a01f Miscellaneous changes split from https://codereview.webrtc.org/1230503003 .
These are mostly trivial changes and are separated out just to reduce the
diff on that change to the minimum possible.

Note explanatory comments on patch set 1.

BUG=none
TEST=none

Review URL: https://codereview.webrtc.org/1235643003

Cr-Commit-Position: refs/heads/master@{#9617}
2015-07-22 22:17:26 +00:00
7c5304c791 Allow webrtc compilation with stlport
Android has not yet finalized its libc++ build. Allow compilation with
stlport by removing several C++11 library usages.

BUG=427718,487341,webrtc:4866
R=andrew@webrtc.org

Review URL: https://codereview.webrtc.org/1250663007 .

Patch from Jared Duke <jdduke@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#9616}
2015-07-22 20:04:30 +00:00
934119111e Provides log sinks for rotating logs. Intended for use on mobile devices to record call logs.
BUG=4838

Review URL: https://codereview.webrtc.org/1230823009

Cr-Commit-Position: refs/heads/master@{#9615}
2015-07-22 19:12:22 +00:00
f24b2bc48c Modified histogram shell plot script, added python dynamics plot script
Supports:

- bwe_plot.sh
---- Histogram plots
---- Baseline histograms
---- Vertical error lines
---- Dashed horizontal lines
---- Different colors for different algorithms
---- Legends read as input
---- Extra horizontal space in case there are TCP flows plotted
---- Multiple windows
---- Auto vertical scale, except for latency plots which are kept constant for all plots

- plot_dynamics.py
---- Dynamic plots
---- Different colors for different flows and algorithms
---- Dashed line plot for available capacity
---- Throughput, latency and loss on separated boxes

R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1237903003 .

Cr-Commit-Position: refs/heads/master@{#9614}
2015-07-22 15:41:14 +00:00
235c35f292 Implement store as an explicit atomic operation.
Using explicit atomic operations permits TSan to understand them and
prevents false positives.

Downgrading the atomic Load to acquire semantics. This reduces the
number of memory barriers inserted from two down to one at most.

Also renaming Load/Store to AcquireLoad/ReleaseStore.

BUG=chromium:512382
R=dvyukov@chromium.org, glider@chromium.org
TBR=tommi@webrtc.org

Review URL: https://codereview.webrtc.org/1246073002

Cr-Commit-Position: refs/heads/master@{#9613}
2015-07-22 15:35:04 +00:00
085856cd35 Extend full stack tests with more stats
BUG=
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1216613002 .

Cr-Commit-Position: refs/heads/master@{#9612}
2015-07-22 15:18:10 +00:00
d89920b74a Add resolution and fps stats to histograms:
- "WebRTC.Video.InputWidthInPixels"
- "WebRTC.Video.InputHeightInPixels"
- "WebRTC.Video.SentWidthInPixels"
- "WebRTC.Video.SentHeightInPixels"
- "WebRTC.Video.ReceivedWidthInPixels"
- "WebRTC.Video.ReceivedHeightInPixels"
- "WebRTC.Video.RenderFramesPerSecond"

BUG=chromium:512752

Review URL: https://codereview.webrtc.org/1228393008

Cr-Commit-Position: refs/heads/master@{#9611}
2015-07-22 13:52:03 +00:00
65eb1c3df9 Disable testcase NatTcpTest.TestConnectOut
TBR=pthatcher
BUG=webrtc:4863

Review URL: https://codereview.webrtc.org/1248123002

Cr-Commit-Position: refs/heads/master@{#9610}
2015-07-22 13:28:33 +00:00
d60a7993bf Mark WebRTC project as public in luci-config
NOTRY=true
R=kjellander@chromium.org, nodir@chromium.org
BUG=497093

Review URL: https://codereview.webrtc.org/1247793002

Cr-Commit-Position: refs/heads/master@{#9609}
2015-07-22 13:12:18 +00:00
b69ab79338 VideoCapturerAndroid: Add function to change capture format while camera is running
Review URL: https://codereview.webrtc.org/1178703009

Cr-Commit-Position: refs/heads/master@{#9608}
2015-07-22 09:32:04 +00:00
496019c596 If the array size is even, the median should be average of its two middlemost elements.
NADA unittests updated accordingly.

BUG=webrtc:4550
R=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1246083006 .

Cr-Commit-Position: refs/heads/master@{#9607}
2015-07-22 09:30:36 +00:00
83d6b0c254 Ignore genperf lib in merge_libs.py.
It's built as a part of the chromium build(?), but causes problems with XCode 7's new bitcode intermediate format. It should really never been included, but it never caused link failures before.

BUG=

Review URL: https://codereview.webrtc.org/1236383002

Cr-Commit-Position: refs/heads/master@{#9606}
2015-07-21 19:54:44 +00:00
343714eb06 Fix the problom that on Linux no external audio device can be selected since #9243.
In #9243 we added some thread_checker. But it shouldn't be added into PlayoutDevices() and RecordingDevices(), since these two will be invoked from RecThread and PlayoutThread too, other than the main thread.

BUG=webrtc:4852
TEST=voe_cmd_test
R=henrika@webrtc.org

Review URL: https://codereview.webrtc.org/1249573002 .

Cr-Commit-Position: refs/heads/master@{#9605}
2015-07-21 10:27:52 +00:00
2981945bcf Moved arrray_util include to beamformer.h
Review URL: https://codereview.webrtc.org/1244813003

Cr-Commit-Position: refs/heads/master@{#9604}
2015-07-20 20:22:27 +00:00
8ff04d6b3b Remove UpdateSsrcs from EncoderStateFeedback.
Removes ability to modify set SSRCs from EncoderStateFeedback after
construction.

BUG=webrtc:1695
R=sprang@webrtc.org
TBR=stefan@webrtc.org

Review URL: https://codereview.webrtc.org/1241123002

Cr-Commit-Position: refs/heads/master@{#9603}
2015-07-20 15:01:25 +00:00
324d9c9a86 Avoids error message about unknown selected data source for Port iPhone Microphone
TBR=tkchin
BUG=webrtc:4845
TEST=modules_unittests

Review URL: https://codereview.webrtc.org/1237233003 .

Cr-Commit-Position: refs/heads/master@{#9602}
2015-07-20 11:09:34 +00:00
f421bdc68d Fix an NPE when creating TurnPort with a NULL socket.
BUG=4827

Review URL: https://codereview.webrtc.org/1241943002

Cr-Commit-Position: refs/heads/master@{#9601}
2015-07-17 23:22:02 +00:00
be37888b6d Fixing scenario where track is rejected and later un-rejected.
Added `RestartLocalTracks` and `RestartRemoteTracks` methods to
`MediaStreamHandlerContainer` which will redo the track handlers'
initial setup; most importantly, this will re-connect the
renderer/capturer/etc. to a channel which was destroyed and then
re-created.

Also added `AcceptRemoteTracks` method to MediaStreamSignaling, which
does the inverse of `RejectRemoteTracks`. Effectively this will notify
sinks that the track is live again, after previously being set to
`kEnded` when it was rejected.

BUG=webrtc:2136

Review URL: https://codereview.webrtc.org/1231613002

Cr-Commit-Position: refs/heads/master@{#9600}
2015-07-17 17:30:53 +00:00
b947f287a6 Add pcap support to bwe tools. Allow filtering on SSRCs.
Also switches the command line interface to gflags.

Review URL: https://codereview.webrtc.org/1235433005

Cr-Commit-Position: refs/heads/master@{#9599}
2015-07-17 12:27:27 +00:00
fabe2c961f Remove deprecated functions.
This CL removes some functions that are marked as deprecated. Chromium
has been updated in https://crrev.com/7dee3f68b7699ad72c7fc4d75332f72703313849
to call the new functions.

Review URL: https://codereview.webrtc.org/1237613003

Cr-Commit-Position: refs/heads/master@{#9598}
2015-07-16 20:43:27 +00:00
c27d89fdc6 Let WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame carry the input frame's timestamp to output frame.
Essentially we are carrying over the capture timestamp to the encoded frame sent out, so the frame lengths will contain no noise.

Review URL: https://codereview.webrtc.org/1225153002

Cr-Commit-Position: refs/heads/master@{#9597}
2015-07-16 17:27:23 +00:00
c5d0d95fd8 Ensuring that UDP TURN servers are always used as STUN servers.
This was already working in most cases, but not for some corner cases:
* If the PORTALLOCATOR_ENABLE_SHARED_SOCKET flag is not set
* If both a STUN server and TURN server are configured

I added unit tests for these cases, and centralized the code that gets
STUN server addresses in order to fix these and any related issues.

BUG=webrtc:4215

Review URL: https://codereview.webrtc.org/1215713003

Cr-Commit-Position: refs/heads/master@{#9596}
2015-07-16 17:22:28 +00:00
d848d5e74a Enable cropping window capturing for Win7 when Aero is disabled.
BUG=webrtc:496110
R=sergeyu@chromium.org

Review URL: https://codereview.webrtc.org/1199073002 .

Cr-Commit-Position: refs/heads/master@{#9595}
2015-07-16 15:49:46 +00:00
bd38428089 Don't use result of "field_trial::FindFullName" as string reference.
"field_trial::FindFullName" can return "std::string()" which should not
be referenced by the caller.

Review URL: https://codereview.webrtc.org/1238943003

Cr-Commit-Position: refs/heads/master@{#9594}
2015-07-16 11:06:02 +00:00