314 Commits

Author SHA1 Message Date
perkj
26091b1118 This reverts commit 8eb37a39e79fe1098d3503dcb8c8c2d196203fed. Chrome now have its own implementation of TaskQueues that is based on Chrome threads.
cl was originally reviewed here:
https://codereview.webrtc.org/2060403002/

- Add task queue to Call with the intent of replacing the use of one of the process threads.

- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

TBR=mflodman@webrtc.org
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2250123002
Cr-Commit-Position: refs/heads/master@{#14014}
2016-09-01 08:17:43 +00:00
nisse
9f8e37b6f8 Delete cricket::VideoFrame::ConvertToRgbBuffer.
Users are updated to call libyuv functions directly. Also delete
related unit tests.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2287233002
Cr-Commit-Position: refs/heads/master@{#14013}
2016-09-01 08:06:29 +00:00
kjellander
a69d973267 Move webrtc/audio_*.h to webrtc/api/call
BUG=webrtc:5878
NOTRY=True

Review-Url: https://codereview.webrtc.org/2059703002
Cr-Commit-Position: refs/heads/master@{#13996}
2016-08-31 14:33:14 +00:00
solenberg
f7a5335ca5 Remove fakewebrtccommon.h.
BUG=webrtc:4690

Review-Url: https://codereview.webrtc.org/1583773006
Cr-Commit-Position: refs/heads/master@{#13993}
2016-08-31 12:18:28 +00:00
skvlad
a8c94029d8 Fixed flaky test: WebRtcVideoChannel2BaseTest.GetStatsMultipleRecvStreams
This test has been failing on TSan lately:
  ../../webrtc/media/base/videoengine_unittest.h:519: Failure
  Value of: GetReceiverStats(i).frame_width
    Actual: 0
    Expected: DefaultCodec().width
    Which is: 640

The root cause for the failure appears to be that the stats update
(https://cs.chromium.org/chromium/src/third_party/webrtc/video/video_receive_stream.cc?rcl=1472584967&l=353)
happens to be after the frame is passed to the renderer - while the test
is only waiting for the former.

The fix is to give it some extra time using EXPECT_EQ_WAIT instead.

Review-Url: https://codereview.webrtc.org/2299483002
Cr-Commit-Position: refs/heads/master@{#13991}
2016-08-31 10:42:35 +00:00
nisse
d50747269e New static I420Buffer::Rotate method, to replace GetCopyWithRotationApplied.
GetCopyWithRotationApplied is not yet deleted; downstream projects
must be updated first.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2285693002
Cr-Commit-Position: refs/heads/master@{#13973}
2016-08-30 15:45:48 +00:00
kjellander
32c4a20df7 GN: Fix resource files for iOS test target
In order to get resource files to be properly packaged into
the .app for a unit test on iOS, the resource files needs
to be listed as sources in a bundle_data target.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2292853002
Cr-Commit-Position: refs/heads/master@{#13968}
2016-08-30 09:53:54 +00:00
asapersson
26dd92b2ff Remove last_width_/last_height_ from WebRtcVideoReceiveStream. Used in GetStats. Get dimensions from VideoReceiveStream::Stats instead.
BUG=webrtc:6274

Review-Url: https://codereview.webrtc.org/2280903002
Cr-Commit-Position: refs/heads/master@{#13967}
2016-08-30 07:45:50 +00:00
nisse
de04f8e10e Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2275313003/ )
Reason for revert:
Fixed downstream issue.

Original issue's description:
> Revert of Delete method cricket::VideoFrame::Copy. (patchset #3 id:210001 of https://codereview.webrtc.org/2275243002/ )
>
> Reason for revert:
> Again, brakes a downstream build by removing VideoFrame::Copy method.
>
> Original issue's description:
> > Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
> >
> > Reason for revert:
> > Downstream issue now fixed.
> >
> > Original issue's description:
> > > Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
> > >
> > > Reason for revert:
> > > It broke a downstream build by removing VideoFrame::Copy method.
> > >
> > > Original issue's description:
> > > > Delete method cricket::VideoFrame::Copy.
> > > >
> > > > Should be unused in Chrome since cl
> > > > https://codereview.chromium.org/2068703002/
> > > >
> > > > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > > > BUG=webrtc:5682
> > > >
> > > > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > > > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > > > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > > > Cr-Commit-Position: refs/heads/master@{#13244}
> > >
> > > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> > > Cr-Commit-Position: refs/heads/master@{#13246}
> >
> > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
> > # Not skipping CQ checks because original CL landed more than 1 days ago.
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/f715f983f1b33208ab2d2434f8b36ad5271f680f
> > Cr-Commit-Position: refs/heads/master@{#13924}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/91b03b0ff8c480e4245835c7a4a93733aac534a6
> Cr-Commit-Position: refs/heads/master@{#13925}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,philipel@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2287223002
Cr-Commit-Position: refs/heads/master@{#13949}
2016-08-29 09:07:01 +00:00
nisse
ebb8d04287 Delete deprecated and unused method VideoFrame::SetTimeStamp.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2283763002
Cr-Commit-Position: refs/heads/master@{#13948}
2016-08-29 08:09:33 +00:00
ehmaldonado
d02fe4b53b GN: Fix windows clang errors. Attempt 2.
BUG=webrtc:6255
NOTRY=True

Review-Url: https://codereview.webrtc.org/2281513002
Cr-Commit-Position: refs/heads/master@{#13942}
2016-08-26 20:31:34 +00:00
peah
1bcfce5ff2 Deactivated the intelligibility enhancement functionality by default
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2272423003
Cr-Commit-Position: refs/heads/master@{#13937}
2016-08-26 14:16:13 +00:00
peah
7d67e45104 Revert of Added functionality for specifying the initial signal level to use for the gain estimation in the l… (patchset #8 id:160001 of https://codereview.webrtc.org/2254973003/ )
Reason for revert:
This caused build breakage due to upstream dependencies.

These dependencies need to be resolved before landing the CL.

Original issue's description:
> This CL adds functionality in the level controller to
> receive a signal level to use initially, instead of the
> default initial signal level.
>
> BUG=
>
> Committed: https://crrev.com/57fec1d828113241186e78710ec5e851cc1a0e81
> Cr-Commit-Position: refs/heads/master@{#13931}

TBR=henrik.lundin@webrtc.org,aleloi@webrtc.org,solenberg@webrtc.org,henrika@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=

Review-Url: https://codereview.webrtc.org/2283793002
Cr-Commit-Position: refs/heads/master@{#13936}
2016-08-26 13:20:25 +00:00
peah
57fec1d828 This CL adds functionality in the level controller to
receive a signal level to use initially, instead of the
default initial signal level.

BUG=

Review-Url: https://codereview.webrtc.org/2254973003
Cr-Commit-Position: refs/heads/master@{#13931}
2016-08-26 11:58:21 +00:00
johan
073ece45b6 Skip unit test if GYP_DEFINES="rtc_use_h264=1" is not set.
Unit test would fail in default configuration (e.g. rtc_use_h264=0), cause it tests instantiating H264 specifics.

BUG=webrtc:6194, webrtc:6198

Review-Url: https://codereview.webrtc.org/2228733004
Cr-Commit-Position: refs/heads/master@{#13929}
2016-08-26 09:59:56 +00:00
philipel
91b03b0ff8 Revert of Delete method cricket::VideoFrame::Copy. (patchset #3 id:210001 of https://codereview.webrtc.org/2275243002/ )
Reason for revert:
Again, brakes a downstream build by removing VideoFrame::Copy method.

Original issue's description:
> Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
>
> Reason for revert:
> Downstream issue now fixed.
>
> Original issue's description:
> > Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
> >
> > Reason for revert:
> > It broke a downstream build by removing VideoFrame::Copy method.
> >
> > Original issue's description:
> > > Delete method cricket::VideoFrame::Copy.
> > >
> > > Should be unused in Chrome since cl
> > > https://codereview.chromium.org/2068703002/
> > >
> > > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > > BUG=webrtc:5682
> > >
> > > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > > Cr-Commit-Position: refs/heads/master@{#13244}
> >
> > TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> > Cr-Commit-Position: refs/heads/master@{#13246}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=webrtc:5682
>
> Committed: https://crrev.com/f715f983f1b33208ab2d2434f8b36ad5271f680f
> Cr-Commit-Position: refs/heads/master@{#13924}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org,nisse@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2275313003
Cr-Commit-Position: refs/heads/master@{#13925}
2016-08-25 14:08:19 +00:00
nisse
f715f983f1 Reland of Delete method cricket::VideoFrame::Copy. (patchset #1 id:1 of https://codereview.webrtc.org/2087923004/ )
Reason for revert:
Downstream issue now fixed.

Original issue's description:
> Revert of Delete method cricket::VideoFrame::Copy. (patchset #7 id:120001 of https://codereview.webrtc.org/2080253002/ )
>
> Reason for revert:
> It broke a downstream build by removing VideoFrame::Copy method.
>
> Original issue's description:
> > Delete method cricket::VideoFrame::Copy.
> >
> > Should be unused in Chrome since cl
> > https://codereview.chromium.org/2068703002/
> >
> > TBR=tkchin@webrtc.org,magjed@webrtc.org
> > BUG=webrtc:5682
> >
> > Committed: https://crrev.com/9c00f646f0b3cd33506a1944c7bc6724af041237
> > Committed: https://crrev.com/7e4e00d189a5dfac2b463a5100ee65ee2f11ed79
> > Cr-Original-Commit-Position: refs/heads/master@{#13236}
> > Cr-Commit-Position: refs/heads/master@{#13244}
>
> TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5682
>
> Committed: https://crrev.com/123f33cd009606d22cca8b0f4756812406d4580f
> Cr-Commit-Position: refs/heads/master@{#13246}

TBR=pbos@webrtc.org,tkchin@webrtc.org,magjed@webrtc.org,sergeyu@chromium.org,honghaiz@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2275243002
Cr-Commit-Position: refs/heads/master@{#13924}
2016-08-25 13:30:22 +00:00
ehmaldonado
4bc4d2747b GN: Fix Windows Clang errors
BUG=webrtc:6255
NOTRY=True

Review-Url: https://codereview.webrtc.org/2274713005
Cr-Commit-Position: refs/heads/master@{#13919}
2016-08-25 11:15:46 +00:00
deadbeef
fe8f48962a Fix setting the MTU for SCTP.
It was being set at the wrong point in time and with the address
parameter missing, so it wasn't having any effect.

Review-Url: https://codereview.webrtc.org/2237073002
Cr-Commit-Position: refs/heads/master@{#13909}
2016-08-24 23:27:00 +00:00
Taylor Brandstetter
1d7a637340 Fixing off-by-one error with max SCTP id.
Normally, when creating a data channel with an out-of-range ID,
createDataChannel returns nullptr. But due to an off-by-one
error, creating a data channel with ID 1023 returns a data channel
that silently fails later.

This probably occurred because it wasn't clear whether "kMaxSctpSid" was an
inclusive or exclusive maximum, so I changed the value to
"kMaxSctpStreams". This wasn't caught by unit tests because the
off-by-one error persisted to the unit tests as well.

Also getting rid of some dead code. We were adding SCTP streams to the
ContentDescription object but they weren't being used.

BUG=619849
R=pthatcher@webrtc.org, skvlad@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13906}
2016-08-24 20:15:35 +00:00
kjellander
28a0ffdd52 GN: Synchronize resources between Android and iOS.
iOS tests packaged into an .app uses the same way of
defining resources (the data attribute). Some iOS
simulator tests are failing due to missing resources, so
let's sync them all.

BUG=webrtc:5949
NOTRY=True

Review-Url: https://codereview.webrtc.org/2277753003
Cr-Commit-Position: refs/heads/master@{#13898}
2016-08-24 14:48:48 +00:00
nisse
792469709d Refactor WebRtcVideoCapturer.
Pass incoming frames directly to VideoCapturer::OnFrame (after
conversion to cricket::VideoFrame), without using SignalFrameCaptured
or WebRtcCapturedFrame.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2258933003
Cr-Commit-Position: refs/heads/master@{#13861}
2016-08-23 12:50:20 +00:00
nisse
84c03bafcf Add rtc_media as a direct dependency of rtc_media_unittests.
Without this, the rtc_media_unittests target was only an indirect
dependency, and compiled without HAVE_WEBRTC_VIDEO. And some testcases,
in particular, all tests defined by webrtcvideocapturer_unittest.cc,
are excluded from rtc_media_unittests.

BUG=

Review-Url: https://codereview.webrtc.org/2250433008
Cr-Commit-Position: refs/heads/master@{#13859}
2016-08-23 07:19:06 +00:00
asapersson
0d1ad326a3 Add histogram for percentage of incoming frames that are limited in resolution due to cpu:
- "WebRTC.Video.CpuLimitedResolutionInPercent"

BUG=webrtc:6235

Review-Url: https://codereview.webrtc.org/2254893009
Cr-Commit-Position: refs/heads/master@{#13858}
2016-08-23 06:56:53 +00:00
peah
72a5645fdf Removed the deactivation of the level controller when there is a built-in AGC available
BUG=

Review-Url: https://codereview.webrtc.org/2240763002
Cr-Commit-Position: refs/heads/master@{#13853}
2016-08-22 19:09:02 +00:00
nisse
4381700fcc WebRtcVideoFrame constructor without transport_frame_id.
Needed as a substitute when eliminating the Copy method.

BUG=webrtc:5682

Review-Url: https://codereview.webrtc.org/2262683002
Cr-Commit-Position: refs/heads/master@{#13843}
2016-08-22 10:55:01 +00:00
peah
4905f06878 Disable the software noise suppressor on iOS devices as that
functionality is always present in the hardware.

BUG=webrtc:6231

Review-Url: https://codereview.webrtc.org/2260173002
Cr-Commit-Position: refs/heads/master@{#13839}
2016-08-22 08:58:56 +00:00
kjellander
ec5c9061c8 GN: Fix errors when some variables are set to non-default values.
BUG=webrtc:6223
TESTED=Passing generation with:
gn gen out/Default --args='rtc_build_expat=false rtc_build_json=false rtc_build_libyuv=false'
NOTRY=True

Review-Url: https://codereview.webrtc.org/2257753002
Cr-Commit-Position: refs/heads/master@{#13827}
2016-08-19 08:07:33 +00:00
kjellander
72333d2ca0 Add kjellander@webrtc.org to more BUILD.gn OWNERS files.
NOTRY=True

Review-Url: https://codereview.webrtc.org/2258983003
Cr-Commit-Position: refs/heads/master@{#13826}
2016-08-19 07:48:39 +00:00
ossu
d4e9f62ea7 Updated AudioDecoderFactory to list AudioCodecSpecs instead of SdpAudioFormats.
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2123923004
Cr-Commit-Position: refs/heads/master@{#13810}
2016-08-18 09:02:15 +00:00
ossu
c54071d8ab WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
Reland of https://codereview.webrtc.org/2072753002/ which broke
chromium due to how their build was setup. This issue should now be
resolved.

Changed WebRtcVoiceEngine to present receive codecs from the formats
provided by its decoder factory. Added supported formats to
BuiltinAudioDecoderFactory. Added helper functions for creating some
simple decoder factories for mocking.

Created a PayloadTypeMapper for assigning payload types to formats. I
think we'll eventually want to use this further up, or possibly in
both the audio and video sides. It would be best if the engines didn't
have to talk payload types at all, but it might be more difficult to
get around when payload types depend on each-other, like the RTX
codecs for video.

BUG=webrtc:5805
TBR=ivoc@webrtc.org

Review-Url: https://codereview.webrtc.org/2250683002
Cr-Commit-Position: refs/heads/master@{#13793}
2016-08-17 09:45:47 +00:00
perkj
8eb37a39e7 Revert of Add task queue to Call. (patchset #42 id:840001 of https://codereview.webrtc.org/2060403002/ )
Reason for revert:
Failed on Win 10 Chrome FYI.

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win10%20Tester/builds/3847/steps/content_browsertests/logs/stdio

#
# Fatal error in e:\b\c\b\win_builder\src\third_party\webrtc\base\task_queue_win.cc, line 138
# last system error: 87
# Check failed: ((DWORD)0xFFFFFFFF) != result (4294967295 vs. 4294967295)
#

WebRtcBrowserTest

#

Original issue's description:
> - Add task queue to Call with the intent of replacing the use of one of the process threads.
>
> - Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.
>
> - BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.
>
> - VideoEncoderConfig and VideoSendStream::Config support move semantics.
>
> - The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.
>
> BUG=webrtc:5687
>
> Committed: https://crrev.com/cc168360f41322332860cb075edeb1cde21aa473
> Cr-Commit-Position: refs/heads/master@{#13767}

TBR=tommi@webrtc.org,mflodman@webrtc.org,stefan@webrtc.org,sprang@webrtc.org,pbos@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2248713003
Cr-Commit-Position: refs/heads/master@{#13774}
2016-08-16 09:40:59 +00:00
hbos
b24b1ceb48 Moving mock classes around so that they may be reused in other unittests
New files, classes moved from statscollector_unittest.cc:
+webrtc/api/test/mock_peerconnection.h
 for MockPeerConnectionFactory and MockPeerConnection
+webrtc/api/test/mock_webrtcsession.h
 for MockWebRtcSession
+webrtc/media/base/test/mock_mediachannel.h
 for MockVideoMediaChannel and MockVoiceMediaChannel

The webrtc/media/base/test folder is new.

BUG=chromium:627816

Review-Url: https://codereview.webrtc.org/2238933002
Cr-Commit-Position: refs/heads/master@{#13769}
2016-08-16 08:19:48 +00:00
perkj
cc168360f4 - Add task queue to Call with the intent of replacing the use of one of the process threads.
- Split VideoSendStream in two. VideoSendStreamInternal is created and used on the new task queue.

- BitrateAllocator is now created on libjingle's worker thread but always used on the new task queue instead of both encoder threads and the process thread.

- VideoEncoderConfig and VideoSendStream::Config support move semantics.

- The encoder thread is moved from VideoSendStream to ViEEncoder. Frames are forwarded directly to ViEEncoder which is responsible for timestamping ? and encoding the frames.

BUG=webrtc:5687

Review-Url: https://codereview.webrtc.org/2060403002
Cr-Commit-Position: refs/heads/master@{#13767}
2016-08-16 07:38:51 +00:00
maxmorin
1aee0b5bd9 Remove old methods in AudioTransport, make it pass a gn build
when building with default warnings.

This is in preparation for making a gn target for audio_device_tests.

BUG=webrtc:6170, webrtc:163
NOTRY=True

Review-Url: https://codereview.webrtc.org/2219653004
Cr-Commit-Position: refs/heads/master@{#13759}
2016-08-15 18:46:28 +00:00
asapersson
2e5cfcd6c2 Add periodic logging of video stats.
Add ToString method to: Call::Stats, VideoSendStream::Stats, VideoReceiveStream::Stats and log stats periodically (every 10 seconds).

BUG=

Review-Url: https://codereview.webrtc.org/2133073002
Cr-Commit-Position: refs/heads/master@{#13727}
2016-08-11 15:41:26 +00:00
zhihuang
9763d56464 Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage.
To allow end-to-end QuicDataChannel usage with a
PeerConnection, RTCConfiguration has been modified to
include a boolean for whether to do QUIC, since negotiation of
QUIC is not implemented. If one peer does QUIC, then it will be
assumed that the other peer must do QUIC or the connection
will fail.

PeerConnection has been modified to create data channels of type
QuicDataChannel when the peer wants to do QUIC.

WebRtcSession has ben modified to use a QuicDataTransport
instead of a DtlsTransportChannelWrapper/DataChannel
when QUIC should be used

QuicDataTransport implements the generic functions of
BaseChannel to manage the QuicTransportChannel.

Committed: https://crrev.com/34b54c36a533dadb6ceb70795119194e6f530ef5
Review-Url: https://codereview.webrtc.org/2166873002
Cr-Original-Commit-Position: refs/heads/master@{#13645}
Cr-Commit-Position: refs/heads/master@{#13657}
2016-08-05 18:14:54 +00:00
johan
3859c89b2e Add decoder-specific settings with proper lifetime.
Utilize these settings for h264 sprop-parameter-sets.

BUG=webrtc:5948

Review-Url: https://codereview.webrtc.org/2185953002
Cr-Commit-Position: refs/heads/master@{#13656}
2016-08-05 16:19:33 +00:00
deadbeef
907abe4411 Revert of Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage. (patchset #8 id:280001 of https://codereview.webrtc.org/2166873002/ )
Reason for revert:
Reverting because it broke an RTP data channel test on the FYI bots.

Original issue's description:
> Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage.
>
> To allow end-to-end QuicDataChannel usage with a
> PeerConnection, RTCConfiguration has been modified to
> include a boolean for whether to do QUIC, since negotiation of
> QUIC is not implemented. If one peer does QUIC, then it will be
> assumed that the other peer must do QUIC or the connection
> will fail.
>
> PeerConnection has been modified to create data channels of type
> QuicDataChannel when the peer wants to do QUIC.
>
> WebRtcSession has ben modified to use a QuicDataTransport
> instead of a DtlsTransportChannelWrapper/DataChannel
> when QUIC should be used
>
> QuicDataTransport implements the generic functions of
> BaseChannel to manage the QuicTransportChannel.
>
> Committed: https://crrev.com/34b54c36a533dadb6ceb70795119194e6f530ef5
> Cr-Commit-Position: refs/heads/master@{#13645}

TBR=pthatcher@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.webrtc.org/2206793007
Cr-Commit-Position: refs/heads/master@{#13647}
2016-08-04 19:22:22 +00:00
zhihuang
34b54c36a5 Modified PeerConnection and WebRtcSession for end-to-end QuicDataChannel usage.
To allow end-to-end QuicDataChannel usage with a
PeerConnection, RTCConfiguration has been modified to
include a boolean for whether to do QUIC, since negotiation of
QUIC is not implemented. If one peer does QUIC, then it will be
assumed that the other peer must do QUIC or the connection
will fail.

PeerConnection has been modified to create data channels of type
QuicDataChannel when the peer wants to do QUIC.

WebRtcSession has ben modified to use a QuicDataTransport
instead of a DtlsTransportChannelWrapper/DataChannel
when QUIC should be used

QuicDataTransport implements the generic functions of
BaseChannel to manage the QuicTransportChannel.

Review-Url: https://codereview.webrtc.org/2166873002
Cr-Commit-Position: refs/heads/master@{#13645}
2016-08-04 18:06:58 +00:00
aleloi
84ef615a5d Removed calls to VoE::SetPlayout() from WebRTCVoiceEngine.
This is part of rewriting the ConferenceMixer and OutputMixer.

Calls are instead routed through AudioReceiveStream::Start/Stop.

NOTRY=True

Review-Url: https://codereview.webrtc.org/2206223002
Cr-Commit-Position: refs/heads/master@{#13636}
2016-08-04 12:28:28 +00:00
Sergey Ulanov
19ee1e6eb1 Add cricket::VideoFrame::transport_frame_id() and set it to RTP timestamp.
Passing transport_frame_id() to VideoSink will allow to identify incoming video
frames, which will make it possible to correlate video frames on the
sender and on the receiver.

BUG=chromium:621691
R=mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#13596}
2016-08-01 20:36:04 +00:00
mflodman
86cc6ffc7c Variable audio bitrate.
This is a first CL wiring up AudioSendStream to BitrateAllocator. This
is still experimental and there is a test added for the audio only case,
combined audio video variable bitrate test cases will be added as a
follow up.

BUG=5079

Review-Url: https://codereview.webrtc.org/2165743003
Cr-Commit-Position: refs/heads/master@{#13527}
2016-07-26 11:44:12 +00:00
perkj
4e417b242a Reland of Switch to use SequencedTaskChecker instead of ThreadChecker where needed.
(patchset #1 id:1 of https://codereview.webrtc.org/2149553002/ )"
This reverts commit efd902cb1d9bbd81247a3e168f2080beae761d78.

Originally reviewed in https://codereview.webrtc.org/2149553002

The uptream problem should be fixed by https://codereview.webrtc.org/2145393003/

BUG=webrtc:5687
TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2152013002
Cr-Commit-Position: refs/heads/master@{#13483}
2016-07-15 06:36:00 +00:00
perkj
d75de086fb Reland of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2143123003/ )
Reason for revert:
And a new attempt.

Original issue's description:
> Revert of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2149533002/ )
>
> Reason for revert:
> Still broken- but different place.
>
> Original issue's description:
> > Reland of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2142893002/ )
> >
> > Reason for revert:
> > Upstream fixed.
> >
> > Original issue's description:
> > > Revert of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2147443002/ )
> > >
> > > Reason for revert:
> > > Breaks up stream projects.
> > >
> > > Original issue's description:
> > > > Clean up unused cricket::VideoCapturer inclusion from mediaengine.h
> > > >
> > > > TBR=nisse@webrtc.org
> > > > BUG=webrtc:5426
> > > >
> > > > Committed: https://crrev.com/1e56991f248f8235c69cb3d95b35a44389c48354
> > > > Cr-Commit-Position: refs/heads/master@{#13446}
> > >
> > > TBR=nisse@webrtc.org
> > > # Skipping CQ checks because original CL landed less than 1 days ago.
> > > NOPRESUBMIT=true
> > > NOTREECHECKS=true
> > > NOTRY=true
> > > BUG=webrtc:5426
> > >
> > > Committed: https://crrev.com/3a9f41e584953226e43bf312ec59d625c97cfd62
> > > Cr-Commit-Position: refs/heads/master@{#13447}
> >
> > TBR=nisse@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/e03c1618152824a980664536a64bc29d63740ad7
> > Cr-Commit-Position: refs/heads/master@{#13456}
>
> TBR=nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/7470eb7977c153d2a512f8376601b15c6266fa25
> Cr-Commit-Position: refs/heads/master@{#13458}

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

Review-Url: https://codereview.webrtc.org/2151693004
Cr-Commit-Position: refs/heads/master@{#13473}
2016-07-14 07:58:45 +00:00
ossu
6f06cca96f Create empty PayloadTypeMapper files and add them to builds.
This is related to https://codereview.webrtc.org/2072753002/ and its
eventual revert. That change required changes in chromium's build
files to not break it. Those build changes cannot be made before
these new files are available.

TBR=tommi@webrtc.org

Review-Url: https://codereview.webrtc.org/2145973003
Cr-Commit-Position: refs/heads/master@{#13466}
2016-07-13 17:06:31 +00:00
ossu
f93be584f7 Revert of WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs. (patchset #10 id:200001 of https://codereview.webrtc.org/2072753002/ )
Reason for revert:
For some reason, payload_type_mapper.cc is not being picked up in Chrome builds, leading to undefined references. Reverting while investigating.

Original issue's description:
> WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
>
> Changed WebRtcVoiceEngine to present receive codecs from the formats
> provided by its decoder factory. Added supported formats to
> BuiltinAudioDecoderFactory. Added helper functions for creating some
> simple decoder factories for mocking.
>
> Created a PayloadTypeMapper for assigning payload types to formats. I
> think we'll eventually want to use this further up, or possibly in
> both the audio and video sides. It would be best if the engines didn't
> have to talk payload types at all, but it might be more difficult to
> get around when payload types depend on each-other, like the RTX
> codecs for video.
>
> This CL also includes some changes to rtc::Optional. I've put them in
> a separate CL that should (or should not) land first, making these
> changes void.
> See: https://codereview.webrtc.org/2072713002/
>
> BUG=webrtc:5805
>
> Committed: https://crrev.com/95eb1ba0db79d8fd134ae61b0a24648598684e8a
> Cr-Commit-Position: refs/heads/master@{#13459}

TBR=ivoc@webrtc.org,tina.legrand@webrtc.org,tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2151453002
Cr-Commit-Position: refs/heads/master@{#13460}
2016-07-13 13:31:37 +00:00
ossu
95eb1ba0db WebRtcVoiceEngine: Use AudioDecoderFactory to generate recv codecs.
Changed WebRtcVoiceEngine to present receive codecs from the formats
provided by its decoder factory. Added supported formats to
BuiltinAudioDecoderFactory. Added helper functions for creating some
simple decoder factories for mocking.

Created a PayloadTypeMapper for assigning payload types to formats. I
think we'll eventually want to use this further up, or possibly in
both the audio and video sides. It would be best if the engines didn't
have to talk payload types at all, but it might be more difficult to
get around when payload types depend on each-other, like the RTX
codecs for video.

This CL also includes some changes to rtc::Optional. I've put them in
a separate CL that should (or should not) land first, making these
changes void.
See: https://codereview.webrtc.org/2072713002/

BUG=webrtc:5805

Review-Url: https://codereview.webrtc.org/2072753002
Cr-Commit-Position: refs/heads/master@{#13459}
2016-07-13 13:05:32 +00:00
perkj
7470eb7977 Revert of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2149533002/ )
Reason for revert:
Still broken- but different place.

Original issue's description:
> Reland of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2142893002/ )
>
> Reason for revert:
> Upstream fixed.
>
> Original issue's description:
> > Revert of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2147443002/ )
> >
> > Reason for revert:
> > Breaks up stream projects.
> >
> > Original issue's description:
> > > Clean up unused cricket::VideoCapturer inclusion from mediaengine.h
> > >
> > > TBR=nisse@webrtc.org
> > > BUG=webrtc:5426
> > >
> > > Committed: https://crrev.com/1e56991f248f8235c69cb3d95b35a44389c48354
> > > Cr-Commit-Position: refs/heads/master@{#13446}
> >
> > TBR=nisse@webrtc.org
> > # Skipping CQ checks because original CL landed less than 1 days ago.
> > NOPRESUBMIT=true
> > NOTREECHECKS=true
> > NOTRY=true
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/3a9f41e584953226e43bf312ec59d625c97cfd62
> > Cr-Commit-Position: refs/heads/master@{#13447}
>
> TBR=nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/e03c1618152824a980664536a64bc29d63740ad7
> Cr-Commit-Position: refs/heads/master@{#13456}

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

Review-Url: https://codereview.webrtc.org/2143123003
Cr-Commit-Position: refs/heads/master@{#13458}
2016-07-13 10:03:09 +00:00
perkj
e03c161815 Reland of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2142893002/ )
Reason for revert:
Upstream fixed.

Original issue's description:
> Revert of Clean up unused cricket::VideoCapturer inclusion from mediaengine.h (patchset #1 id:1 of https://codereview.webrtc.org/2147443002/ )
>
> Reason for revert:
> Breaks up stream projects.
>
> Original issue's description:
> > Clean up unused cricket::VideoCapturer inclusion from mediaengine.h
> >
> > TBR=nisse@webrtc.org
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/1e56991f248f8235c69cb3d95b35a44389c48354
> > Cr-Commit-Position: refs/heads/master@{#13446}
>
> TBR=nisse@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/3a9f41e584953226e43bf312ec59d625c97cfd62
> Cr-Commit-Position: refs/heads/master@{#13447}

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

Review-Url: https://codereview.webrtc.org/2149533002
Cr-Commit-Position: refs/heads/master@{#13456}
2016-07-13 08:57:31 +00:00