9022 Commits

Author SHA1 Message Date
stefan
4f19b2fe09 Add OWNERS to BWE modules.
BUG=None

Review-Url: https://codereview.webrtc.org/2556703002
Cr-Commit-Position: refs/heads/master@{#15550}
2016-12-12 15:53:39 +00:00
brandtr
fe793eb2d1 Remove sequenced task checker from FlexfecSender.
The packetization parts of this class are accessed from the
encoder thread, which might change under different occasions.
The use of a sequenced task checker here is thus incorrect, since
that requires the access to always be on the same thread, whenever
a task queue is not used.

The access to the instantiated object of this class, at least when
it comes to the RTP packetization parts, is however synchronized
using the lock in PayloadRouter::OnEncodedImage. We can therefore
safely remove the sequenced task checker.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2562983002
Cr-Commit-Position: refs/heads/master@{#15549}
2016-12-12 15:14:03 +00:00
henrik.lundin
a9a6d4bc2c Delete voice_engine_configurations.h
The file was aldready pruned down to the point where it only included
webrtc/typedefs.h. Therefore, all includes of
voice_engine_configurations.h are replaced with typedefs.h, except on
two occasions where it was obvously not needed.

BUG=webrtc:6506

Review-Url: https://codereview.webrtc.org/2553583002
Cr-Commit-Position: refs/heads/master@{#15547}
2016-12-12 13:03:08 +00:00
philipp.hancke
ba7e71b53a remove googViewLimitedResolution stat
adaptReason in webrtcvideoengine2.h only defines NONE=0, CPU=1 and BANDWIDTH=2 so &0x4 can not happen anymore.
This was probably never implemented in videoengine2

BUG=webrtc:6870

Review-Url: https://codereview.webrtc.org/1887773002
Cr-Commit-Position: refs/heads/master@{#15546}
2016-12-12 12:46:27 +00:00
peah
d2ce622ea1 Disabling the potentially flaky test
VideoProcessorIntegrationTest.
ProcessNoLossSpatialResizeFrameDropVP9

TBR=sprang@webrtc.org

BUG=webrtc:6873

Review-Url: https://codereview.webrtc.org/2565373002
Cr-Commit-Position: refs/heads/master@{#15545}
2016-12-12 11:21:21 +00:00
hnsl
bd44bb0184 Fix out of bound reads in ParseIceServerUrl() for various input.
BUG=webrtc:6835

Review-Url: https://codereview.webrtc.org/2556783002
Cr-Commit-Position: refs/heads/master@{#15544}
2016-12-12 11:14:34 +00:00
brandtr
65a1e77202 Try to deflake VideoSendStream tests with ULPFEC.
The changes here are the same as in https://codereview.webrtc.org/2523993002/:
- reduce packet loss from 50% to 5%, to allow the BWE to ramp up better.
- Do not wait for 100 packets to be sent before letting the test pass.

BUG=webrtc:6851

Review-Url: https://codereview.webrtc.org/2558303002
Cr-Commit-Position: refs/heads/master@{#15542}
2016-12-12 09:55:09 +00:00
hbos
e448dd5355 RTCIceCandidatePairStats.consentRequestsSent set by RTCStatsCollector
and requestsSent is updated.

Before:
  requestsSent = total ping requests
Now
  requestsSent = pings sent before first response
  consentRequestsSent = pings after first response

Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-consentrequestssent

BUG=chromium:633550

Review-Url: https://codereview.webrtc.org/2558293002
Cr-Commit-Position: refs/heads/master@{#15541}
2016-12-12 09:22:59 +00:00
nisse
b29b9c8e49 Replace VideoCaptureDataCallback by VideoSinkInterface.
This also deletes unused features of the video_capturer interface, the classes
VideoCaptureFeedBack, VideoCaptureEncodeInterface and related methods,
and the module id which used to be passed as an argument to the
VideoCaptureDataCallback.

In theory the module id could have been used to let a single
VideoCaptureDataCallback serve several capturers, and demultiplex
on the id, but in practice, it was unused. With this change, it is
required to use a separate VideoSinkInterface for each capturer.

BUG=webrtc:6789

Review-Url: https://codereview.webrtc.org/2534553002
Cr-Commit-Position: refs/heads/master@{#15540}
2016-12-12 08:23:05 +00:00
Henrik Kjellander
99f7bfde28 Change MANUAL -> DISABLED for ScreenCapturerIntegrationTest tests
It turns out MANUAL_ isn't a part of the supported gtest prefixes: it's a part of the
Chromium test launcher: https://cs.chromium.org/chromium/src/content/public/test/test_launcher.cc?rcl=0&l=69

Luckily, we can use DISABLED_ for the same purpose, since there's the --gtest_also_run_disabled_tests
flag we can use.

BUG=webrtc:6666, webrtc:6843
TBR=zijiehe@chromium.org

Review-Url: https://codereview.webrtc.org/2568013002 .
Cr-Commit-Position: refs/heads/master@{#15539}
2016-12-12 07:30:09 +00:00
ssaroha
bbfed52cf2 Set OPENSSL_EC_NAMED_CURVE explicitly on EC key so that certificate has ASN1 OID and NIST curve info. Without this openSSL handshake negotiation fails throwing NO_SHARED_CIPHER error. the change made is along the lines of openssl behavior documented here: https://wiki.openssl.org/index.php/Elliptic_Curve_Diffie_Hellman#ECDH_and_Named_Curves
tested with openssl 1.0.2j

BUG=webrtc:6763

Review-Url: https://codereview.webrtc.org/2534773002
Cr-Commit-Position: refs/heads/master@{#15536}
2016-12-12 02:42:14 +00:00
minyue
ba41428b12 Adding googAudioNetworkAdaptorConfig to MediaConstraintsInterface.
This is to allow application to pass an audio network adaptor config string to WebRTC.

BUG=webrtc:6303

Review-Url: https://codereview.webrtc.org/2437803004
Cr-Commit-Position: refs/heads/master@{#15532}
2016-12-11 10:18:00 +00:00
deadbeef
d1a38b591d Implement the "needs-ice-restart" logic for SetConfiguration.
Changing the configuration will cause subsequently generated offers to change
the ufrag/pwd as necessary, so that a new round of gathering is started that
uses the new configuration.

This CL also makes some minor unrelated changes: changing the reference SDP in
the PC tests to more match what we generate, and relaxing the network thread
requirement for JsepTransport (since there's no reason the "needs-ice-restart"
flag can't be accessed from the signaling thread).

BUG=webrtc:6714

Review-Url: https://codereview.webrtc.org/2563153002
Cr-Commit-Position: refs/heads/master@{#15527}
2016-12-10 21:15:39 +00:00
deadbeef
3edec7cf1b Adding error enum to be used by PeerConnectionInterface methods.
The enum is at about the same level of detail as DOMExceptions, and I
looked through the spec making sure that chromium will be able to perform
the DOMException mapping for each one.

The new enum is called RtcError and is outside the PeerConnectionInterface
scope, because we may want to use this for things not associated with a
PeerConnection in the future.

This CL doesn't yet use the error enum anywhere; that will probably happen
in follow-up CLs for the individual methods.

BUG=webrtc:6855

Review-Url: https://codereview.webrtc.org/2564683002
Cr-Commit-Position: refs/heads/master@{#15526}
2016-12-10 19:44:35 +00:00
zijiehe
8d1649d71b MANUAL tests of GDI capturers
ScreenCapturerWinGdi randomly returns black frames in test environment. The root
cause is still unknown, so change ScreenCapturerWinGdi tests into MANUAL mode to
execute in test environment, but unblock other developers. We can eventually get
a failure ratio and more samples for debugging.

BUG=webrtc:6666, webrtc:6843

Review-Url: https://codereview.webrtc.org/2564173002
Cr-Commit-Position: refs/heads/master@{#15518}
2016-12-10 00:00:10 +00:00
pbos
5493b8a59d Remove extra uses of basictypes.h.
None of these files use size_t, int types or any of the macros/types
defined in basictypes.h.

BUG=webrtc:6853
R=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2564673002
Cr-Commit-Position: refs/heads/master@{#15513}
2016-12-09 14:54:08 +00:00
brandtr
3536463e7e Only store sequence numbers for media stream in FlexFEC end-to-end test.
This should remove the test flakiness, as before this change there
could be collisions from sequence numbers coming from two sequence
number spaces (the media SSRC and the FlexFEC SSRC). The probability
of collisions was low, and hence the flakes were far between.

This change also reduces the packet loss to 5% (down from ~50%), in
order for the BWE to have an easier time to ramp up.

BUG=webrtc:6825
R=philipel@webrtc.org, mflodman@webrtc.org

Review-Url: https://codereview.webrtc.org/2554403003
Cr-Commit-Position: refs/heads/master@{#15512}
2016-12-09 14:51:43 +00:00
kthelgason
ca87b62ede Disable failing perf test on Android.
A decision was recently made to limit downscaling to 320x180 on
Android. This causes the perf tests to fail. This test is no
longer valid on android, as the failure is expected behaviour.

BUG=None
NOTRY=true
TBR=phoglund@webrtc.org

Review-Url: https://codereview.webrtc.org/2563913003
Cr-Commit-Position: refs/heads/master@{#15510}
2016-12-09 14:15:22 +00:00
minyue
50254636d4 Modify JavaToStdString to allow ISO-8859-1 encoded strings.
Current implementation of JavaToStdString applies additional encoding that modifies ISO-8859-1 encoded strings (e.g. byte array). This CL is to fix this.

A planned use of this is to pass a protobuf serialized string as a MediaConstraint to WebRTC to configure audio network adaptor.

BUG=webrtc:6815

Review-Url: https://codereview.webrtc.org/2549783002
Cr-Commit-Position: refs/heads/master@{#15509}
2016-12-09 14:13:48 +00:00
terelius
5a388368a2 Implement Theil-Sen's method for fitting a line to noisy data (used in bandwidth estimation).
Theil and Sen's estimator essentially looks at the line through every pair of points and selects the median slope. This is robust to corruption of up to 29% of the data points.

Wire up new estimator to field trial experiment. Add unit and integration tests. Results are promising.

BUG=webrtc:6728

Review-Url: https://codereview.webrtc.org/2512693002
Cr-Commit-Position: refs/heads/master@{#15508}
2016-12-09 13:50:08 +00:00
hbos
02cd4d6dfc RTCInboundRTPStreamStats.packetsLost set by RTCStatsCollector.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcinboundrtpstreamstats-packetslost

BUG=chromium:657855

Review-Url: https://codereview.webrtc.org/2559973002
Cr-Commit-Position: refs/heads/master@{#15507}
2016-12-09 12:19:50 +00:00
hbos
d82f5125b7 RTCIceCandidatePairStats.requestsReceived defined by RTCStatsCollector.
Spec: https://w3c.github.io/webrtc-stats/#dom-rtcicecandidatepairstats-requestsreceived

BUG=chromium:633550

Review-Url: https://codereview.webrtc.org/2565463002
Cr-Commit-Position: refs/heads/master@{#15506}
2016-12-09 12:12:45 +00:00
kthelgason
33ce88926a Reland of Bump up scaling limit for MediaCodec. (patchset #1 id:1 of https://codereview.webrtc.org/2562963002/ )
Reason for revert:
Fixed perf tests.

Original issue's description:
> Revert of Bump up scaling limit for MediaCodec. (patchset #3 id:40001 of https://codereview.webrtc.org/2566533002/ )
>
> Reason for revert:
> Failed on the perf tests.
>
> Original issue's description:
> > Bump up scaling limit for MediaCodec.
> >
> > Wait until MediaCodec is better tested at these low
> > resolutions, and until some fallback mechanism is in place
> > before lowering this threshold.
> >
> > BUG=webrtc:6837
> >
> > Committed: https://crrev.com/3e9b1330467edf6b5af609b375c15efb9e6b4933
> > Cr-Commit-Position: refs/heads/master@{#15498}
>
> TBR=magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6837
>
> Committed: https://crrev.com/1cd0a0ab43846072b1e2f37c953ecd770feb5963
> Cr-Commit-Position: refs/heads/master@{#15500}

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

Review-Url: https://codereview.webrtc.org/2567613002
Cr-Commit-Position: refs/heads/master@{#15505}
2016-12-09 11:54:08 +00:00
peah
5ad5de3716 During AEC development, it is handy to be able to simulate different
orders of the ProcessStream and ProcessReverseStream API calls.

This CL adds the ability to specify that call order in a file.

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2561843003
Cr-Commit-Position: refs/heads/master@{#15503}
2016-12-09 11:18:30 +00:00
peah
df80fd1259 When recreating a call based on an aecdump recording the nearend used
is the one stored in the aecdump.

During AEC development, it is handy to be able to simulate different
doubletalk scenarios. This CL adds the ability to add an
artificial nearend on top of that present in the aecdump, which
allows for the developer to artificially customize the scenario
being tested

BUG=webrtc:6018

Review-Url: https://codereview.webrtc.org/2562593003
Cr-Commit-Position: refs/heads/master@{#15502}
2016-12-09 10:43:45 +00:00
asapersson
a90799d5fb Revert of Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabl… (patchset #1 id:40001 of https://codereview.webrtc.org/2532053002/ )
Reason for revert:
Increase in encode time larger than expected.

Original issue's description:
> Turn off error resilience for VP9 if no spatial or temporal layers are configured and NACK is enabled.
>
> Error resilience is currently always enabled for VP9 which reduces quality.
>
> BUG=webrtc:6783
>
> Committed: https://crrev.com/4eb03c76fa2320534d669fda2aabf800e7a6f579
> Cr-Commit-Position: refs/heads/master@{#15390}

TBR=stefan@webrtc.org,marpan@webrtc.org,mflodman@webrtc.org,marpan@google.com
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:6783

Review-Url: https://codereview.webrtc.org/2554403006
Cr-Commit-Position: refs/heads/master@{#15501}
2016-12-09 10:35:30 +00:00
kthelgason
1cd0a0ab43 Revert of Bump up scaling limit for MediaCodec. (patchset #3 id:40001 of https://codereview.webrtc.org/2566533002/ )
Reason for revert:
Failed on the perf tests.

Original issue's description:
> Bump up scaling limit for MediaCodec.
>
> Wait until MediaCodec is better tested at these low
> resolutions, and until some fallback mechanism is in place
> before lowering this threshold.
>
> BUG=webrtc:6837
>
> Committed: https://crrev.com/3e9b1330467edf6b5af609b375c15efb9e6b4933
> Cr-Commit-Position: refs/heads/master@{#15498}

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

Review-Url: https://codereview.webrtc.org/2562963002
Cr-Commit-Position: refs/heads/master@{#15500}
2016-12-09 10:30:50 +00:00
kthelgason
3e9b133046 Bump up scaling limit for MediaCodec.
Wait until MediaCodec is better tested at these low
resolutions, and until some fallback mechanism is in place
before lowering this threshold.

BUG=webrtc:6837

Review-Url: https://codereview.webrtc.org/2566533002
Cr-Commit-Position: refs/heads/master@{#15498}
2016-12-09 09:46:46 +00:00
stefan
7aa9b910ff Fix issue with deprecated CongestionController interface not working.
BUG=b/33446014

Review-Url: https://codereview.webrtc.org/2565503002
Cr-Commit-Position: refs/heads/master@{#15491}
2016-12-08 20:21:48 +00:00
zijiehe
e83f4b3835 Enable screen capturer tests for Linux / DirectX capturer / magnifier capturer
GDI capturer may randomly return a blank frame. So this change enables tests for
Linux / DirectX capturer / magnifier capturer.

BUG=webrtc:6666

Review-Url: https://codereview.webrtc.org/2559583002
Cr-Commit-Position: refs/heads/master@{#15489}
2016-12-08 19:47:09 +00:00
ehmaldonado
36df2d76c5 Refactor webrtc/modules/video_{capture,coding} for GN check
This moves some GN check configurations out of .gn to individual targets.
The now checked target is:
"//webrtc/modules/video_capture/*",
"//webrtc/modules/video_coding/*",

BUG=webrtc:6828
NOTRY=True
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2555333004
Cr-Commit-Position: refs/heads/master@{#15488}
2016-12-08 17:56:23 +00:00
brandtr
f7c6d7231c Rename RtpStreamReceiver::IsFecEnabled to RtpStreamReceiver::IsUlpfecEnabled.
BUG=webrtc:5654
R=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2548523002
Cr-Commit-Position: refs/heads/master@{#15487}
2016-12-08 16:25:51 +00:00
asapersson
8d193a72bc Do not update OnReceivedRtcpReceiverReport if report block list is empty (and rtt zero).
For example, zero rtt may be reported to:
BitrateControllerImpl::OnReceivedRtcpReceiverReport:
- SendSideBandwidthEstimation::UpdateReceiverBlock
- SendSideBandwidthEstimation::UpdateUmaStats
BitrateAllocator::OnNetworkChanged:
- ProtectionBitrateCalculator::SetTargetRates

Re-add check that was removed in https://codereview.webrtc.org/2422063002.

BUG=webrtc:6692

Review-Url: https://codereview.webrtc.org/2552883010
Cr-Commit-Position: refs/heads/master@{#15486}
2016-12-08 16:13:08 +00:00
kthelgason
c8474178d6 Reland of Add ability to scale to arbitrary factors (patchset #1 id:1 of https://codereview.webrtc.org/2557323002/ )
Reason for revert:
There was a bug in the implementation where the adapter could get stuck at really low resolutions. That has now been fixed.

Original issue's description:
> Revert of Add ability to scale to arbitrary factors (patchset #7 id:120001 of https://codereview.webrtc.org/2555483005/ )
>
> Reason for revert:
> Issue discovered with scaling back up.
>
> Original issue's description:
> > Add ability to scale to arbitrary factors
> >
> > This CL adds a fallback for the case when no optimized scale factor produces a low enough resolution for what was requested. It also ensures that all resolutions provided by the video adapter are divisible by four. This is required by some hardware implementations.
> >
> > BUG=webrtc:6837
> >
> > Committed: https://crrev.com/710c335d785b104bda4a912bd7909e4d27f9b04f
> > Cr-Commit-Position: refs/heads/master@{#15469}
>
> TBR=magjed@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6837
>
> Committed: https://crrev.com/7722a4cc8d31e5e924e9e6c5c97412ce8bbbe59d
> Cr-Commit-Position: refs/heads/master@{#15470}

R=magjed@webrtc.org
BUG=webrtc:6837,webrtc:6848

Review-Url: https://codereview.webrtc.org/2558243003
Cr-Commit-Position: refs/heads/master@{#15485}
2016-12-08 16:04:58 +00:00
nisse
7dada5e4c0 Delete deprecated CongestionController constructor and packet_router method.
This is a followup to https://codereview.webrtc.org/2516983004/, to be
landed after downstream projects are updated.

BUG=webrtc:6847

Review-Url: https://codereview.webrtc.org/2548633003
Cr-Commit-Position: refs/heads/master@{#15484}
2016-12-08 15:49:08 +00:00
kjellander
0287db05c3 Re-enable disabled VideoProcessorIntegrationTest tests
The llvm bug has now been fixed.

BUG=webrtc:6781
TBR=marpan@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2559113003
Cr-Commit-Position: refs/heads/master@{#15482}
2016-12-08 15:12:21 +00:00
brandtr
0582e6ca36 Add FlexFEC settings toggle in Android AppRTCMobile.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2550393002
Cr-Commit-Position: refs/heads/master@{#15481}
2016-12-08 14:51:35 +00:00
nisse
10daf861b9 Simplify an always true condition.
Also deletes one call to CongestionController::pacer.

BUG=None

Review-Url: https://codereview.webrtc.org/2542113003
Cr-Commit-Position: refs/heads/master@{#15479}
2016-12-08 14:24:35 +00:00
sakal
d0035575aa Fix error in VideoFileRenderer_nativeI420Scale.
Check for destination buffer size was incorrect.

BUG=webrtc:6545

Review-Url: https://codereview.webrtc.org/2563563003
Cr-Commit-Position: refs/heads/master@{#15478}
2016-12-08 12:41:22 +00:00
brandtr
1cfbd6003b Generalize FlexfecReceiveStream::Config.
- Adding information about RTCP and RTP header extensions.
- Renaming flexfec_payload_type -> payload_type and
  flexfec_ssrc -> remote_ssrc.

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

Review-Url: https://codereview.webrtc.org/2542413002
Cr-Commit-Position: refs/heads/master@{#15477}
2016-12-08 12:18:05 +00:00
brandtr
446fcb6cad Clean up FlexfecReceiveStream ctor signatures.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2535173008
Cr-Commit-Position: refs/heads/master@{#15476}
2016-12-08 12:14:29 +00:00
ehmaldonado
64c4a7ecfc Refactor webrtc/modules/audio_processing for GN check
This moves some GN check configurations out of .gn to individual targets.
The now checked target is:
"//webrtc/modules/audio_processing/*",

BUG=webrtc:6828
NOTRY=True
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2558813003
Cr-Commit-Position: refs/heads/master@{#15475}
2016-12-08 12:10:09 +00:00
johan
b0a111108b Decode h264 fmtp sprop-parameter-sets to binary.
BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2544493005
Cr-Commit-Position: refs/heads/master@{#15474}
2016-12-08 11:57:25 +00:00
aleloi
623427c522 Injectable output rate calculater for AudioMixer.
This CL breaks out the output sample rate calculation from
webrtc::AudioMixerImpl. A new OutputRateCalculator interface is added
to make the sample rate configurable. There are at least three reasons
for this change:

  1. The mixer will be used for an internal project, in which no
     resampling is done after the mixing. There the sample rate should
     be static. Currently, it can differ across mix iterations and
     depends on the number of audio sources. If there are no sources,
     the WebRTC mixer behavior is to produce silence at 48 kHz.

  2. A planned change to WebRTC will make audio processing steps
     happen at constant sample rates. A configurable sample rate
     calculator will make the transition simpler for the mixer.

  3. The current mixer design is a single large file. Behavior is not
     always simple to change (e.g. as in this case to mix at a
     constant rate), unrelated behavior can be broken, reusing the
     mixer in internal projects is tricky. Using DI for the sample
     rate calculation solves parts of these issues.

Changes:

The protected mixer c-tor now takes
unique_ptr<OutputRateCalculator>. The current output rate calculation
is moved to DefaultOutputRateCalculator. A new factory method
AudioMixerImpl::CreateWithOutputRateCalculator is added. The old
factory method passes the default rate calculator.

BUG=webrtc:6346

Review-Url: https://codereview.webrtc.org/2557713006
Cr-Commit-Position: refs/heads/master@{#15472}
2016-12-08 10:38:07 +00:00
asapersson
9abd275711 Remove unused arguments and variable in MediaOptimization.
BUG=none

Review-Url: https://codereview.webrtc.org/2552703005
Cr-Commit-Position: refs/heads/master@{#15471}
2016-12-08 10:19:49 +00:00
kthelgason
7722a4cc8d Revert of Add ability to scale to arbitrary factors (patchset #7 id:120001 of https://codereview.webrtc.org/2555483005/ )
Reason for revert:
Issue discovered with scaling back up.

Original issue's description:
> Add ability to scale to arbitrary factors
>
> This CL adds a fallback for the case when no optimized scale factor produces a low enough resolution for what was requested. It also ensures that all resolutions provided by the video adapter are divisible by four. This is required by some hardware implementations.
>
> BUG=webrtc:6837
>
> Committed: https://crrev.com/710c335d785b104bda4a912bd7909e4d27f9b04f
> Cr-Commit-Position: refs/heads/master@{#15469}

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

Review-Url: https://codereview.webrtc.org/2557323002
Cr-Commit-Position: refs/heads/master@{#15470}
2016-12-08 10:18:31 +00:00
kthelgason
710c335d78 Add ability to scale to arbitrary factors
This CL adds a fallback for the case when no optimized scale factor produces a low enough resolution for what was requested. It also ensures that all resolutions provided by the video adapter are divisible by four. This is required by some hardware implementations.

BUG=webrtc:6837

Review-Url: https://codereview.webrtc.org/2555483005
Cr-Commit-Position: refs/heads/master@{#15469}
2016-12-08 10:12:37 +00:00
hta
b39db841b6 Refactoring: Declare cricket::Codec constructors protected.
This makes it obvious that cricket::Codec should not be
instantiated; only subclasses should be instantiated.

BUG=none

Review-Url: https://codereview.webrtc.org/2546363002
Cr-Commit-Position: refs/heads/master@{#15468}
2016-12-08 09:50:52 +00:00
magjed
06a6984935 Android classreferenceholder.h: Reorder function declaration keywords
It should be 'JNIEXPORT rettype JNICALL' not 'rettype JNIEXPORT JNICALL'.

BUG=webrtc:6660

Review-Url: https://codereview.webrtc.org/2557793003
Cr-Commit-Position: refs/heads/master@{#15467}
2016-12-08 09:21:47 +00:00
zijiehe
2cd872a939 Log BitBlt failure
BitBlt returns a BOOL value, which should be taken care in ScreenCapturerWinGdi.
Meanwhile, this change also replaces assert() / abort() with RTC_DCHECK() /
RTC_CHECK() / RTC_NOTREACHED().

This change cannot fix the bug, the reason of the issue is still unknown, but it
is still the right thing to do.

In ScreenCapturerIntegrationTest, each frame will be captured at most 600 times.
Since the test case fails, which means the ScreenCapturerWinGdi consistently
returns a white frame for 600 times under a certain state. With this change,
instead of returning white frame, ScreenCapturerWinGdi will return a temporary
error. But I do not think a ScreenCapturerWinGdi can automatically recover by
retrying.

BUG=webrtc:6843

Review-Url: https://codereview.webrtc.org/2553353002
Cr-Commit-Position: refs/heads/master@{#15465}
2016-12-07 20:40:34 +00:00