14480 Commits

Author SHA1 Message Date
magjed
bdbc4b7ef5 Add H264 profile to webrtc::VideoCodecH264 and webrtc::VideoPayload
It's necessary to check H264 profile information as well as payload name
in PayloadIsCompatible in RTPPayloadRegistry.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2525693003
Cr-Commit-Position: refs/heads/master@{#15248}
2016-11-25 15:14:30 +00:00
magjed
1da1a09bf5 Android HW encoder: Set constrained baseline as the profile
The Android HW encoder is currently not setting any H264 codec parameters or profile information. No profile-level-id means Baseline Level 1, but we are actually using Contrained Baseline Level 3.1. This CL sets the correct codec parameters.

BUG=webrtc:6337

Review-Url: https://codereview.webrtc.org/2497163002
Cr-Commit-Position: refs/heads/master@{#15247}
2016-11-25 14:51:36 +00:00
ehmaldonado
03d6b086df Get rid of webrtc/base/latebindingsymboltable*
It is blocking the chromium roll and they don't seem to be used.

R=phoglund@webrtc.org, kjellander@webrtc.org, henrika@webrtc.org
BUG=webrtc:6775, webrtc:6739
NOTRY=True

Review-Url: https://codereview.webrtc.org/2534593002
Cr-Commit-Position: refs/heads/master@{#15246}
2016-11-25 14:47:15 +00:00
magjed
f3feeffe03 Reland of move RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #1 id:1 of https://codereview.webrtc.org/2528993002/ )
Reason for revert:
Downstream code has been updated.

Original issue's description:
> Revert of Remove RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #7 id:240001 of https://codereview.webrtc.org/2524923002/ )
>
> Reason for revert:
> Breaks downstream projects.
>
> Original issue's description:
> > Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
> >
> > This CL removes RTPPayloadStrategy that is currently used to handle
> > audio/video specific aspects of payload handling. Instead, the audio and
> > video specific aspects will now have different functions, with linear
> > code flow.
> >
> > This CL does not contain any functional changes, and is just a
> > preparation for future CL:s.
> >
> > The main purpose with this CL is to add this function:
> > bool PayloadIsCompatible(const RtpUtility::Payload& payload,
> >                          const webrtc::VideoCodec& video_codec);
> > that can easily be extended in a future CL to look at video codec
> > specific information.
> >
> > BUG=webrtc:6743
> >
> > Committed: https://crrev.com/b881254dc86d2cc80a52e08155433458be002166
> > Cr-Commit-Position: refs/heads/master@{#15232}
>
> TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6743
>
> Committed: https://crrev.com/33c81d05613f45f65ee17224ed381c6cdd1c6c6f
> Cr-Commit-Position: refs/heads/master@{#15234}

TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2531043002
Cr-Commit-Position: refs/heads/master@{#15245}
2016-11-25 14:40:30 +00:00
ehmaldonado
0fa164a22c Make Valgrind memcheck work in swarming.
Add a fallback path to tools/valgrind-webrtc/webrtc_tests.sh if locate_valgrind.sh fails.

This is a workaround to run memcheck on swarming, since locate_valgrind.sh fails even though the files are present. This is almost certainly because the way we use symlinks.

A warning message is displayed to warn the developers to follow the instructions to get the valgrind binaries.

Some extra suppressions were needed. The bug tracking them is https://bugs.webrtc.org/6773

R=kjellander@chromium.org
BUG=chromium:497757

Review-Url: https://codereview.webrtc.org/2531573003
Cr-Commit-Position: refs/heads/master@{#15244}
2016-11-25 13:49:00 +00:00
ehmaldonado
57329102f9 Revert of CQ: Disable android_more_configs trybot (patchset #1 id:1 of https://codereview.webrtc.org/2522953003/ )
Reason for revert:
Seems to have been fixed at https://codereview.webrtc.org/2531043003/

Original issue's description:
> CQ: Disable android_more_configs trybot
>
> It started to fail always on compile.
>
> BUG=chromium:668137
> TBR=ehmaldonado@webrtc.org
>
> Committed: https://crrev.com/8e321c82ebc21789e5436bb5df57adafec27b04d
> Cr-Commit-Position: refs/heads/master@{#15209}

TBR=kjellander@webrtc.org
NOTRY=True
BUG=chromium:668137

Review-Url: https://codereview.webrtc.org/2527373002
Cr-Commit-Position: refs/heads/master@{#15243}
2016-11-25 13:41:16 +00:00
henrik.lundin
76622ce3c3 Adding a unit test for RMSLevel
BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2524273003
Cr-Commit-Position: refs/heads/master@{#15242}
2016-11-25 13:30:57 +00:00
ehmaldonado
293bc2aa9a Add 'Update LASTCHANGE' hook to DEPS
BUG=webrtc:6769
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2531043003
Cr-Commit-Position: refs/heads/master@{#15241}
2016-11-25 12:58:56 +00:00
asapersson
5f7226f8a3 Turn off error resilience for vp8 for no temporal layers if nack is enabled.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2493893003
Cr-Commit-Position: refs/heads/master@{#15240}
2016-11-25 12:37:06 +00:00
magjed
5dfac56813 Keep all codec parameters in VideoReceiveStream::Decoder
It will be necessary to keep the H264 profile information in
VideoReceiveStream::Decoder. I think it will be easier now and for the
future to just store all of the codec parameters unmodified in
VideoReceiveStream::Decoder instead of extracting a subset of them to an
ad hoc class.

BUG=webrtc:6743,webrtc:5948

Review-Url: https://codereview.webrtc.org/2523773003
Cr-Commit-Position: refs/heads/master@{#15239}
2016-11-25 11:56:41 +00:00
asapersson
a6a699a130 Sent bitrate stats are incorrect if FlexFEC is configured:
WebRTC.Video.BitrateSentInKbps
WebRTC.Video.MediaBitrateSentInKbps
WebRTC.Video.PaddingBitrateSentInKbps
WebRTC.Video.RetransmittedBitrateSentInKbps
WebRTC.Video.FecBitrateSentInKbps

RtpSender has two StreamDataCounters: for the non-RTX and the RTX stream.
The same counter (for the non-RTX stream) is reported for both the media SSRC and the FlexFEC SSRC.
Bitrate stats are summed for all SSRCs, thus the counter for the non-RTX stream is counted twice.
Do not store the counter for the FlexFEC SSRC.

Do not include info from FlexFEC substreams in VideoSendStream::Stats::ToString (periodically logged during a call).

BUG=webrtc:6774

Review-Url: https://codereview.webrtc.org/2525293002
Cr-Commit-Position: refs/heads/master@{#15238}
2016-11-25 11:52:55 +00:00
magjed
6b272c5c37 RtpReceiver: Add RegisterReceivePayload function for VideoCodec
Turns out this function is needed by external code.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2532663002
Cr-Commit-Position: refs/heads/master@{#15237}
2016-11-25 10:29:44 +00:00
solenberg
5de9b6a3ec Move helpers_ios.cc/.h
- Out from modules/utility/ and into modules/audio_device/ios/ - there they are used.

BUG=none

Review-Url: https://codereview.webrtc.org/2526273002
Cr-Commit-Position: refs/heads/master@{#15236}
2016-11-25 08:47:12 +00:00
magjed
0928a3cf0f Reland of Split out target rtc_media_base from rtc_media (patchset #1 id:1 of https://codereview.webrtc.org/2508163002/ )
Reason for revert:
Include fix for downstream import.

Original issue's description:
> Revert of Split out target rtc_media_base from rtc_media (patchset #3 id:40001 of https://codereview.webrtc.org/2471573003/ )
>
> Reason for revert:
> Breaks downstream import.
>
> Original issue's description:
> > Split out target rtc_media_base from rtc_media
> >
> > The purpose with this CL is to be able to depend on
> > cricket::VideoCodec (webrtc/media/base/codec.h) from other targets
> > without getting cyclic dependencies.
> >
> > BUG=webrtc:6402,webrtc:6337
> >
> > NOTRY=True
> >
> > Committed: https://crrev.com/aae7e7cf35a5bb43ebbaf75396aa7ccc544e920a
> > Cr-Commit-Position: refs/heads/master@{#15137}
>
> TBR=kjellander@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6402,webrtc:6337
>
> Committed: https://crrev.com/0d0d7531b50a78efe7468610395e9dc5f496e2e9
> Cr-Commit-Position: refs/heads/master@{#15139}

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

Review-Url: https://codereview.webrtc.org/2509123003
Cr-Commit-Position: refs/heads/master@{#15235}
2016-11-25 08:40:26 +00:00
magjed
33c81d0561 Revert of Remove RTPPayloadStrategy and simplify RTPPayloadRegistry (patchset #7 id:240001 of https://codereview.webrtc.org/2524923002/ )
Reason for revert:
Breaks downstream projects.

Original issue's description:
> Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
>
> This CL removes RTPPayloadStrategy that is currently used to handle
> audio/video specific aspects of payload handling. Instead, the audio and
> video specific aspects will now have different functions, with linear
> code flow.
>
> This CL does not contain any functional changes, and is just a
> preparation for future CL:s.
>
> The main purpose with this CL is to add this function:
> bool PayloadIsCompatible(const RtpUtility::Payload& payload,
>                          const webrtc::VideoCodec& video_codec);
> that can easily be extended in a future CL to look at video codec
> specific information.
>
> BUG=webrtc:6743
>
> Committed: https://crrev.com/b881254dc86d2cc80a52e08155433458be002166
> Cr-Commit-Position: refs/heads/master@{#15232}

TBR=danilchap@webrtc.org,solenberg@webrtc.org,mflodman@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2528993002
Cr-Commit-Position: refs/heads/master@{#15234}
2016-11-24 19:08:45 +00:00
minyue
69b627d89d Move smoothing filter to common audio and exp_filter to base/analytics.
An earlier attempt of this work can be found here https://codereview.webrtc.org/2520003005/#ps100001, but was reverted.

PS4 in that CL was not valid since separation of BUILD.gn can cause internal bot to fail.

This is a new attempt, which is the same as https://codereview.webrtc.org/2520003005/#ps100001 but PS4 reverted.

BUG=webrtc:6443
TBR=tommi@webrtc.org, solenberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2532523002
Cr-Commit-Position: refs/heads/master@{#15233}
2016-11-24 19:01:14 +00:00
magjed
b881254dc8 Remove RTPPayloadStrategy and simplify RTPPayloadRegistry
This CL removes RTPPayloadStrategy that is currently used to handle
audio/video specific aspects of payload handling. Instead, the audio and
video specific aspects will now have different functions, with linear
code flow.

This CL does not contain any functional changes, and is just a
preparation for future CL:s.

The main purpose with this CL is to add this function:
bool PayloadIsCompatible(const RtpUtility::Payload& payload,
                         const webrtc::VideoCodec& video_codec);
that can easily be extended in a future CL to look at video codec
specific information.

BUG=webrtc:6743

Review-Url: https://codereview.webrtc.org/2524923002
Cr-Commit-Position: refs/heads/master@{#15232}
2016-11-24 18:43:50 +00:00
magjed
56124bd158 Send audio and video codecs to RTPPayloadRegistry
The purpose with this CL is to be able to send video codec specific
information down to RTPPayloadRegistry. We already do this for audio
with explicit arguments for e.g. number of channels. Instead of
extracting the arguments from webrtc::CodecInst (audio) and
webrtc::VideoCodec, this CL sends the types unmodified all the way down
to RTPPayloadRegistry.

This CL does not contain any functional changes, and is just a
preparation for future CL:s.

In the dependent CL https://codereview.webrtc.org/2524923002/,
RTPPayloadStrategy is removed. RTPPayloadStrategy previously handled
audio/video specific aspects of payload handling. After this CL, we will
know if we get audio or video codecs without any dependency injection,
since we have different functions with different signatures for audio
vs video.

BUG=webrtc:6743
TBR=mflodman

Review-Url: https://codereview.webrtc.org/2523843002
Cr-Commit-Position: refs/heads/master@{#15231}
2016-11-24 17:34:53 +00:00
danilchap
b7374dba6b Fix parsing padding byte in rtp header extension
BUG=chromium:664598

Review-Url: https://codereview.webrtc.org/2498903003
Cr-Commit-Position: refs/heads/master@{#15230}
2016-11-24 17:06:10 +00:00
ivoc
bf67663eb1 Rename "Audio playout level" to "Audio level" on the Y-axis of the event log graph.
BUG=webrtc:4741

Review-Url: https://codereview.webrtc.org/2527993002
Cr-Commit-Position: refs/heads/master@{#15229}
2016-11-24 16:30:42 +00:00
minyue
3c3aef44de Revert of Reland "Move smoothing filter to common audio". (patchset #5 id:100001 of https://codereview.webrtc.org/2520003005/ )
Reason for revert:
Internal bots failed.

Original issue's description:
> Reland "Move smoothing filter to common audio".
>
> The original CL was this https://codereview.webrtc.org/2484153002/
>
> Due to failure with internal trial servers, it was reverted. This CL tries to reland it.
>
> BUG=webrtc:6443
>
> Committed: https://crrev.com/223641f1b903e41e77d88f03199b4cdb65255ec8
> Cr-Commit-Position: refs/heads/master@{#15227}

TBR=tommi@webrtc.org,solenberg@webrtc.org,terelius@webrtc.org,kjellander@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2529943002
Cr-Commit-Position: refs/heads/master@{#15228}
2016-11-24 15:13:24 +00:00
minyue
223641f1b9 Reland "Move smoothing filter to common audio".
The original CL was this https://codereview.webrtc.org/2484153002/

Due to failure with internal trial servers, it was reverted. This CL tries to reland it.

BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2520003005
Cr-Commit-Position: refs/heads/master@{#15227}
2016-11-24 14:08:09 +00:00
ehmaldonado
b365b80159 Revert of Modify the paths of the resource files to point to chromium/src/tools/... (patchset #1 id:1 of https://codereview.webrtc.org/2528893002/ )
Reason for revert:
Didn't work

Original issue's description:
> Modify the paths of the resource files to point to chromium/src/tools/...
>
> R=kjellander@chromium.org
> BUG=chromium:497757
> NOTRY=True
>
> Committed: https://crrev.com/d8ae20b362f76d2153fa65b5d82d534c546c59a4
> Cr-Commit-Position: refs/heads/master@{#15225}

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

Review-Url: https://codereview.webrtc.org/2532453002
Cr-Commit-Position: refs/heads/master@{#15226}
2016-11-24 13:16:51 +00:00
ehmaldonado
d8ae20b362 Modify the paths of the resource files to point to chromium/src/tools/...
R=kjellander@chromium.org
BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2528893002
Cr-Commit-Position: refs/heads/master@{#15225}
2016-11-24 12:34:10 +00:00
ivoc
3cfb3efd69 Added a perf test for the residual echo detector.
This perf tests the echo detector in 3 scenarios: standalone, as part of APM with only the echo detector enabled and as part of a normally configured APM.

BUG=webrtc:6525

Review-Url: https://codereview.webrtc.org/2517523003
Cr-Commit-Position: refs/heads/master@{#15224}
2016-11-24 12:17:38 +00:00
ehmaldonado
37a2111d7c Increase the threshold for RunPlayoutAndRecordingInFullDuplex. Again.
RunPlayoutAndRecordingInFullDuplex fails sometimes on Android swarming
bots, presumably because the timing is hardware dependent.

This test ensures that audio starts pumping. The exact performance is
not that important.

R=kjellander@webrtc.org, henrika@webrtc.org
BUG=webrtc:6464
NOTRY=True

Review-Url: https://codereview.webrtc.org/2525943003
Cr-Commit-Position: refs/heads/master@{#15223}
2016-11-24 11:13:24 +00:00
henrik.lundin
3edc7f05f5 AGC: Add a histogram for new level
The histogram will log a new value every time the AGC changes level_.

BUG=webrtc:6622

Review-Url: https://codereview.webrtc.org/2525963002
Cr-Commit-Position: refs/heads/master@{#15222}
2016-11-24 09:42:52 +00:00
hbos
c42d37646f DataChannelInterface: Remove default implementation of methods.
This can land as soon as https://codereview.chromium.org/2520033005/ has
landed.

BUG=chromium:654927

Review-Url: https://codereview.webrtc.org/2524033002
Cr-Commit-Position: refs/heads/master@{#15221}
2016-11-24 09:18:00 +00:00
ehmaldonado
464d50f293 Set rtc_use_memcheck=true for the FYI bot.
R=kjellander@chromium.org
BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2529753002
Cr-Commit-Position: refs/heads/master@{#15220}
2016-11-23 21:19:30 +00:00
ehmaldonado
ed8c8ede5d Add rtc_use_memcheck flag, update MB and GN to handle it, and add gni files listing the runtime deps
When set to true, this adds the files necessary to run memcheck as data dependencies, listed in the .gni files.
This will enable us to run memcheck on swarming.

R=kjellander@chromium.org
BUG=chromium:497757
NOTRY=True

Review-Url: https://codereview.webrtc.org/2510033004
Cr-Commit-Position: refs/heads/master@{#15219}
2016-11-23 20:58:45 +00:00
honghaiz
d44d0bae85 For VPN network, use the underlying network type as its type.
This is for Android.

BUG=webrtc:6748

Review-Url: https://codereview.webrtc.org/2522073003
Cr-Commit-Position: refs/heads/master@{#15218}
2016-11-23 19:04:33 +00:00
zhihuang
4dfb8cef51 Make the default value of rtcp-mux policy to required.
Change the default value of rtcp-mux policy in RTCConfiguration.
Refactor the peerconnectioninterface and webrtcsession unit tests.

BUG=webrtc:6030

Review-Url: https://codereview.webrtc.org/2043193003
Cr-Commit-Position: refs/heads/master@{#15217}
2016-11-23 18:30:21 +00:00
solenberg
e02407ab6c Add myself to WATCHLIST for api/.
BUG=webrtc:5716
NOTRY=true

Review-Url: https://codereview.webrtc.org/2524853003
Cr-Commit-Position: refs/heads/master@{#15216}
2016-11-23 16:42:57 +00:00
hbos
42eee12614 RTCPeerConnectionStats: Removed fixed TODO comments.
I forget to remove these when fixing them.

BUG=chromium:636818
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2522023003
Cr-Commit-Position: refs/heads/master@{#15215}
2016-11-23 15:43:32 +00:00
sakal
08be780512 Reland of Allow custom metrics implementations on Android. (patchset #1 id:1 of https://codereview.webrtc.org/2516403002/ )
Reason for revert:
Fix downstream.

Original issue's description:
> Revert of Allow custom metrics implementations on Android. (patchset #11 id:260001 of https://codereview.webrtc.org/2403463002/ )
>
> Reason for revert:
> Break downstream tests.
>
> Original issue's description:
> > Allow custom metrics implementations on Android.
> >
> > BUG=webrtc:6499
> >
> > Committed: https://crrev.com/de609b26c5fc77fd3388eae5594ee8a634edf8da
> > Cr-Commit-Position: refs/heads/master@{#15169}
>
> TBR=kjellander@webrtc.org,magjed@webrtc.org,sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6499
>
> Committed: https://crrev.com/f570a2804ed8af6f6586f4aea51e089bd55d7e42
> Cr-Commit-Position: refs/heads/master@{#15171}

TBR=kjellander@webrtc.org,magjed@webrtc.org,philipel@webrtc.org
BUG=webrtc:6499

Review-Url: https://codereview.webrtc.org/2518293002
Cr-Commit-Position: refs/heads/master@{#15214}
2016-11-23 15:12:28 +00:00
henrika
817208b50b Re-enables AudioDeviceTest.StartStopPlayout on Android
BUG=webrtc:5046

Review-Url: https://codereview.webrtc.org/2517383006
Cr-Commit-Position: refs/heads/master@{#15213}
2016-11-23 14:49:48 +00:00
sakal
8b6462861d Add fps reduction API to SurfaceViewRenderer.
SurfaceViewRenderer forwards these calls to EglRenderer.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2517953004
Cr-Commit-Position: refs/heads/master@{#15212}
2016-11-23 14:19:33 +00:00
sakal
4fe3b8dbe7 Add framelistener functionality to SurfaceViewRenderer.
SurfaceViewRenderer forwards these calls to EglRenderer.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2524723002
Cr-Commit-Position: refs/heads/master@{#15211}
2016-11-23 14:18:25 +00:00
sakal
1c82884e31 Remove binding framebuffer from GlTextureFrameBuffer.setSize.
There shouldn't be a need to bind the framebuffer to modify the texture
size. Binding the framebuffer causes a crash on Samsung Galaxy S3 mini
for some reason.

BUG=webrtc:6470

Review-Url: https://codereview.webrtc.org/2524003002
Cr-Commit-Position: refs/heads/master@{#15210}
2016-11-23 14:12:30 +00:00
Henrik Kjellander
8e321c82eb CQ: Disable android_more_configs trybot
It started to fail always on compile.

BUG=chromium:668137
TBR=ehmaldonado@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#15209}
2016-11-23 13:52:21 +00:00
brandtr
0c5a154075 Try to deflake VideoSendStream tests with FlexFEC.
BUG=webrtc:6744
NOTRY=True # goma doesn't work on android_more_configs bot

Review-Url: https://codereview.webrtc.org/2523993002
Cr-Commit-Position: refs/heads/master@{#15208}
2016-11-23 12:42:31 +00:00
hbos
0adb8285b1 RTCCodecStats[1] added.
RTCStatsCollector supports "payloadType", "codec" and "clockRate".
"channels", "parameters" and "implementation" need to be supported
before closing crbug.com/659117.

[1] https://w3c.github.io/webrtc-stats/#codec-dict*

BUG=chromium:659117, chromium:627816, chromium:657854
NOTRY=True

Review-Url: https://codereview.webrtc.org/2509803004
Cr-Commit-Position: refs/heads/master@{#15207}
2016-11-23 10:32:14 +00:00
denicija
71caaca254 Split avfoundationcapturer classes in separate files.
Increases readibility and helps with the formating.

BUG=webrtc:6680

Review-Url: https://codereview.webrtc.org/2488973002
Cr-Commit-Position: refs/heads/master@{#15206}
2016-11-23 08:42:06 +00:00
zijiehe
90ea7362fc Add DesktopFrame rotation functions
This change adds RotateDesktopFrame(), RotateRect(), RotateSize(),
ReverseRotate() functions, so an implementation can use these free functions to
rotate and copy pixels from one DesktopFrame to another at the same time.

This is the first part of the change to support rotation in DirectX capturer. In
a coming change, these functions will be used in DxgiOutputDuplicator to do the
rotation and copying.

Background,
DirectX APIs always return unrotated data buffer, so we need to rotate it to
match the user-selected rotation. What worse is except for the data buffer,
other variables return by these APIs are all rotated, e.g. output size, monitor
position. So we will eventually not be able to capture the rotated monitors,
because we cannot set their position and size correctly. Though
DXGI_OUTDUPL_DESC provides a DXGI_MODE_ROTATION enumeration to indicate the
output rotation, it does not provide a simple way to rotate an IDXGIResource,
which is the only thing we can get from duplication APIs. A typical user case
here is to use a matrix to transform the IDXGIResource and render it to a
surface. But since we do not render the IDXGIResource at all, we need to
manually rotate it.

BUG=314516

Review-Url: https://codereview.webrtc.org/2500883004
Cr-Commit-Position: refs/heads/master@{#15205}
2016-11-23 01:17:19 +00:00
Sergey Ulanov
e2b1501101 Start probes only after network is connected.
Previously ProbeController was starting probing as soon as SetBitrates()
is called. As result these probes would often timeout while connection
is being established. Now ProbeController receives notifications about
network route changes. This allows to start probing only when transport
is connected. This also makes it possible to restart probing whenever
transport route changes (will be done in a separate change).

BUG=webrtc:6332
R=honghaiz@webrtc.org, philipel@webrtc.org, stefan@webrtc.org

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

Committed: https://crrev.com/5c99c76255ee7bface3c742c25fb5617748ac86e
Cr-Original-Commit-Position: refs/heads/master@{#15094}
Cr-Commit-Position: refs/heads/master@{#15204}
2016-11-23 00:08:37 +00:00
Sergey Ulanov
1c062bf0af Fix module/desktop_capture compilation on iOS
modules/desktop_capture was failing to compile on iOS because some
files were not compiled.

BUG=667898
R=nicholss@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#15203}
2016-11-23 00:07:23 +00:00
henrik.lundin
c1dd1a5916 Really disable Opus complexity tests on Android
This is a follow-up to https://codereview.webrtc.org/2525603002/,
which was incomplete.

BUG=webrtc:6708
TBR=philipel@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2524813002
Cr-Commit-Position: refs/heads/master@{#15202}
2016-11-22 19:19:21 +00:00
ehmaldonado
d661e9c354 WebRTC: Replace ProjectRootPath by ResourcePath
BUG=webrtc:6727
NOTRY=True

Review-Url: https://codereview.webrtc.org/2513363004
Cr-Commit-Position: refs/heads/master@{#15201}
2016-11-22 18:43:05 +00:00
magjed
10165ab8e7 Unify VideoCodecType to/from string functionality
BUG=None

Review-Url: https://codereview.webrtc.org/2509273002
Cr-Commit-Position: refs/heads/master@{#15200}
2016-11-22 18:17:04 +00:00
magjed
2d60e53ad5 H264 encoder: Include QP information in encoded images
Set the |qp_| field in EncodedImage before calling OnEncodedImage.

BUG=webrtc:6541

Review-Url: https://codereview.webrtc.org/2499003002
Cr-Commit-Position: refs/heads/master@{#15199}
2016-11-22 16:42:14 +00:00