Commit Graph

6455 Commits

Author SHA1 Message Date
f839dcc870 Add stats for rendered pixels (sqrt(w*h)) per second:
- "WebRTC.Video.RenderSqrtPixelsPerSecond"

BUG=chromium:512752

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

Cr-Commit-Position: refs/heads/master@{#10208}
2015-10-08 07:42:07 +00:00
e78e2c714b Using different sequence numbers for different SSRCs
This seems to solve the unexpected behavior when selecting lower layers.
Also, this replaces https://codereview.webrtc.org/1327153002/

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

Cr-Commit-Position: refs/heads/master@{#10206}
2015-10-08 06:44:35 +00:00
fddf6e526c Use WebRTC logging in MediaCodec JNI code.
Also enable HW encoder scaling in AppRTCDemo.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10205}
2015-10-07 23:51:20 +00:00
c7199c2d0b Read the number of TLs for VP9 too + cleanup
In video_sender.cc, properly read the number of temporal layers for VP9 too.

Also, some cleanup in video_loopback.cc and video_quality_test.h.

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

Cr-Commit-Position: refs/heads/master@{#10201}
2015-10-07 13:43:43 +00:00
78543284d0 Fix minor GYP error in webrtc/tools/internal_tools.gyp
It seems 'deps' is similar to 'dependencies' for the ninja and make
generators in GYP, but some generators does not support it.
Better use the correct key.
This was introduced in https://codereview.webrtc.org/1387243002/

TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10200}
2015-10-07 12:51:40 +00:00
172f009be2 Get rid of SCHANNEL code.
BUG=webrtc:5045

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

Cr-Commit-Position: refs/heads/master@{#10199}
2015-10-07 11:58:00 +00:00
70a5e0ead6 Remove (u)int typedefs from basictypes.h.
BUG=webrtc:5024
R=henrikg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10197}
2015-10-07 11:19:47 +00:00
0c4e06b4c6 Use suffixed {uint,int}{8,16,32,64}_t types.
Removes the use of uint8, etc. in favor of uint8_t.

BUG=webrtc:5024
R=henrik.lundin@webrtc.org, henrikg@webrtc.org, perkj@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10196}
2015-10-07 10:23:32 +00:00
8d15bd6dab Reland of Collecting encode_time_ms for each frame (patchset #1 id:1 of https://codereview.webrtc.org/1383283005/ )
Reason for revert:
The reverted commit didn't affect the tests, but the one before: https://codereview.webrtc.org/1385563005/

I've run the test that was failing (EndToEndTest.AssignsTransportSequenceNumbers) locally multiple times, and it works fine (finishes successfully in 150-170ms).

Original issue's description:
> Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
>
> Reason for revert:
> Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
> on several bots:
> http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
> http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
> http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
> http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414
>
> It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.
>
> Original issue's description:
> > Collecting encode_time_ms for each frame.
> >
> > Also, in Sample struct, replacing double with the original type.
> > It makes more sense to save the original data as truthful as possible, and then
> > convert it to double later if necessary (in the plot script).
> >
> > Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> > Cr-Commit-Position: refs/heads/master@{#10184}
>
> TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
>
> Committed: https://crrev.com/810447972425e890bc7911af27f894b86e9b7e6f
> Cr-Commit-Position: refs/heads/master@{#10185}

TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10195}
2015-10-07 09:43:25 +00:00
67bcb609a3 GN: Port frame_analyzer and rgba_to_i420_converter targets
Original patch by tfarina@chromium.org at
https://webrtc-codereview.appspot.com/42999004/

BUG=chromium:461019, webrtc:4504
TESTED=Tested on Linux with the following command lines:
$ gn gen/out/Debug --args='is_debug=true build_with_chromium=false'
$ ninja -C out/Debug frame_analyzer rgba_to_i420_converter
Also successfully compiled from a Chromium checkout using the steps in webrtc:4504.

R=tfarina@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#10193}
2015-10-07 06:43:07 +00:00
a38e31a054 Update lower-level codereview.settings files.
Every now and then we get CLs to codereview.webrtc.org
that are created from a Chromium checkout by editing
the code in third_party/webrtc or third_party/libjingle.

By editing these lower-level codereview.settings files,
we instead cause a crash during 'git cl upload', but the
contents of the file will also be printed, which can work
as an error message. The alternative would be to entirely
remove the files.

BUG=
R=andrew@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10191}
2015-10-06 21:19:34 +00:00
a10492ff33 Fix VS 2015 warning by adding an additional cast
The OwningThread member of CRITICAL_SECTION is declared as having type
HANDLE but it is actually the thread's Thread ID which is a DWORD. When
doing 64-bit builds of Chromium with VS 2015 this triggers a warning
because of the suspicious conversion from 32-bit integer to 64-bit
pointer.

This change adds a cast (and some comments) to make the conversion
explicit and avoid the warning.

R=henrikg@webrtc.org
BUG=440500

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

Cr-Commit-Position: refs/heads/master@{#10190}
2015-10-06 20:34:34 +00:00
10950692d6 Revert "Transport sequence number should be set also for retransmissions."
After this CL, video_engine_test started failing flakily in different bots for different CLs.

TBR=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10188}
2015-10-06 19:27:12 +00:00
0a6c4ca942 Catching more errors when parsing ICE server URLs.
Every malformed URL should now produce an error message in JS, rather than
silently failing and possibly printing a warning message to the console (and
possibly crashing).

Also added some unit tests, and made "ParseIceServers" public.

BUG=445002

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

Cr-Commit-Position: refs/heads/master@{#10186}
2015-10-06 18:38:33 +00:00
8104479724 Revert of Collecting encode_time_ms for each frame (patchset #13 id:220001 of https://codereview.webrtc.org/1374233002/ )
Reason for revert:
Breaks EndToEndTest.AssignsTransportSequenceNumbers in video_engine_tests
on several bots:
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Debug/builds/5507
http://build.chromium.org/p/client.webrtc/builders/Mac64%20Debug/builds/4815
http://build.chromium.org/p/client.webrtc/builders/Win%20SyzyASan/builds/3272
http://build.chromium.org/p/client.webrtc/builders/Linux%20Memcheck/builds/4414

It seems very unfortunate that it breaks on _exactly_ the bot configs that aren't covered by the CQ trybots.

Original issue's description:
> Collecting encode_time_ms for each frame.
>
> Also, in Sample struct, replacing double with the original type.
> It makes more sense to save the original data as truthful as possible, and then
> convert it to double later if necessary (in the plot script).
>
> Committed: https://crrev.com/092b13384e57b33e2003d9736dfa1f491e76f938
> Cr-Commit-Position: refs/heads/master@{#10184}

TBR=sprang@webrtc.org,pbos@webrtc.org,mflodman@webrtc.org,asapersson@webrtc.org,ivica@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#10185}
2015-10-06 18:34:14 +00:00
092b13384e Collecting encode_time_ms for each frame.
Also, in Sample struct, replacing double with the original type.
It makes more sense to save the original data as truthful as possible, and then
convert it to double later if necessary (in the plot script).

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

Cr-Commit-Position: refs/heads/master@{#10184}
2015-10-06 14:13:50 +00:00
af4ced986b Transport sequence number should be set also for retransmissions.
When fetching a packet from the rtp packet history, cuased by a
retransmission, the transport seq extension header is enabled but the
sequence number is set to 0. A new transport seq should be assigned in
this case.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10183}
2015-10-06 13:02:57 +00:00
5d0379da2c Remove kSkipFrame usage.
Since padding is no longer sent on Encoded() callbacks, dummy callbacks
aren't required to generate padding. This skip-frame behavior can then
be removed to get rid of dummy callbacks though nothing was encoded. As
frames don't have to be generated for frames that don't have to be sent
we skip encoding frames that aren't intended to be sent either, reducing
CPU load.

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

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

Cr-Commit-Position: refs/heads/master@{#10181}
2015-10-06 12:05:03 +00:00
13c433c299 Add delay metric (includes network delay (rtt/2) + jitter delay + decode time + render delay):
- "WebRTC.Video.OnewayDelayInMs"

BUG=chromium:512752

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

Cr-Commit-Position: refs/heads/master@{#10180}
2015-10-06 11:08:22 +00:00
7bd242e53d Enabling screensharing tests for Android
This CL runs the screensharing tests 5 times, and none of the Android trybots failed:
https://codereview.webrtc.org/1377663003/

Therefore, we can now probably enable the tests.

BUG=chromium:513170

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

Cr-Commit-Position: refs/heads/master@{#10179}
2015-10-06 09:04:15 +00:00
9359b5b978 Disabling AudioDeviceTest.StartStopPlayout on Android.
BUG=5046
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10178}
2015-10-06 07:13:45 +00:00
6caafbe5b6 Convert uint16_t to int for WebRTC cipher/crypto suite.
This is a follow up CL on https://codereview.webrtc.org/1337673002

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10175}
2015-10-05 19:43:33 +00:00
723dff1e6d Poll stats more often to get more stable stats in ramp-up tests.
BUG=chromium:538649
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10170}
2015-10-05 12:59:50 +00:00
4cd053fe88 Only catch UnsatisfiedLinkError in Logging.java.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10169}
2015-10-05 12:27:50 +00:00
f3a7c9d732 In rampup tests, set start time when starting poller thread.
This should avoid perf change caused by
https://codereview.webrtc.org/1378303004

BUG=539257
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10168}
2015-10-05 12:03:29 +00:00
95cd8ea31a Enable HW NS for N6 to fix HW AEC issue
TBR=magjed
BUG=b/24595150

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

Cr-Commit-Position: refs/heads/master@{#10167}
2015-10-05 11:59:01 +00:00
dec5ebf106 Move sent key frame stats to send_statistics_proxy class.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10166}
2015-10-05 09:36:20 +00:00
990d57dc65 Fix file order in base.gyp.
Review URL: https://codereview.webrtc.org/1386613003

Cr-Commit-Position: refs/heads/master@{#10164}
2015-10-05 08:22:32 +00:00
42b4faa28a Fix a build issue when use external OpenSSL.
R=juberti@google.com
TBR=juberti@webrtc.org
BUG=webrtc:5049

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

Cr-Commit-Position: refs/heads/master@{#10159}
2015-10-05 03:02:52 +00:00
13b96ba90f Adding APM configuration in AEC dump.
The AEC dump was not self-contented enough in the sense that APM configuration is missing, and therefore, given an AEC dump, it is sometimes not clear how to reproduce problems.

This CL tries to address the problem.

Note that this cannot guarantee a perfect reproduction in all cases. Dumping from the middle of a call makes the initial states unknown and thus may make the result non-reproducible.

BUG=
TEST= 1. new dump in Chromium and unpack
      2. unpack old dump

R=andrew@webrtc.org, peah@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10155}
2015-10-02 22:39:27 +00:00
371dc7e560 WebRtc Win Desktop capture: ignore Win8+ Modern Apps' windows.
Microsoft introduced modern app from win8. Modern apps can be used cross Microsoft's platforms.

It was confirmed from Microsoft that there is no support for modern app's window capture.

BUG=526883

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

Cr-Commit-Position: refs/heads/master@{#10154}
2015-10-02 22:36:36 +00:00
913e645e10 Loopback and audio only mode.
Adds a loopback button that will connect to itself by simulating another client connection to the web socket server.

Adds an audio only mode switch.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10153}
2015-10-02 18:45:13 +00:00
9dff0ba8c1 Fix MSVS project files generation.
BUG=5044
TBR=kjellander@webrtc.org
TEST=Runhooks with GYP_GENERATORS=msvs-ninja

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

Cr-Commit-Position: refs/heads/master@{#10151}
2015-10-02 17:07:58 +00:00
a050e982b0 Avoid race in RampUpTest
Poller thread is currently started in the constructor, so the first call
to PollStats() may happen even before the streams have been configured.
This will blow up on RTC_DCHECK_GT(expected_bitrate_bps_, 0);

Thread should instead be started on PerformTest() call.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10149}
2015-10-02 13:51:56 +00:00
1d8a506405 Add a PacketOptions struct to webrtc::Transport.
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

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

Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
da903eaabb Unify newapi::RtcpMode and RTCPMethod.
BUG=webrtc:1695
R=solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10143}
2015-10-02 09:37:18 +00:00
5aaa9b4fe4 Removed unused API functions in AudioProcessing and AudioProcessingModule
BUG=

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

Cr-Commit-Position: refs/heads/master@{#10138}
2015-10-02 06:58:21 +00:00
cf18b34cf3 Align new VoE API with design.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10136}
2015-10-01 15:13:46 +00:00
8c471e7bdf Objective-C++ style guide changes for iOS ADM
BUG=NONE

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

Cr-Commit-Position: refs/heads/master@{#10135}
2015-10-01 14:36:52 +00:00
fb30c1b5d1 Update VP8 settings to avoid spending bitrate on static areas. PERF NOTE
This CL changes the threshold where we consider a block to be static and
of sufficient quality to not spend bits/CPU encoding it.

Perf note: This change may result in a minor degradation of PSNR/SSIM
and available send bitrate. CPU usage and bitrate sent should however
be greately reduced.

BUG=webrtc:5015

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

Cr-Commit-Position: refs/heads/master@{#10134}
2015-10-01 13:26:16 +00:00
49f9cdba02 Fix bug where rtcp::TransportFeedback may generate incorrect messages.
In particular, if 14 short deltas were inserted (2 * capacity of status
vector chunk with 2bit items) followed by a large delta, that status
item would be dropped.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10132}
2015-10-01 10:07:04 +00:00
98ab3a46d6 Don't link with audio codecs that we don't use
We used to link with all audio codecs unconditionally (except Opus);
this patch makes gyp and gn only link to the ones that are used.

This unfortunately fails to have a measurable impact on Chromium
binary size, at least on x86_64 Linux; it turns out that iLBC and iSAC
fix were already being excluded from Chromium by some other means,
likely just the linker omitting compilation units with no incoming
references.

(This was previously landed as revisions 10046 and 10060, and got
reverted because it broke several of the Chromium FYI bots.)

BUG=webrtc:4557

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

Cr-Commit-Position: refs/heads/master@{#10127}
2015-10-01 04:54:29 +00:00
456696a9c1 Reland Change WebRTC SslCipher to be exposed as number only
This is to revert the change of https://codereview.webrtc.org/1380603005/

TBR=pthatcher@webrtc.org
BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10126}
2015-10-01 04:49:02 +00:00
27dc29b0df Revert of Change WebRTC SslCipher to be exposed as number only. (patchset #20 id:750001 of https://codereview.webrtc.org/1337673002/ )
Reason for revert:
This broke chromium.fyi bot.

Original issue's description:
> Change WebRTC SslCipher to be exposed as number only.
>
> This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.
>
> For SRTP, currently it's still string internally but is reported as IANA number.
>
> This is used by the ongoing CL https://codereview.chromium.org/1335023002.
>
> BUG=523033
>
> Committed: https://crrev.com/4fe3c9a77386598db9abd1f0d6983aefee9cc943
> Cr-Commit-Position: refs/heads/master@{#10124}

TBR=juberti@webrtc.org,rsleevi@chromium.org,pthatcher@webrtc.org,davidben@chromium.org,juberti@google.com,davidben@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10125}
2015-10-01 02:23:15 +00:00
4fe3c9a773 Change WebRTC SslCipher to be exposed as number only.
This makes the SSL exposed as uint16_t which is the IANA value. GetRfcSslCipherName is introduced to handle the conversion to names from ID. IANA value will be used for UMA reporting. Names will still be used for WebRTC stats reporting.

For SRTP, currently it's still string internally but is reported as IANA number.

This is used by the ongoing CL https://codereview.chromium.org/1335023002.

BUG=523033

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

Cr-Commit-Position: refs/heads/master@{#10124}
2015-10-01 01:49:17 +00:00
d0b3143f0e Do not time out a port if its role switched from controlled to controlling. Also fix some comments.
BUG=webrtc:5026

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

Cr-Commit-Position: refs/heads/master@{#10122}
2015-09-30 19:42:25 +00:00
898d21c1d4 WebRTC might leak srflx ip address when multiple_routes disabled and IceTransportType is relay.
This change filters out local ports when CF_HOST is not originally specified to prevent these ports from sending out STUN which leaks IP address.

BUG=webrtc:4946
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10121}
2015-09-30 17:55:05 +00:00
c4d3a5d44c Thinning out the Transport class.
Connecting TransportChannelImpls directly to the TransportController,
and removing redundant signal forwarding/state aggregating code from
Transport. This brings us closer to just getting rid of Transport
entirely.

R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10120}
2015-09-30 17:33:08 +00:00
2b342bf99c Delete a connection only if it has timed out on writing and not receiving for 10 seconds.
BUG=webrtc:5034,webrtc:4937
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10119}
2015-09-30 16:52:48 +00:00
4a8e9c556a Remove overrides folder.
This is a part of moving the overrides to Chromium. See bug comment #65 for all steps.

Depends on https://codereview.chromium.org/1357913002/

BUG=chromium:468375
TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10117}
2015-09-30 15:14:26 +00:00