757 Commits

Author SHA1 Message Date
sprang
eb13f5e400 Add video timing frames to set of default RTP header extensions
BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2994893002
Cr-Commit-Position: refs/heads/master@{#19449}
2017-08-22 14:05:47 +00:00
aleloi
440b6d9a0f Move video send/receive stream headers to webrtc/call.
Moved the headers video_receive_stream.h and video_send_stream.h from
webrtc/ into webrtc/call/ as part of the Slim and Modular work.

The GN target webrtc:video_stream_api has moved to
webrtc/call:video_stream_api.

There are headers left in webrtc/ with the same name including the
moved headers in webrtc/call/ for not breaking external projects
depending on WebRTC.

At the same time, some minor cleanup is done: Non-pure-virtual functions declared in the two affected headers now have definitions in the same target. After making this change, our 'chromium-style' plugin detected some style violations that have now been fixed: non-inlined constructors and destructors have been added to a number of classes, both inside the GN target of the two affected headers, and in other targets.

BUG=webrtc:8107

Review-Url: https://codereview.webrtc.org/3000253002
Cr-Commit-Position: refs/heads/master@{#19448}
2017-08-22 12:43:23 +00:00
zhihuang
296b64eb25 Revert of Modify profiles for H264 encode SW fallback (patchset #2 id:20001 of https://codereview.webrtc.org/2997913003/ )
Reason for revert:
Breaks the internal bots.
Root cause: The "public_deps" is defined behind an "if" condition which may not be true.

Original issue's description:
> Modify profiles for H264 encode SW fallback
>
> We have only Constrained Baseline profile available in SW encoder impl
> so modify the profile to that in case  of a fallback
>
> BUG=chromium:735959
>
> Review-Url: https://codereview.webrtc.org/2997913003
> Cr-Commit-Position: refs/heads/master@{#19436}
> Committed: 1fd66656b3

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

Review-Url: https://codereview.webrtc.org/2995373002
Cr-Commit-Position: refs/heads/master@{#19438}
2017-08-22 00:52:41 +00:00
emircan
1fd66656b3 Modify profiles for H264 encode SW fallback
We have only Constrained Baseline profile available in SW encoder impl
so modify the profile to that in case  of a fallback

BUG=chromium:735959

Review-Url: https://codereview.webrtc.org/2997913003
Cr-Commit-Position: refs/heads/master@{#19436}
2017-08-22 00:30:58 +00:00
asapersson
142fcc96d6 Move kMinPixelsPerFrame constant in VideoStreamEncoder to VideoEncoder::ScalingSettings.
Make it possible for forced VP8 SW fallback encoder to set min_pixels_per_frame via GetScalingSettings().

Add a min required resolution (in addition to bitrate) before releasing forced SW fallback.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/3000693003
Cr-Commit-Position: refs/heads/master@{#19390}
2017-08-17 15:58:54 +00:00
Niels Möller
2bf9e73e6b Delete unneeded Start and Stop methods on FlexfecReceiveStream.
Bug: None
Change-Id: I3013cfc54ed357901f175dd408127eda75e5ba99
Reviewed-on: https://chromium-review.googlesource.com/542735
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Reviewed-by: Rasmus Brandt <brandtr@webrtc.org>
Commit-Queue: Niels Moller <nisse@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19363}
2017-08-16 09:41:27 +00:00
asapersson
22c76c4e65 Add support for a forced software encoder fallback.
Make it possible to switch from VP8 HW -> VP8 SW -> VP8 HW depending on bitrate and resolution.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2988963002
Cr-Commit-Position: refs/heads/master@{#19362}
2017-08-16 07:53:59 +00:00
Jianjun Zhu
037f3e42f2 Replace absolute path with relative path for GN files.
Bug: webrtc:7952
Change-Id: I45d889bd976f58386f803d0dc27147ea00a52e56
Reviewed-on: https://chromium-review.googlesource.com/612786
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Henrik Kjellander <kjellander@webrtc.org>
Reviewed-by: Edward Lemur <ehmaldonado@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19357}
2017-08-15 15:57:36 +00:00
sprang
ee21f374ca Default enable content type rtp header extension
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2998843002
Cr-Commit-Position: refs/heads/master@{#19346}
2017-08-15 08:32:51 +00:00
srte
f3238e43ce Removed unused async_invoker_ in WebRtcVideoCapturer
BUG=None

Review-Url: https://codereview.webrtc.org/3001443002
Cr-Commit-Position: refs/heads/master@{#19333}
2017-08-14 09:51:17 +00:00
sprang
db2a9fc6ec Wire up RTP keep-alive in ortc api.
[This CL is work in progress.]

Wire up the rtp keep-alive in webrtc::Call::Config using new
SetRtpTransportParameters() method on RtpTransportInterface.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2981513002
Cr-Commit-Position: refs/heads/master@{#19287}
2017-08-09 13:42:32 +00:00
agrieve
26622d3ff8 Audit of kConstants missing the const qualifier
Found via supersize query:
size_info.symbols.WhereFullNameMatches(r'\bk[A-Z]').WhereInSection('d')

This moves 90 symbols from .data -> .data.rel.ro (5.50kb)

BUG=chromium:747064

Review-Url: https://codereview.webrtc.org/2986163002
Cr-Commit-Position: refs/heads/master@{#19274}
2017-08-08 17:48:15 +00:00
srte
186d9c3873 Renamed fields in common_types.h/RtcpStatistics.
BUG=webrtc:8033

Review-Url: https://codereview.webrtc.org/2992043002
Cr-Commit-Position: refs/heads/master@{#19247}
2017-08-04 12:03:53 +00:00
mflodman
cc3d442469 Rename ViEEncoder to VideoStreamEncoder
This CL:
- Renames the ViEEncoder class to VideoStreamEncoder, according to discussions.
- Renames variables 'vie_encode' to 'video_stream_encoder'.
- Formatting to match style guide.
- No other changes.

BUG=webrtc:8064

Review-Url: https://codereview.webrtc.org/2995433002
Cr-Commit-Position: refs/heads/master@{#19237}
2017-08-03 15:27:51 +00:00
eladalon
c0d481a4a6 Protected streams report RTP messages directly to the FlexFec streams
In preparation of making RTP packet demuxing many-to-one (one SSRC goes to one sink, but one sink may have multiple SSRCs), we need to remove FlexFEC's dependence on being able to register itself with the demuxer. Instead, we register FlexFEC streams with the streams they protect; when those streams get packets, they'll forward them to their associated FlexFEC streams, too.

BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2974453002
Cr-Commit-Position: refs/heads/master@{#19219}
2017-08-02 14:39:07 +00:00
eladalon
abbc430ea0 Make ~webrtc::AudioSendStream public, and s/config()/GetConfig(), as well as make public.
BUG=None

Review-Url: https://codereview.webrtc.org/2987763003
Cr-Commit-Position: refs/heads/master@{#19149}
2017-07-26 09:09:44 +00:00
peah
b1c9d1de36 Avoid that previous settings in APM are overwritten by WebRtcVoiceEngine
This CL ensures that any previously set nondefault settings in the
audio processing module are not overwritten by the ApplyOptions
method in WebRtcVoiceEngine

BUG=webrtc:8018

Review-Url: https://codereview.webrtc.org/2985633002
Cr-Commit-Position: refs/heads/master@{#19144}
2017-07-25 22:45:24 +00:00
eladalon
42f44f9cf6 Get rid of unnecessary cast of FlexfecReceiveStreamImpl to FlexfecReceiveStream
BUG=None

Review-Url: https://codereview.webrtc.org/2967913002
Cr-Commit-Position: refs/heads/master@{#19131}
2017-07-25 13:40:06 +00:00
ehmaldonado
f6a861ab6c Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2976293002
Cr-Commit-Position: refs/heads/master@{#19094}
2017-07-19 17:40:47 +00:00
minyue
f032e4041c Revert "Prefer external video codecs over internal in SDP"
This reverts commit 06f3aae345854ba9dcc5ae3b603de1f86505acf9.

The reason for reverting is that it seems to break Chromium importer. See https://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28K%20Nexus5%29/builds/17862

BUG=None

TBR=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2982053002
Cr-Commit-Position: refs/heads/master@{#19058}
2017-07-17 15:45:17 +00:00
zstein
e76bd3aa43 Adding stats that can be used to compute output audio levels as described here https://w3c.github.io/webrtc-stats/#dom-rtcmediastreamtrackstats-totalaudioenergy.
BUG=webrtc:7982

Review-Url: https://codereview.webrtc.org/2964593002
Cr-Commit-Position: refs/heads/master@{#19027}
2017-07-14 19:17:49 +00:00
magjed
06f3aae345 Prefer external video codecs over internal in SDP
Currently, when we generate the list of supported video codecs that will
be signaled in SDP, we start with the internal video codecs and then
append the external video codecs. When we create a video encoder for a
given codec, we prefer an external encoder over an internal encoder.

This CL lists the external video codecs first in SDP instead, so that we
consistently prefer external video codecs over internal.

The reason for doing this is that we will otherwise prefer an internal
SW H264 encoder over an external HW H264 encoder if the H264 profiles
differs.

BUG=chromium:688541

Review-Url: https://codereview.webrtc.org/2974383002
Cr-Commit-Position: refs/heads/master@{#19026}
2017-07-14 17:36:23 +00:00
jianjun.zhu
c024740b5e Use relative paths in GN files.
BUG=webrtc:7952
TBR=kjellander@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2974863003
Cr-Commit-Position: refs/heads/master@{#18970}
2017-07-11 13:20:45 +00:00
ehmaldonado
370dd47973 Revert of Remove remains of webrtc/base (patchset #7 id:120001 of https://codereview.webrtc.org/2973183002/ )
Reason for revert:
Breaks lots of downstream projects.

Original issue's description:
> Remove remains of webrtc/base
>
> All downstream code have been updated to the new location.
>
> In PRESUBMIT.py:
> * Remove webrtc/rtc_base from CPP_BLACKLIST
> * Add webrtc/rtc_base to LEGACY_API_DIRS
>
> Fix some duplicated paths in
> webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn
>
> BUG=webrtc:7634
> TBR=kwiberg@webrtc.org
>
> Review-Url: https://codereview.webrtc.org/2973183002
> Cr-Commit-Position: refs/heads/master@{#18948}
> Committed:
9483b49baf

TBR=kwiberg@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7634

Review-Url: https://codereview.webrtc.org/2976633002
Cr-Commit-Position: refs/heads/master@{#18949}
2017-07-10 12:58:42 +00:00
ehmaldonado
9483b49baf Remove remains of webrtc/base
All downstream code have been updated to the new location.

In PRESUBMIT.py:
* Remove webrtc/rtc_base from CPP_BLACKLIST
* Add webrtc/rtc_base to LEGACY_API_DIRS

Fix some duplicated paths in
webrtc/modules/audio_processing/test/conversational_speech/BUILD.gn

BUG=webrtc:7634
TBR=kwiberg@webrtc.org

Review-Url: https://codereview.webrtc.org/2973183002
Cr-Commit-Position: refs/heads/master@{#18948}
2017-07-10 11:50:54 +00:00
magjed
6cc25614a9 Remove webrtc::VideoEncoderFactory
Replace the use of webrtc::VideoEncoderFactory with
cricket::WebRtcVideoEncoderFactory and remove the adapter classes
between these two factory types.

Some code changes were necessary in order to accomplish this:
 * Move SimulcastEncoderAdapter from
   webrtc/modules/video_coding/codecs/vp8 to webrtc/media/engine (that's
   where it's used).
 * Rename simulcast_unittest.h to simulcast_test_utility.h and make it
   into it's own target, because it's used from both
   simulcast_unittest.cc and simulcast_encoder_adapter_unittest.cc.
 * Remove ownership of the encoder factory from SimulcastEncoderAdapter,
   and make the necessary changes in surrounding code.

The goal with this CL is to clean up the code, and also to free up
the name webrtc::VideoEncoderFactory for future use.

BUG=webrtc:7925

Review-Url: https://codereview.webrtc.org/2964953002
Cr-Commit-Position: refs/heads/master@{#18945}
2017-07-10 10:26:36 +00:00
peah
e67bedbac3 External APM usage downstream dependency support cleanup
This CL removes code that supported the now removed
downstream dependencies in the support for using an
external audio processing module.

BUG=webrtc:7939

Review-Url: https://codereview.webrtc.org/2969213002
Cr-Commit-Position: refs/heads/master@{#18929}
2017-07-07 11:25:11 +00:00
ilnik
f04afde85a Report interframe delay sum in old GetStats
BUG=webrtc:7420

Review-Url: https://codereview.webrtc.org/2965033002
Cr-Commit-Position: refs/heads/master@{#18924}
2017-07-07 08:26:24 +00:00
Edward Lemur
c20978e581 Rename webrtc/base -> webrtc/rtc_base
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.
NOTRY=True
NOTREECHECKS=True
TBR=kwiberg@webrtc.org, kjellander@webrtc.org

Bug: webrtc:7634
Change-Id: I3cca0fbaa807b563c95979cccd6d1bec32055f36
Reviewed-on: https://chromium-review.googlesource.com/562156
Commit-Queue: Edward Lemur <ehmaldonado@webrtc.org>
Reviewed-by: Mirko Bonadei <mbonadei@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18919}
2017-07-06 19:11:40 +00:00
sprang
02569adfd4 Update screen simulcast config
Lower then bitrate so that the delta between the highest layer of the
lower stream and lowest layer of the higher stream is not too large.

BUG=webrtc:4172

This is a reland of the following CL:

Review-Url: https://codereview.webrtc.org/2791273002
Cr-Commit-Position: refs/heads/master@{#18232}
Committed: dceb42da3e

https: //codereview.webrtc.org/2883963002
Review-Url: https://codereview.webrtc.org/2966833002
Cr-Commit-Position: refs/heads/master@{#18913}
2017-07-06 12:05:50 +00:00
ilnik
2edc6845ac Report timing frames info in GetStats.
Some frames are already marked as 'timing frames' via video-timing RTP header extension. Timestamps along full WebRTC pipeline are gathered for these frames. This CL implements reporting of these timestamps for a single
timing frame since the last GetStats(). The frame with the longest end-to-end delay between two consecutive GetStats calls is reported.

The purpose of this timing information is not to provide a realtime statistics but to provide debugging information as it will help identify problematic places in video pipeline for outliers (frames which took longest to process).

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2946413002
Cr-Commit-Position: refs/heads/master@{#18909}
2017-07-06 10:06:50 +00:00
Henrik Kjellander
a80c16a67c Revert "Update includes for webrtc/{base => rtc_base} rename (2/3)"
This reverts commit c3771cc4d37f5573fe53b7c7cff295a4f0f9560f.
(breaks downstream internal project)

BUG=webrtc:7634
NOTRY=True
NOPRESUBMIT=True

Review-Url: https://codereview.webrtc.org/2972463002 .
Cr-Commit-Position: refs/heads/master@{#18873}
2017-07-01 14:48:18 +00:00
kjellander
c3771cc4d3 Update includes for webrtc/{base => rtc_base} rename (2/3)
I used a command like this to update the paths:
perl -pi -e "s/webrtc\/base/webrtc\/rtc_base/g" `find webrtc/rtc_base -name "*.cc" -o -name "*.h"`

BUG=webrtc:7634
NOPRESUBMIT=True # cpplint errors that aren't caused by this CL.

Review-Url: https://codereview.webrtc.org/2969623003
Cr-Commit-Position: refs/heads/master@{#18870}
2017-06-30 20:42:44 +00:00
Henrik Kjellander
4583db4967 Enable -Wunused-function warning everywhere.
BUG=webrtc:5397
NOTRY=True

Change-Id: If4b7e8942315135f1f1b919bdefd2fd1d9be67e7
Reviewed-on: https://chromium-review.googlesource.com/544996
Reviewed-by: Oleh Prypin <oprypin@chromium.org>
Commit-Queue: Henrik Kjellander <kjellander@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#18861}
2017-06-30 14:05:22 +00:00
jbauch
5869f50f7a Support encrypted RTP extensions (RFC 6904)
Can be enabled by setting "enable_encrypted_rtp_header_extensions" in
"crypto_options" of "PeerConnectionFactoryInterface::Options" and will
only be used if both peers support it.

BUG=webrtc:3411

Review-Url: https://codereview.webrtc.org/2761143002
Cr-Commit-Position: refs/heads/master@{#18842}
2017-06-29 19:31:36 +00:00
peah
a9cc40b7d2 Allow an external audio processing module to be used in WebRTC
[This CL is a rebase of an original CL by solenberg@:
https://codereview.webrtc.org/2948763002/ which in turn was a
rebase of an original CL by peah@:
https://chromium-review.googlesource.com/c/527032/]

Allow an external audio processing module to be used in WebRTC

This CL adds support for optionally using an externally created audio
processing module in a peerconnection. The ownership is shared
between the peerconnection and the external creator of the module.

As part of this the internal ownership of the audio processing module
is moved from VoiceEngine to WebRtcVoiceEngine.

BUG=webrtc:7775

Review-Url: https://codereview.webrtc.org/2961723004
Cr-Commit-Position: refs/heads/master@{#18837}
2017-06-29 15:32:09 +00:00
sprang
4847ae6b51 Reland of Periodically update codec bit/frame rate settings.
Patch set 1 is a reland + trivial rebase.
Patch set >= 2 contains bug fixes.

> Original issue's description:
> > Fix bug in vie_encoder.cc which caused channel parameters not to be updated at regular intervals, as it was intended.
> >
> > That however exposes a bunch of failed test, so this CL also fixed a few other things:
> > * FakeEncoder should trust the configured FPS value rather than guesstimating itself based on the realtime clock, so as not to completely undershoot targets in offline mode. Also, compensate for key-frame overshoots when outputting delta frames.
> > * FrameDropper should not assuming incoming frame rate is 0 if no frames have been seen.
> > * Fix a bunch of test cases that started failing because they were relying on the fake encoder undershooting.
> > * Fix test
> >
> > BUG=7664
> >
> > Review-Url: https://codereview.webrtc.org/2883963002
> > Cr-Commit-Position: refs/heads/master@{#18473}
> > Committed: 6431e21da6

BUG=webrtc:7664

Review-Url: https://codereview.webrtc.org/2953053002
Cr-Commit-Position: refs/heads/master@{#18782}
2017-06-27 14:06:52 +00:00
oprypin
451975206a Enable more unittests on iOS, and disable those that fail on simulator
Tests enabled:
* modules_unittests
* ortc_unittests
* rtc_media_unittests
* rtc_unittests
* video_capture_tests
* video_engine_tests

BUG=webrtc:5566,webrtc:4752,webrtc:5568,webrtc:5569

Review-Url: https://codereview.webrtc.org/2938193002
Cr-Commit-Position: refs/heads/master@{#18710}
2017-06-22 08:47:20 +00:00
zhihuang
ab97e18fa9 Fix the binary size regression on Chromium Windows.
There is a dependency chain from Chromium windows main_dll to Opus
which should never exist. We used to rely on rtc_static_library
to break this chain. So this CL replaced some rtc_source_set
with rtc_static_library.

libvpx fix (https://chromium-review.googlesource.com/c/544107/) for
ios-simulator linking issue is landed and this CL can be sumbitted once the new
Chromium is rolled into WebRTC.

BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2947273002
Cr-Commit-Position: refs/heads/master@{#18709}
2017-06-22 08:28:59 +00:00
zhihuang
130ca7e783 Reland of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2949953003/ )
Reason for revert:
Relanding the orginal CL. The breakage would be a flakey build.

Original issue's description:
> Revert of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2945233002/ )
>
> Reason for revert:
> The Android 32 (more config) bot is broken.
>
> Original issue's description:
> > Try to fix the binary size increase issue on Chromium.
> >
> > The target common_video used to depend on rtc_media_base which introduces
> > the dependency on p2p. This probably causes the binary size increase on Win
> > Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.
> >
> > BUG=chromium:734631
> >
> > Review-Url: https://codereview.webrtc.org/2945233002
> > Cr-Commit-Position: refs/heads/master@{#18693}
> > Committed: 9ed1609737
>
> TBR=kjellander@webrtc.org,deadbeef@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=chromium:734631
>
> Review-Url: https://codereview.webrtc.org/2949953003
> Cr-Commit-Position: refs/heads/master@{#18694}
> Committed: c2e208a924

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

Review-Url: https://codereview.webrtc.org/2949883003
Cr-Commit-Position: refs/heads/master@{#18695}
2017-06-21 08:02:59 +00:00
zhihuang
c2e208a924 Revert of Try to fix the binary size increase issue on Chromium. (patchset #1 id:1 of https://codereview.webrtc.org/2945233002/ )
Reason for revert:
The Android 32 (more config) bot is broken.

Original issue's description:
> Try to fix the binary size increase issue on Chromium.
>
> The target common_video used to depend on rtc_media_base which introduces
> the dependency on p2p. This probably causes the binary size increase on Win
> Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.
>
> BUG=chromium:734631
>
> Review-Url: https://codereview.webrtc.org/2945233002
> Cr-Commit-Position: refs/heads/master@{#18693}
> Committed: 9ed1609737

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

Review-Url: https://codereview.webrtc.org/2949953003
Cr-Commit-Position: refs/heads/master@{#18694}
2017-06-21 07:30:49 +00:00
zhihuang
9ed1609737 Try to fix the binary size increase issue on Chromium.
The target common_video used to depend on rtc_media_base which introduces
the dependency on p2p. This probably causes the binary size increase on Win
Chromium. Some chromium targets like src/media/gpu:gpu depends on common_video directly.

BUG=chromium:734631

Review-Url: https://codereview.webrtc.org/2945233002
Cr-Commit-Position: refs/heads/master@{#18693}
2017-06-21 06:58:36 +00:00
ilnik
04f4d126f8 Implement timing frames.
Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
2017-06-19 14:18:55 +00:00
ilnik
6b826ef66d Add cropping to VIEEncoder to match simulcast streams resolution
Detect when simulcaststreamfactory adjust resolution and remeber cropping
parameters in VIEEncoder.
Expose EncoderStreamFactory in webrtcvideoengine2.

BUG=webrtc:7375, webrtc:6958

Review-Url: https://codereview.webrtc.org/2936393002
Cr-Commit-Position: refs/heads/master@{#18632}
2017-06-16 13:53:48 +00:00
eladalon
bd09ebc71e Remove unused #include "libyuv/compare.h"
BUG=None

Review-Url: https://codereview.webrtc.org/2934423003
Cr-Commit-Position: refs/heads/master@{#18627}
2017-06-16 11:54:22 +00:00
nisse
af99b6d67a Delete SignalSrtpError.
This became unused with cl https://codereview.webrtc.org/1362913004.

BUG=webrtc:4690,webrtc:6424

Review-Url: https://codereview.webrtc.org/2938013003
Cr-Commit-Position: refs/heads/master@{#18623}
2017-06-16 07:57:21 +00:00
zhihuang
38ede13042 Support building WebRTC without audio and video.
This CL makes the WebRTC more modular and allows the users to build
WebRTC without audio and video(DataChannel only).

The BUILD files in call/, logging/, media/ and pc/ are modified to
support modular WebRTC.

The dependencies on Call and RtcEventLog are removed from the
PeerConnection. Instead of being created internally, they would be
passed in by the PeerConnectionFactory.

Add the CreateModularPeerConnectionFactory function which allow the
users to create a PeerConnectionFactory with the modules they need.
If the users want to build WebRTC without audio and video, they can
pass in null pointers for modules they don't need. (MediaEngine,
VideoEncoderFactory etc.)

BUG=webrtc:7613

Review-Url: https://codereview.webrtc.org/2854123003
Cr-Commit-Position: refs/heads/master@{#18617}
2017-06-15 19:52:32 +00:00
deadbeef
eb02c03a53 Allow WebRtcMediaEngine to be created from any thread.
This eliminates a thread hop in PeerConnectionFactory initialization,
and will allow some code to be simplified.

BUG=None

Review-Url: https://codereview.webrtc.org/2934103002
Cr-Commit-Position: refs/heads/master@{#18613}
2017-06-15 15:29:25 +00:00
sprang
67561a6411 Use the same QP max for tests as in production
BUG=webrtc:7664

Review-Url: https://codereview.webrtc.org/2941023002
Cr-Commit-Position: refs/heads/master@{#18611}
2017-06-15 13:34:42 +00:00
zstein
a5e0df6438 Move MinPositive to call.h as discussed here: https://codereview.chromium.org/2888303005/#msg19
TBR=stefan@webrtc.org
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2924393002
Cr-Commit-Position: refs/heads/master@{#18599}
2017-06-14 18:41:48 +00:00