14320 Commits

Author SHA1 Message Date
danilchap
bc38b4d450 Revert of Simplify and extend RtpHeaderExtensionMap (patchset #12 id:260001 of https://codereview.webrtc.org/2452293004/ )
Reason for revert:
breaks downstream project

Original issue's description:
> Simplify and extend RtpHeaderExtensionMap
> Add register functions for various codepaths.
> Add initialize-list constructor to create usable const RtpHeaderExtensionMap
> Optimize implementation for GetId/GetType.
>
> BUG=webrtc:1994
>
> Committed: https://crrev.com/d1d26fbeb37a69471a34004c6ac2d3fafde5d404
> Cr-Commit-Position: refs/heads/master@{#14986}

TBR=sprang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2484863007
Cr-Commit-Position: refs/heads/master@{#14988}
2016-11-08 21:36:44 +00:00
zijiehe
e083909f85 Remove evil defines out of shared_x_display.h
This is a trivial but dangerous change to remove X11/Xlib.h out of
shared_x_display.h. Since we do not have a strict and automatically
Include-What-You-Use rule, I cannot quite tell whether any Chromium source files
wrongly assume X11/Xlib.h will be included through shared_x_display.h. We can
fix the breaks in Chromium after this change has been failed to integrate to
Chromium.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2482963003
Cr-Commit-Position: refs/heads/master@{#14987}
2016-11-08 20:47:19 +00:00
danilchap
d1d26fbeb3 Simplify and extend RtpHeaderExtensionMap
Add register functions for various codepaths.
Add initialize-list constructor to create usable const RtpHeaderExtensionMap
Optimize implementation for GetId/GetType.

BUG=webrtc:1994

Review-Url: https://codereview.webrtc.org/2452293004
Cr-Commit-Position: refs/heads/master@{#14986}
2016-11-08 20:20:46 +00:00
kwiberg
d69ad84420 Revert of Add a webrtc{en,de}coderfactory implementation for VideoToolbox (patchset #2 id:20001 of https://codereview.webrtc.org/2463313002/ )
Reason for revert:
Broke dependent project because the .gn changes weren't accompanied by corresponding .gyp changes.

Original issue's description:
> Add a webrtc{en,de}coderfactory implementation for VideoToolbox
>
> This CL removes the coupling of the VideoToolbox h264 implementation
> to the generic h264 code. The files have been moved into sdb/obj/Framework
> and all dependency on them has been removed from the rest of WebRTC.
> We now add it as an external encoder via a factory supplied to the
> CreatePeerConnectionFactory call. This also brings the iOS implementation
> closer to what we do on Android for MediaCodec.
>
> BUG=webrtc:6619
>
> Committed: https://crrev.com/6a5047dad31f14f53dd9f8bc1ecde19e1dede2e4
> Cr-Commit-Position: refs/heads/master@{#14953}

TBR=magjed@webrtc.org,stefan@webrtc.org,kthelgason@webrtc.org
BUG=webrtc:6619

Review-Url: https://codereview.webrtc.org/2483273002
Cr-Commit-Position: refs/heads/master@{#14985}
2016-11-08 18:42:55 +00:00
Henrik Kjellander
671c0ab458 GN: Add //build/toolchain/toolchain.gni to exec_script_whitelist
It's needed for the soon-to-be-rolled chromium_revision.

BUG=webrtc:6665
TBR=ehmaldonado@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14984}
2016-11-08 18:15:33 +00:00
terelius
f94ba462bc Update BWE_TEST_LOGGING_PLOT output format, and fix plot_dynamics.py script.
The new format for plot lines is PLOT <plot_no> <var_name>:<ssrc>@<alg_name> <time> <value>. The var_name is no longer prefixed by the context/tag (which most of the time was just the same as the test name.)

Update plot_dynamics.py script (which didn't work) to visualize the new BWE_TEST_LOGGING_PLOT lines.

BUG=webrtc:6621

Review-Url: https://codereview.webrtc.org/2456373002
Cr-Commit-Position: refs/heads/master@{#14983}
2016-11-08 17:52:08 +00:00
ehmaldonado
579729dd9e GN: Build tools and examples by default.
BUG=webrtc:6412
TBR=kjellander@webrtc.org, charujain@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2487723002
Cr-Commit-Position: refs/heads/master@{#14982}
2016-11-08 16:55:18 +00:00
kthelgason
e239779a8b Reenable P2P test case and remove outdated TODO
BUG=None

Review-Url: https://codereview.webrtc.org/2485953002
Cr-Commit-Position: refs/heads/master@{#14981}
2016-11-08 16:19:54 +00:00
aleloi
9561183708 Changed mixing to be done at the minimal possible frequency.
This change changes mixing to be done at the lowest possible
APM-native rate that does not lead to quality loss. An Audio
Processing-native rate is one of 8, 16, 32, or 48 kHz. Mixing at a
lower sampling rate and avoiding resampling can in many cases lead to
big efficiency improvements, as reported by experiments.

This CL also fixes a design issue with the AudioMixer: audio at
non-native rates is no longer fed to the APM instance which is the
limiter.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2458703002
Cr-Commit-Position: refs/heads/master@{#14980}
2016-11-08 14:39:58 +00:00
ehmaldonado
37d7a22af9 GN: Don't build tests by default.
BUG=webrtc:6412
R=kjellander@webrtc.org, charujain@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2486753002
Cr-Commit-Position: refs/heads/master@{#14979}
2016-11-08 14:34:25 +00:00
hbos
09bc128603 RTCMediaStream[Track]Stats added.
Not all members are collected by RTCStatsCollector and detached tracks
are not visible in the returned stats. This needs to be addressed before
closing crbug.com/660827 and crbug.com/659137

BUG=chromium:660827, chromium:659137, chromium:627816

Review-Url: https://codereview.webrtc.org/2467873005
Cr-Commit-Position: refs/heads/master@{#14978}
2016-11-08 14:29:26 +00:00
denicija
8c375dedb2 Expose bit rate property in ARDAppClient and set max bitrate for video RTCRtcSender.
BUG=webrtc:6654

Review-Url: https://codereview.webrtc.org/2484733002
Cr-Commit-Position: refs/heads/master@{#14977}
2016-11-08 14:28:25 +00:00
kjellander
56827ef527 Remove GetPreferredTryMasters from PRESUBMIT.
git cl try will then trigger CQ dry run, achieving even better
result, because PRESUBMIT will be run as well.

TBR=tandrii@chromium.org
BUG=663320
NOTRY=True

Review-Url: https://codereview.webrtc.org/2489523003
Cr-Commit-Position: refs/heads/master@{#14976}
2016-11-08 13:55:49 +00:00
tandrii
4fcc4d83ea Expand CQ dry run permission to people with tryjob access.
The group is project-webrtc-tryjob-access provided by
Chrome-Infra-Auth:
https://chrome-infra-auth.appspot.com/auth/groups#project-webrtc-tryjob-access

NOTRY=true
R=kjellander@webrtc.org
BUG=chromium:663320

Review-Url: https://codereview.webrtc.org/2484243002
Cr-Commit-Position: refs/heads/master@{#14975}
2016-11-08 13:51:19 +00:00
phoglund
6eaa55867b Disabling NOTREACHED which we're hitting flakily in browser tests.
I have no idea how bad it is that we're hitting this limit; I'm just
doing this to stop the tests from flaking.

BUG=webrtc:6484

Review-Url: https://codereview.webrtc.org/2477663002
Cr-Commit-Position: refs/heads/master@{#14974}
2016-11-08 13:32:07 +00:00
aleloi
81da488ab6 Added audio mixer and removed audio device module in AudioState::Config.
The audio_device_module field was currently unused. The audio_mixer
field is going to be used to pass an AudioMixer to AudioState.

In the hopefully-not-very-far future, the toplevel WebRTC API will allow passing
a custom AudioMixer, e.g. for spatialized audio (audio in space). If no
mixer is passed, a default mixer is created (the one in modules/audio_mixer).

The only object which will have a permanent reference to the mixer is AudioState.
AudioState is created in WebRTCVoiceEngine with a configuration object,
which already contains a VoiceEngine pointer. In this CL, we extend this
config object with a mixer pointer.

In summary: in an upcoming CL, a mixer will be either created in or passed to
WebRTCVoiceEngine. This mixer will be passed to the ctor of AudioState in a
config struct.

BUG=webrtc:6346
NOTRY=True

Review-Url: https://codereview.webrtc.org/2456363002
Cr-Commit-Position: refs/heads/master@{#14973}
2016-11-08 12:26:37 +00:00
denicija
40532a1646 Revert of Add bitrate section to settings view controller. (patchset #1 id:1 of https://codereview.webrtc.org/2473783003/ )
Reason for revert:
The usage of UIKeyboardTypeASCIICapableNumberPad enum (available only for iOS 10.0), is breaking the build of AppRTCMobile on devices with lesser os.
To re-land the UIKeyboardTypeASCIICapableNumberPad should be replaced with UIKeyboardTypeNumberPad

Original issue's description:
> Add bitrate section to settings view controller.
>
> BUG=webrtc:6654
>
> Committed: https://crrev.com/3babb99039478c36be58171c5409eac07ae153e5
> Cr-Commit-Position: refs/heads/master@{#14952}

TBR=magjed@webrtc.org,kthelgasson@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6654

Review-Url: https://codereview.webrtc.org/2488653002
Cr-Commit-Position: refs/heads/master@{#14972}
2016-11-08 12:01:01 +00:00
aleloi
5d78e8d96e Remove audio from BitrateEstimatorTest.
The BitrateEstimatorTest contains code to initialize an AudioState
instance and an AudioReceiveStream. That code is never run, and is
deleted in this CL.

NOTRY=True
BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2479383003
Cr-Commit-Position: refs/heads/master@{#14971}
2016-11-08 11:45:01 +00:00
kjellander
eee9c0e3ec GN: Move xmllite_xmpp_unittests into webrtc/libjingle
Moving one of the targets that shouldn't pollute the already large
webrtc/BUILD.gn file.

BUG=webrtc:6440
NOTRY=True

Review-Url: https://codereview.webrtc.org/2440963002
Cr-Commit-Position: refs/heads/master@{#14970}
2016-11-08 11:18:43 +00:00
magjed
a92704e6f5 Add function for getting supported H264 level from max resolution and fps
BUG=webrtc:6337

Review-Url: https://codereview.webrtc.org/2470133002
Cr-Commit-Position: refs/heads/master@{#14969}
2016-11-08 10:57:58 +00:00
michaelt
79e05888e8 Set actual transport overhead in rtp_rtcp
BUG=webrtc:6557

Review-Url: https://codereview.webrtc.org/2437503004
Cr-Commit-Position: refs/heads/master@{#14968}
2016-11-08 10:50:16 +00:00
philipel
b5b0b98f58 Allow webrtc::test::VcmCapturer to be updated with its current sink.
BUG=none

Review-Url: https://codereview.webrtc.org/2470393002
Cr-Commit-Position: refs/heads/master@{#14967}
2016-11-08 10:09:59 +00:00
sakal
b6e857d30b Remove deprecated methods from CameraEnumerationAndroid.
Following methods are removed:
getDeviceNames
getDeviceCount
getDeviceName(index)
getNameOfFrontFacingDevice
getNameOfBackFacingDevice

BUG=webrtc:6606,webrtc:5519

Review-Url: https://codereview.webrtc.org/2448393003
Cr-Commit-Position: refs/heads/master@{#14966}
2016-11-08 10:06:42 +00:00
ossu
d4d2f6009e Reinstated sctputils_unittest.cc
As I was preparing to move some files from the api/ folder, I noticed
that this file was not included in the BUILD.gn file. I've added it back
in and updated it to compile and run successfully again.

BUG=webrtc:5883

Review-Url: https://codereview.webrtc.org/2485603002
Cr-Commit-Position: refs/heads/master@{#14965}
2016-11-08 10:05:36 +00:00
magjed
23b7a4a390 Refactor WebRtcVideoReceiveStream::FilterSupportedCodecs
This CL removes WebRtcVideoReceiveStream::FilterSupportedCodecs and
adds more fine grained code for selecting and verifying codecs. This
also removes unnecessary copying of cricket::VideoCodecs.

BUG=webrtc:6337

Review-Url: https://codereview.webrtc.org/2474433012
Cr-Commit-Position: refs/heads/master@{#14964}
2016-11-08 09:13:02 +00:00
brandtr
9ed35a4bd3 Fix forward declaration typo in UlpfecGenerator.
BUG=webrtc:5654
NOTRY=true

Review-Url: https://codereview.webrtc.org/2481343004
Cr-Commit-Position: refs/heads/master@{#14963}
2016-11-08 08:29:06 +00:00
zijiehe
556f49d6b6 Remove the requirement of D3D_FEATURE_LEVEL_11_0, but export the D3D_FEATURE_LEVEL through APIs
D3D_FEATURE_LEVEL_11_0 is not offically documented on MSDN to be a requirement
of DXGI duplicator APIs. So instead of using D3D_FEATURE_LEVEL_11_0 as a
requirement in D3dDevice::Initialize(), this change adds a
ScreenCapturerWinDirectx::SupportedFeatureLevel() function to retrieves minimum
and maximium for further reference (in HostTraits to control the experiment).

BUG=314516

Review-Url: https://codereview.webrtc.org/2468083002
Cr-Commit-Position: refs/heads/master@{#14962}
2016-11-08 02:35:19 +00:00
zijiehe
6f601afcf4 Disable ScreenCapturerIntegrationTests because of flaky
ScreenCapturerIntegrationTests are still flaky on Windows.

BUG=webrtc:6666

TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2486553002
Cr-Commit-Position: refs/heads/master@{#14961}
2016-11-08 00:38:44 +00:00
zijiehe
fce4905987 Implement and use new DesktopCapturer APIs in WebRTC
This change replaces all GetWindowList / GetScreenList with GetScreenList,
SelectWindow / SelectScreen with SelectSource, and BringSelectedWindowToFront
with FocusOnSelectedSource in WebRTC.

BUG=webrtc:6513

Review-Url: https://codereview.webrtc.org/2479553006
Cr-Commit-Position: refs/heads/master@{#14960}
2016-11-07 23:25:22 +00:00
adam.fedor
bcc5d87f09 Add a GN target for unit tests, get them working again and added a test.
BUG=webrtc:3417

Review-Url: https://codereview.webrtc.org/2050153003
Cr-Commit-Position: refs/heads/master@{#14959}
2016-11-07 22:53:35 +00:00
tkchin
d83bf06167 iOS: Add improved BWE field trial.
BUG=webrtc:6664
NOTRY=True

Review-Url: https://codereview.webrtc.org/2482593002
Cr-Commit-Position: refs/heads/master@{#14958}
2016-11-07 19:39:01 +00:00
raphael.kubo.da.costa
ec7b009752 Finish reformatting RTCPUtility::RTCPParserV2::Validate()
Half of the function's code was reformatted and reindented in
https://codereview.webrtc.org/1307663004, but the bottom half was still
adhering to an old coding style and using different indentation values.

Not only does this make the code look confusing, but it can cause build
issues on certain compilers: for example, GCC 6.2.0 with -Wall causes
the build to fail because -Wmisleading-indentation is enabled.

BUG=None
R=asapersson@webrtc.org,danilchap@webrtc.org

Review-Url: https://codereview.webrtc.org/2479193002
Cr-Commit-Position: refs/heads/master@{#14957}
2016-11-07 18:46:03 +00:00
magjed
3663c52382 Provide move semantic for cricket::Codec and subclasses
The cricket::Codec class contains std containers like
std::map<std::string, std::string> and is expensive to copy. This CL
adds move constructors and move assignment operators for it and all
subclasses.

This CL also:
 * Implement functions with '= default' instead of doing it manually.
 * Makes codec::Matches symmetric. We currently don't check if the
   payload type of the callee is static, and might incorrectly return
   true in these cases.

BUG=None

Review-Url: https://codereview.webrtc.org/2481193002
Cr-Commit-Position: refs/heads/master@{#14956}
2016-11-07 18:14:44 +00:00
minyue
10cbb4648f Fixing config for Audio BWE.
The unit was kbps but the one default use of it is in bps. The inconsistency should be fixed.

BUG=webrtc:6670

Review-Url: https://codereview.webrtc.org/2247213005
Cr-Commit-Position: refs/heads/master@{#14955}
2016-11-07 17:29:27 +00:00
minyue
8927b0596c Reland of "Change TWCC send interval to reduce overhead on low BW situations."
"Change TWCC send interval to reduce overhead on low BW situations." was first committed in https://codereview.webrtc.org/2381833003/

but was reverted in https://codereview.webrtc.org/2468413009/ due to "float-cast-overflow".

BUG=webrtc:6442, webrtc:6669

Review-Url: https://codereview.webrtc.org/2482823002
Cr-Commit-Position: refs/heads/master@{#14954}
2016-11-07 15:51:27 +00:00
kthelgason
6a5047dad3 Add a webrtc{en,de}coderfactory implementation for VideoToolbox
This CL removes the coupling of the VideoToolbox h264 implementation
to the generic h264 code. The files have been moved into sdb/obj/Framework
and all dependency on them has been removed from the rest of WebRTC.
We now add it as an external encoder via a factory supplied to the
CreatePeerConnectionFactory call. This also brings the iOS implementation
closer to what we do on Android for MediaCodec.

BUG=webrtc:6619

Review-Url: https://codereview.webrtc.org/2463313002
Cr-Commit-Position: refs/heads/master@{#14953}
2016-11-07 15:26:05 +00:00
denicija
3babb99039 Add bitrate section to settings view controller.
BUG=webrtc:6654

Review-Url: https://codereview.webrtc.org/2473783003
Cr-Commit-Position: refs/heads/master@{#14952}
2016-11-07 15:23:59 +00:00
ehmaldonado
84309bc4e6 MB: Replace Win32 Release by Win64 Debug in FYI.
NOTRY=True
BUG=chromium:497757

Review-Url: https://codereview.webrtc.org/2484703002
Cr-Commit-Position: refs/heads/master@{#14951}
2016-11-07 14:57:23 +00:00
henrika
f502222443 - Adds thread safety annotations to the AudioDeviceBuffer class.
- Removes the lock that was used to protect the audio transport object.
  It is now protected "by design" instead.
- Removes rec/play_bytes_per_sample_ since we only support 16-bit samples.

BUG=webrtc:6560
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#14950}
2016-11-07 14:57:11 +00:00
philipel
41b8ca0420 PacketBuffer no longer copy the bitstream data of incoming packets.
This change the interface of the PacketBuffer since the bitstream data of the packet has to be persistent when inserted into the PacketBuffer.

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

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

Cr-Commit-Position: refs/heads/master@{#14949}
2016-11-07 14:42:32 +00:00
philipel
a75d12d09d H264SpsPpsTracker now return PacketAction on CopyAndFixBitstream.
To differentiate between when a packet should be dropped or when a keyframe
is missing its SPS and/or SPS CopyAndFixBitstream now returns:
 - kInsert, the packet should be inserted into the PacketBuffer.
 - kDrop, the packet should be dropped.
 - kRequestKeyframe, a keyframe should be requested.

BUG=webrtc:5514

Review-Url: https://codereview.webrtc.org/2477343002
Cr-Commit-Position: refs/heads/master@{#14948}
2016-11-07 13:11:44 +00:00
michaelt
f082c2aa8d Set min BWE bitrate form 10kbps to 5kbps and centralize minimum bitrate.
BUG=webrtc:6522

Review-Url: https://codereview.webrtc.org/2415543002
Cr-Commit-Position: refs/heads/master@{#14947}
2016-11-07 12:17:19 +00:00
kwiberg
c285012d3f Disable flaky test (ScreenCapturerIntegrationTest.CaptureUpdatedRegion)
NOTRY=true
BUG=webrtc:6666

Review-Url: https://codereview.webrtc.org/2485593002
Cr-Commit-Position: refs/heads/master@{#14946}
2016-11-07 11:50:14 +00:00
brandtr
1743a19183 Simplify SetFecParameters signature.
- Change const ptr to const ref in parameter list.
  Using nullptr as argument was invalid, so no need to send
  pointer instead of reference.
- Change return type to void or bool, where appropriate

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2455963003
Cr-Commit-Position: refs/heads/master@{#14945}
2016-11-07 11:36:14 +00:00
brandtr
f1bb476050 Simplify {,Set}UlpfecConfig interface.
Prior to this change, we signalled that ULPFEC was disabled
through a bool, but that RED was disabled by setting its
payload type to -1. The latter is consistent with how we
disable RED/ULPFEC in the config, so this CL removes the
ULPFEC bool from the {,Set}UlpfecConfig chain of member
functions.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2460533002
Cr-Commit-Position: refs/heads/master@{#14944}
2016-11-07 11:05:09 +00:00
brandtr
87d7d77700 Add new codec for FlexFEC.
This CL does nothing except adding new strings and enums corresponding to
the new codec.

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

Review-Url: https://codereview.webrtc.org/2470103002
Cr-Commit-Position: refs/heads/master@{#14943}
2016-11-07 11:04:03 +00:00
brandtr
d8048955fb Rename {,Set}GenericFECStatus to {,Set}UlpfecConfig.
At the same time, change to using int's instead of uint8_t's for the payload type.
This allows us to signal disabled FEC or RED using the sentinel value -1, which
is commonplace in other parts of the code.

These APIs will be deprecated when ULPFEC is deprecated.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2448463003
Cr-Commit-Position: refs/heads/master@{#14942}
2016-11-07 10:08:58 +00:00
philipel
36928454fa Allocate extra buffer space in FrameObject in case of H264.
Since ffmpeg use an optimized bitstream reader that reads in chunks of 32/64
bits the bitstream buffer has to be increased in order for the reader to not
read out of bounds.

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

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

Cr-Commit-Position: refs/heads/master@{#14941}
2016-11-07 09:42:43 +00:00
nisse
18ee17d1e7 Refactor VideoDenoiser to use a buffer pool, replacing explicit double buffering.
Also improve denoiser to not assume identical stride of all involved
frames, and delete the no longer needed function I420Buffer::CopyKeepStride.

BUG=None

Review-Url: https://codereview.webrtc.org/2469763002
Cr-Commit-Position: refs/heads/master@{#14940}
2016-11-07 09:35:05 +00:00
nisse
c97d1150f2 Delete unneeded includes.
BUG=None

Review-Url: https://codereview.webrtc.org/2467013003
Cr-Commit-Position: refs/heads/master@{#14939}
2016-11-07 09:28:03 +00:00