History log of /external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
b7d9a97ce41022e984348efb5f28bf6dd6c6b779 18-Dec-2015 Peter Boström <pbos@webrtc.org> Expose codec implementation names in stats.

Used to distinguish between software/hardware encoders/decoders and
other implementation differences. Useful for tracking quality
regressions related to specific implementations.

BUG=webrtc:4897
R=hta@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11084}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
17821db19702aca15d0d93cb60515ca70823fad7 14-Dec-2015 asapersson <asapersson@webrtc.org> Wire up bandwidth limitation info to GetStats and adapt_reason.

The input resolution (output from video_adapter) can be further scaled down or higher video layer(s) can be dropped due to bitrate constraints.

BUG=webrtc:4112

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

Cr-Commit-Position: refs/heads/master@{#11006}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
822bdf978435b8eba9343ea96e9a9bc54b9c7df0 11-Dec-2015 Peter Boström <pbos@webrtc.org> Remove cricket::VideoEncoderConfig.

BUG=webrtc:5332
R=noahric@chromium.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10991}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1387149ad1669365ac05278bf779a407bec08a4e 09-Dec-2015 deadbeef <deadbeef@webrtc.org> Adding reduced size RTCP configuration down to the video stream level.

Still waiting to turn on negotiation (in mediasession.cc)
until we verify it's working as expected.

BUG=webrtc:4868

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

Cr-Commit-Position: refs/heads/master@{#10958}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9f45a45a628100d973111b3aac66dede57454b6a 08-Dec-2015 Peter Boström <pbos@webrtc.org> Add tracing to upper-level WebRTC calls.

Adds tracing to WebRtcSession and corresponding BaseChannel calls to see
where time is spent better.

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

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

Cr-Commit-Position: refs/heads/master@{#10934}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9d69c3f4d99240c27d997c37950b561605d403bd 07-Dec-2015 Stefan Holmer <stefan@webrtc.org> Return a copy of the supported RTP header extensions instead of a reference.

This also renames the method to better reflect what it does.

BUG=webrtc:5187
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10910}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9e1b992f74470aecfeb216e26b455982ddc4a6d5 04-Dec-2015 Peter Boström <pbos@webrtc.org> Clear old decoders after recreating the receiver.

Prevents UAF when switching decoder capabilities and the
previously-supported decoder is currently being received on.

BUG=chromium:565967
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10898}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
7e4e01a4413fa98644b94ab9d8a9dccc664f39f2 02-Dec-2015 solenberg <solenberg@webrtc.org> Add header extension filtering for WebRtcVoiceEngine/MediaChannel.

Rework filtering functionality to be reused for both Audio+Video.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10869}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
444682acf9804c5fcbddaded9e900ba3cc6921fc 25-Nov-2015 qiangchen <qiangchen@chromium.org> Remove frame time scheduing in IncomingVideoStream

This is part of the project that makes RTC rendering more
smooth. We've already finished the developement of the
frame selection algorithm in WebMediaPlayerMS, where we
managed a frame pool, and based on the vsync interval, we
actively select the best frame to render in order to
maximize the rendering smoothness.

Thus the frame timeline control in IncomingVideoStream is
no longer needed, because with sophisticated frame
selection algorithm in WebMediaPlayerMS, the time control
in IncomingVideoStream will do nothing but add some extra
delay.

BUG=514873

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

Cr-Commit-Position: refs/heads/master@{#10781}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
43edf0ffb91a50e2efa01c7befe4d188a7e30ea2 21-Nov-2015 stefan <stefan@webrtc.org> Require negotiation to send transport cc feedback over RTCP.

BUG=4312

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

Cr-Commit-Position: refs/heads/master@{#10735}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bd13838ccc87f94d1e951bcf780979622b020359 21-Nov-2015 solenberg <solenberg@webrtc.org> Remove SetVideoLogging/SetAudioLogging from ChannelManager and down the stack.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10734}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2aff615bd7c7c24a6e7a35163112f169ff4f9246 18-Nov-2015 Peter Boström <pbos@webrtc.org> Remove spammy logging of RTCP delivery failures.

Since BundleFilter doesn't filter RTCP anymore we can have incoming
RTCPs for audio delivered to video, that delivery will fail when there
are no video receivers causing the log to be spammed.

BUG=webrtc:5223
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10687}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
be57983f4bd875c39a229bab5112b32dad004057 10-Nov-2015 Karl Wiberg <kwiberg@webrtc.org> Rename Maybe to Optional

And add examples of good and bad usage to the documentation.

R=aluebs@webrtc.org, henrik.lundin@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10588}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3ed348707e93980fd74246f7a1dfab011f841087 10-Nov-2015 asapersson <asapersson@webrtc.org> Remove field trial check for VP9.
VP9 is put as second codec in supported codec list.

BUG=chromium:500602

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

Cr-Commit-Position: refs/heads/master@{#10577}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
102c6a61bc0b42dc0956d013530fc0213b7e881b 30-Oct-2015 kwiberg <kwiberg@webrtc.org> Replace rtc::cricket::Settable with rtc::Maybe

The former is very similar to the latter, but less general (mostly in
naming).

This CL, which is the first to use Maybe at scale, also removes the implicit conversion from T to Maybe<T>, since it was agreed that the increased verbosity increased legibility.

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

Cr-Commit-Position: refs/heads/master@{#10461}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bbaf3633c54e3d49aa4c762b8eaa34e09de01c45 29-Oct-2015 Stefan Holmer <stefan@webrtc.org> Filter overlapping RTP header extensions.

This removes unnecessary RTP header extension overhead since only one of
these extensions is used at a time.

BUG=webrtc:4254
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10455}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
98f53510b222f71fdd8b799b2f33737ceeb28c61 28-Oct-2015 Henrik Kjellander <kjellander@webrtc.org> system_wrappers: rename interface -> include

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

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

Cr-Commit-Position: refs/heads/master@{#10438}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4cba4eba596706f2238d14f96f4e181f47e5034c 26-Oct-2015 pbos <pbos@webrtc.org> Disable denoising for VP9 by default.

BUG=webrtc:5108
R=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10413}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
dfa2815b4f606a58ede5c0214e08a1d5d26d3639 21-Oct-2015 Peter Boström <pbos@webrtc.org> Update receive report SSRCs on RemoveSendStream.

Prevents RTCP receiver reports, including PLIs with an old
receiver-report SSRC, from being dropped from the remote sender's
BundleFilter due to no longer being in use.

BUG=chromium:523928, webrtc:4883
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10359}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e4f96501fc5b3e6de0d1ccd262372afcda1f5b4f 21-Oct-2015 tommi <tommi@webrtc.org> Remove system_wrappers/interface/trace_event.h

BUG=

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

Cr-Commit-Position: refs/heads/master@{#10346}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
be16f79818d7c21b747189b3e86d8d98add3e6b1 16-Oct-2015 pbos <pbos@webrtc.org> Remove simulcast bitrate modes.

Instead always use the SBM_VERY_HIGH setting.

BUG=webrtc:4885
R=hta@webrtc.org, mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10305}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c1aeaf0dc37d96f31c92f893f4e30e7a5f7cc2b7 15-Oct-2015 stefan <stefan@webrtc.org> Wire up packet_id / send time callbacks to webrtc via libjingle.

BUG=webrtc:4173

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

Cr-Commit-Position: refs/heads/master@{#10289}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0c4e06b4c6107a1b94f764e279e4fb4161e905b0 07-Oct-2015 Peter Boström <pbos@webrtc.org> 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}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d97ec30ce4f22ba2d88314d67ff44458144a5096 07-Oct-2015 solenberg <solenberg@webrtc.org> Remove default receive channel from WVoE; baby step 0.

Cleanup + add thread checker DCHECKs to various method in WebRtcVoiceEngine/MediaChannel.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10194}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1d8a506405734d0cef9653704b036ca4f1388960 02-Oct-2015 stefan <stefan@webrtc.org> 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}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b09b660c53ff2c499d149e05e5c435f5057273fc 01-Oct-2015 magjed <magjed@webrtc.org> Remove cricket::VideoFrame::Set/GetElapsedTime()

This CL is a baby step towards consolidating the timestamps in cricket::VideoFrame and webrtc::VideoFrame, so that we can unify the frame classes in the future.

The elapsed time functionality is not really used. If a video sink wants to know the elapsed time since the first frame they can store the first timestamp themselves and calculate the time delta to later frames. This is already done in all video sinks that need the elapsed time. Having redundant timestamps in the frame classes is confusing and error prone.

TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10131}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
dfc8f4ff8731390828884a0a91b99e51f2950275 01-Oct-2015 solenberg <solenberg@webrtc.org> Change 'mute' parameter of MediaChannel::SetAudioSend()/SetVideoSend() to 'enable'.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10130}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
34fbfff068bf46d27812fb8fd531aea889a5feaf 24-Sep-2015 Peter Boström <pbos@webrtc.org> Remove VideoMediaChannel::SetRender().

Was a no-op in current implementation.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#10059}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
61e933eac7673feb2f8663c3e71e503b714b350f 24-Sep-2015 solenberg <solenberg@webrtc.org> Remove ChannelManager::GetCapabilities()

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#10045}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b071a19019a0a2173cc139c960d6ef6946a1c581 17-Sep-2015 Fredrik Solenberg <solenberg@webrtc.org> Full use of NnChannel::SetSendParameters and NnChannel::SetRecvParameters.

SetOptions(), SetMaxBandwidth(), Set[Send|Recv]RtpHeaderExtensions(), Set[Send|Recv]Codecs() are now private.

BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9973}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
91d6edef35e7275879c30ce16ecb8b6dc73c6e4a 17-Sep-2015 henrikg <henrikg@webrtc.org> Add RTC_ prefix to (D)CHECKs and related macros.

We must remove dependency on Chromium, i.e. we can't use Chromium's base/logging.h. That means we need to define these macros in WebRTC also when doing Chromium builds. And this causes redefinition.

Alternative solutions:
* Check if we already have defined e.g. CHECK, and don't define them in that case. This makes us depend on include order in Chromium, which is not acceptable.
* Don't allow using the macros in WebRTC headers. Error prone since if someone adds it there by mistake it may compile fine, but later break if a header in added or order is changed in Chromium. That will be confusing and hard to enforce.
* Ensure that headers that are included by an embedder don't include our macros. This would require some heavy refactoring to be maintainable and enforcable.
* Changes in Chromium for this is obviously not an option.

BUG=chromium:468375
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#9964}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
709ed67c38d0a942f3bf3e68e337cc27a27bc353 15-Sep-2015 Fredrik Solenberg <solenberg@webrtc.org> Move instantiation of webrtc::Call into a MediaController class so that it can be used for both audio and video media channels.

I'm not super happy with the GetVoE() function added on MediaEngineInterface, but this will eventually be gone, once webrtc::Call owns the shared VoE state (or initially, maps ADM* to an implicitly created VoE).

BUG=webrtc:4690
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9939}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1cb121dea478a4bb4f88e76cf92719e2853543cf 14-Sep-2015 pbos <pbos@webrtc.org> Reset frame timestamp epoch for new capturers.

Incoming frames usually have an epoch of time since the capturer was
created or similar, not any fixed-time epoch. As such, setting a new
capturer resulted in delivering frames with older timestamps which
caused these frames to be dropped before encoding.

BUG=webrtc:4994
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9934}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1dd98f321920c1442dd5b3f791ea0fca133c2756 10-Sep-2015 solenberg <solenberg@webrtc.org> - Rename VoiceChannel::MuteStream() -> SetAudioSend() (incl. media channel)
- Rename VideoChannel::MuteStream() -> SetVideoSend() (incl. media channel)
- Collapse NnChannel::SetChannelOptions() into the above.
- Collapse VoiceChannel::SetLocalRenderer into SetAudioSend().

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9915}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2feafdb742226f57588d9c95bc25b2202166688f 09-Sep-2015 Peter Boström <pbos@webrtc.org> Enable automatic resizing for RTX-enabled senders.

These were accidentally disabled due to checking ssrcs_.size() (which
includes RTX SSRCs) instead of rtp.ssrcs.size() to determine whether a
stream is simulcast or not.

BUG=webrtc:4965
R=asapersson@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9907}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
68786d20400f1f3744ad83549325665c18ea9e5b 08-Sep-2015 stefan <stefan@webrtc.org> Wire up PacketTime to ReceiveStreams.

BUG=webrtc:4758

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

Cr-Commit-Position: refs/heads/master@{#9892}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e5269747595864eedd604f153df5d7bcbe1b475a 08-Sep-2015 solenberg <solenberg@webrtc.org> Make LoadObserver settable per video send stream. Gives client flexibility and makes the implementation slightly simpler. See discussion in: https://codereview.webrtc.org/1269863005/

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9891}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1c7d48d431e098ba42fa6bd9f1cfe69a703edee5 08-Sep-2015 Åsa Persson <asapersson@webrtc.org> Let max default bitrate depend on resolution when configuring one video stream (was previously always 2Mbps).

Is now set to:
<= 320x240: 600kbps
<= 640x480: 1.7Mbps
<= 960x540: 2Mbps
> 960x540: 2.5Mbps

For QVGA and VGA, the qp was around 10 at the selected thresholds when running some tests. The change in qp declined above the selected bitrates.

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

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

Cr-Commit-Position: refs/heads/master@{#9878}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
47d78cc8ad54baabc9042c2b848ae3afd9b80d2e 04-Sep-2015 sophiechang <sophiechang@chromium.org> Pass the encoder's internal source property through to video_sender to request a keyframe from the external encoder

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9853}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f42376c60111edba6f29060bf3dd79e75d8dbb97 28-Aug-2015 pbos <pbos@webrtc.org> Wire up currently-received video codec to stats.

BUG=webrtc:1844, webrtc:4808
R=mflodman@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9810}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4fbae2b79134572135d9d5fe35a7d1ccdeea3a4d 28-Aug-2015 solenberg <solenberg@webrtc.org> Add send transports to individual webrtc::Call streams.

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#9807}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
fdac516510a2bd5d57b0786fbd49e2a6b9aeed2f 27-Aug-2015 noahric <noahric@chromium.org> Disallow simulcast for H.264.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#9795}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
85ad62b87760213a1a453051d833c8c40e82d9bd 26-Aug-2015 Noah Richards <noahric@chromium.org> Remove per-frame captured frame logging.

It's a little too verbose :)

BUG=
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9786}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
874ca3af5b163e1b3fd8802171e44ee252557842 21-Aug-2015 deadbeef <deadbeef@webrtc.org> Don't do reconfiguration if recv codec order/preference changes

Adding 'ReceiveCodecsHaveChanged' method that will determine if codecs
HAVE changed, irrespective of order and preference.

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

Cr-Commit-Position: refs/heads/master@{#9748}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c2ee2c86f905991a8cd05ee1f35bea105b41e4e0 08-Aug-2015 Peter Thatcher <pthatcher@chromium.org> Refactor the relationship between BaseChannel and MediaChannel so that we send over all the parameters in one method call rather then having them broken up into multiple method calls. This should allow future refactorings of the WebRtcVideoEngine2 to not recreate configurations so many times, and have more simple code as well.

R=deadbeef@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9690}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c27d89fdc6b33846ff06e8ca8bd03119d05c6530 16-Jul-2015 qiangchen <qiangchen@chromium.org> Let WebRtcVideoChannel2::WebRtcVideoSendStream::InputFrame carry the input frame's timestamp to output frame.

Essentially we are carrying over the capture timestamp to the encoded frame sent out, so the frame lengths will contain no noise.

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

Cr-Commit-Position: refs/heads/master@{#9597}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bd3842808996dbb85007242214352f1e6ebd3d17 16-Jul-2015 jbauch <jbauch@webrtc.org> Don't use result of "field_trial::FindFullName" as string reference.

"field_trial::FindFullName" can return "std::string()" which should not
be referenced by the caller.

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

Cr-Commit-Position: refs/heads/master@{#9594}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
083b73fb95755b78cb0b9cbe67752b7e7b7eb263 16-Jul-2015 jbauch <jbauch@webrtc.org> Use std::string references instead of copying contents.

This CL improves the memory footprint a bit by using string references
instead of creating a copy.

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

Cr-Commit-Position: refs/heads/master@{#9592}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
cd6702282a49448adda470934f4bd9e6181cab22 16-Jul-2015 Jelena Marusic <jmarusic@webrtc.org> Define Stream base classes

BUG=webrtc:4690

Defined classes Stream, SendStream and ReceiveStream. Inherited existing stream classes from either SendStream or ReceiveStream.
This is a step towards having a Transport associated with streams instead of a Call. It will allow a lot of code in the Call to be media type agnostic.

R=henrika@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9591}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8fc7fa798f7a36955f1b933980401afad2aff592 15-Jul-2015 pbos <pbos@webrtc.org> Base A/V synchronization on sync_labels.

Groups of streams that should be synchronized are signalled through
SDP. These should be used rather than synchronizing the first-added
video stream to the first-added audio stream implicitly.

BUG=webrtc:4667
R=hta@webrtc.org, solenberg@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9586}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d10a68e7974a29b26d6c926e6f137255f3c173be 10-Jul-2015 noahric <noahric@chromium.org> Don't create unsignalled receive streams for RTX, RED RTX, and ULPFEC packets.

BUG=webrtc:4389

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

Cr-Commit-Position: refs/heads/master@{#9566}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
71f6f4405c1c5f60097f8d10841378088e78e8b9 29-Jun-2015 Zeke Chin <tkchin@webrtc.org> iOS HW H264 support.

First step towards supporting H264 on iOS. More tuning/experimentation
required in future CLs. Tested using AppRTCDemo on iPhone6 + iPad Mini.
Future work to get it working on OS/X, simulator (renders black screen
currently) and with the Android AppRTCDemo. Currently protected with a
compile time guard.

BUG=4081
R=andrew@webrtc.org, haysc@webrtc.org, holmer@google.com, jiayl@webrtc.org, kjellander@webrtc.org, pbos@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9515}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4765070b8d6f024509c717c04d9b708750666927 30-May-2015 Miguel Casas-Sanchez <mcasas@webrtc.org> Rename I420VideoFrame to VideoFrame.

This is a mechanical change since it affects so many
files.
I420VideoFrame -> VideoFrame
and reformatted.

Rationale: in the next CL I420VideoFrame will
get an indication of Pixel Format (I420 for
starters) and of storage type: usually
UNOWNED, could be SHMEM, and in the near
future will be possibly TEXTURE. See
https://codereview.chromium.org/1154153003
for the change that happened in Cr.

BUG=4730, chromium:440843
R=jiayl@webrtc.org, niklas.enbom@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/52629004

Cr-Commit-Position: refs/heads/master@{#9339}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
259bd2034c3d3ee7f2dc4d481e9bf896a3a4d6ef 28-May-2015 Peter Boström <pbos@webrtc.org> Report ssrc_groups in GetStats().

This was already available in the stats struct, just not filled in.

BUG=4720
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47329004

Cr-Commit-Position: refs/heads/master@{#9308}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3b187b9c0c4f404c31523e74909ee3b75a83846e 28-May-2015 Henrik Boström <hbos@webrtc.org> Removed unnecessary includes of webrtcvideocapturer.h

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/57469004

Cr-Commit-Position: refs/heads/master@{#9305}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3548dd21542c7b3f2c4680c6a6d86b0d719bd008 22-May-2015 Peter Boström <pbos@webrtc.org> Set local SSRCs on receivers added before senders.

Addresses bug where a receiver would report SSRC 1 even though the
endpoint has sending streams.

BUG=4678
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51099004

Cr-Commit-Position: refs/heads/master@{#9262}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9a416bd14ee225d8f1a1ada627a1dd7daf275032 22-May-2015 Fredrik Solenberg <solenberg@webrtc.org> Get rid of unnecessary Terminate() method and worker_thread_ from WebRtcVideoEngine2

BUG=
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51879004

Cr-Commit-Position: refs/heads/master@{#9258}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4d71edef45afa38b3f68b6af0519ac0f21d327df 19-May-2015 Peter Boström <pbos@webrtc.org> Add HW fallback option to software encoding.

Permits falling back to software encoding for unsupported resolutions.

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

Review URL: https://webrtc-codereview.appspot.com/46279004

Cr-Commit-Position: refs/heads/master@{#9227}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
7252a2ba8035c4128917a9558a3e34fc9dbe7c44 18-May-2015 Peter Boström <pbos@webrtc.org> Add HW fallback option to software decoding.

Permits falling back to software decoding for unsupported resolutions in
bitstreams.

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

Review URL: https://webrtc-codereview.appspot.com/46269004

Cr-Commit-Position: refs/heads/master@{#9209}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
67c9df79828991c5aab96b9253ae4e7ba7ed508e 11-May-2015 Peter Boström <pbos@webrtc.org> Base NACK on send codecs.

Addressing discrepancy where NACK used to be set from send codecs in
WebRtcVideoEngine(1), and before this change, from recv codecs in
WebRtcVideoEngine2. This should address that NACK might be sent even if
the remote side does not support it.

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/53409004

Cr-Commit-Position: refs/heads/master@{#9171}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
126c03ea02d8a99bfa3d1e6d6fe04516183d31af 11-May-2015 Peter Boström <pbos@webrtc.org> Base decision to send REMB on send codecs.

Fixes bug where Chromium would send REMB even though the remote party
doesn't announce support for it (because it was based on local codec
settings instead of remote ones).

BUG=4626
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/54389004

Cr-Commit-Position: refs/heads/master@{#9170}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d3ddc1b69e9cdfd7c6d38ab02b8d8ab891d30fd1 07-May-2015 Fredrik Solenberg <solenberg@webrtc.org> Consistently use DCHECK, not ASSERT or assert in talk/media/webrtc/.

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

Review URL: https://webrtc-codereview.appspot.com/49929004

Cr-Commit-Position: refs/heads/master@{#9156}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4b60c73e74d62beff484b7f54d8f3267cb66274f 07-May-2015 Fredrik Solenberg <solenberg@webrtc.org> Hook up libjingle WebRtcVoiceEngine to Call API for combined A/V BWE.

BUG=4574,3109
R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49269004

Cr-Commit-Position: refs/heads/master@{#9150}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
81ea54eaac82b36b7208a02fd37a469d7d0bd9d0 07-May-2015 Peter Boström <pbos@webrtc.org> Remove WebRtcVideoEngine.

Leaves a stub file for talk/media/webrtc/webrtcvideoengine.cc until
build files in Chromium have been modified.

BUG=1695,4566
R=mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48339004

Cr-Commit-Position: refs/heads/master@{#9148}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e433c0ef31297d78336d99cc18cf063b1a486cf2 01-May-2015 Alex Glaznev <glaznev@google.com> Restore back verbosity logging for camera captured frame.

Helps to debug camera freezes.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46179004

Cr-Commit-Position: refs/heads/master@{#9127}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
efbde3775b5eed8015d7e2e86ddcea3e6033d321 29-Apr-2015 Erik Språng <sprang@webrtc.org> Don't use CPU adaptation for screen content in the new API.

BUG=4605
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48309004

Cr-Commit-Position: refs/heads/master@{#9116}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
23fba1ffa0079f70744a83bcf4e85501dc226013 29-Apr-2015 Fredrik Solenberg <solenberg@webrtc.org> Add AudioReceiveStream to Call API.

BUG=4574
R=kwiberg@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51749004

Cr-Commit-Position: refs/heads/master@{#9114}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
faa6d076b7d021467cc05e7c293940773524cad8 28-Apr-2015 Alex Glaznev <glaznev@google.com> Remove a few verbose log messages from webrtcvideoengine2.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49189004

Cr-Commit-Position: refs/heads/master@{#9105}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
143cec1cc68b9ba44f3ef4467f1422704f2395f0 28-Apr-2015 Erik Språng <sprang@google.com> Set correct encoder-specific settings for vpx in the new API.

Also, make VideoEncoderConfig::ContentType an enum class.

BUG=4569
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46069004

Cr-Commit-Position: refs/heads/master@{#9093}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ee0b00e8a9cc2d8f4578912a389dee92ac020ee9 22-Apr-2015 Peter Boström <pbos@webrtc.org> Prevent recv-stream reconfig on identical codecs.

Receive streams seem to be reconfigured with identical codecs when
another stream is removed. Preventing this reconfiguration makes sure
that existing streams don't report stats during teardown when the stream
is still supposed to be running.

BUG=1788
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44249004

Cr-Commit-Position: refs/heads/master@{#9059}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
393347ff988708df5037ddcd181fe204bd1ab37e 22-Apr-2015 Peter Boström <pbos@webrtc.org> Report receive-side packet loss.

BUG=4558
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48219004

Cr-Commit-Position: refs/heads/master@{#9054}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
7c027b64ae53a29bc528b4241cc540694c239304 22-Apr-2015 Henrik Kjellander <kjellander@webrtc.org> Enable more Clang warnings for talk/

BUG=4242
R=andresp@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46999004

Cr-Commit-Position: refs/heads/master@{#9053}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e62202fedf57b74cc263246c0586ee353978caf8 21-Apr-2015 Shao Changbin <changbin.shao@webrtc.org> Support handling multiple RTX but only generate SDP with RTX associated with VP8.

This implementation registers RTX-APT map inside RTP sender and receiver.
While it only generates SDP with RTX associated with VP8 to make it
compatible with previous Chrome versions.

Should add following changes after reaches stable,
* Use RTX-APT map for building and restoring RTP packets.
* Add RTX support for RED or VP9 in Video engine.
* Set RTX payload type for RED inside FecConfig in EndToEndTest.

BUG=4024
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36889004

Cr-Commit-Position: refs/heads/master@{#9040}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3c3f6460646183914629e5dab8ae5fcede4f0e80 15-Apr-2015 Peter Boström <pbos@webrtc.org> Prevent null-stream reconfigs on RTP extensions.

If a codec fails to set (e.g. there's no codec configured), this
prevents a stream reconfigure with an invalid config. Reconfiguring a
stream without correct codec settings causes a CHECK failure.

BUG=chromium:475116
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44219004

Cr-Commit-Position: refs/heads/master@{#9007}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e432800aeb6b695bda14acf2d60c0200803b5218 14-Apr-2015 Peter Boström <pbos@webrtc.org> Enable CPU adaptation by default.

WebRtcVideoEngine2 doesn't support CPU-monitor-based adaptation and as
such requires encoder-time-based CPU adaptation to perform any
adaptation at all.

BUG=4536
R=asapersson@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49679004

Cr-Commit-Position: refs/heads/master@{#9001}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
77f0e3f7b6a0664661dc295eb235c543b8091554 13-Apr-2015 Peter Thatcher <pthatcher@chromium.org> Remove GetStartCaptureFormat and some related code.

It is no longer used by anything.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48039004

Cr-Commit-Position: refs/heads/master@{#8990}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e7b221f4760af10e29cb4c501e758cc3518f628b 13-Apr-2015 Peter Boström <pbos@webrtc.org> Remove deadlock in WebRtcVideoEngine2.

Acquiring stream_lock_ in WebRtcVideoChannel2 in a callback from Call
forms a lock-order inversion between process-thread locks and libjingle
locks, manifesting as CPU adaptation requests blocking on stream
creation that is blocked on the CPU adaptation request finishing.

R=asapersson@webrtc.org, mflodman@webrtc.org
BUG=4535,chromium:475065

Review URL: https://webrtc-codereview.appspot.com/50679004

Cr-Commit-Position: refs/heads/master@{#8985}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ad1f9b61a3107ca27ee023990dc576abc38f05ac 08-Apr-2015 Peter Boström <pbos@webrtc.org> Remove warning on input frames before config.

Removes log spam for AppRTC when only one client is connected.

BUG=4512
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48019005

Cr-Commit-Position: refs/heads/master@{#8947}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
64c1e8cda5cb4db85c5c296bf2f6a8181af7de9d 02-Apr-2015 Guo-wei Shieh <guoweis@chromium.org> Enable CVO by default through webrtc pipeline.

All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.

Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome

BUG=4145
R=glaznev@webrtc.org, mflodman@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

Committed: https://crrev.com/1b1c15cad16de57053bb6aa8a916079e0534bdae
Cr-Commit-Position: refs/heads/master@{#8905}

Review URL: https://webrtc-codereview.appspot.com/47399004

Cr-Commit-Position: refs/heads/master@{#8917}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
31331cfd2d3d17958942b67190c8b943c05b084f 01-Apr-2015 Minyue <minyue@webrtc.org> Revert "Enable CVO by default through webrtc pipeline."

This reverts commit 1b1c15cad16de57053bb6aa8a916079e0534bdae.

Due to failure on
http://build.chromium.org/p/client.webrtc/builders/Linux64%20Release%20%5Blarge%20tests%5D/builds/4092
and following builds (the test hangs and never finishes).
R=kjellander@webrtc.org
TBR=guoweis@chromium.org
TESTED=Local revert + execution of libjingle_peerconnection_java_unittest show that this is the culprit.

Review URL: https://webrtc-codereview.appspot.com/47909004

Cr-Commit-Position: refs/heads/master@{#8911}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1b1c15cad16de57053bb6aa8a916079e0534bdae 01-Apr-2015 Guo-wei Shieh <guoweis@chromium.org> Enable CVO by default through webrtc pipeline.

All RTP packets from sender side will carry the rotation info. (will file a bug to track this) On the receiving side, only packets with marker bit set will be examined.

Tests completed:
1. android standalone to android standalone
2. android standalone to chrome (with and without this change)
3. android on chrome

BUG=4145
R=glaznev@webrtc.org, mflodman@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47399004

Cr-Commit-Position: refs/heads/master@{#8905}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
23914fe756903353eae13fffc868d2c84f51f06f 31-Mar-2015 Peter Boström <pbos@webrtc.org> Reject RTP one-byte extension ID 0.

Only accept local identifiers in the range 1-14 inclusive.

BUG=1788, chromium:471328
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/50549004

Cr-Commit-Position: refs/heads/master@{#8900}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
dfd53fe26b013d0948024a38eec6fbc31c29a094 27-Mar-2015 Peter Boström <pbos@webrtc.org> Raise streams for SetMaxSendBitrates above 2000k.

Fixes b=AS effectively not setting bitrates above 2000k.

BUG=1788,4469
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47839004

Cr-Commit-Position: refs/heads/master@{#8882}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
74d9ed7d853677d297807021436467a4f97584ac 26-Mar-2015 Peter Boström <pbos@webrtc.org> Report send codec name in GetStats().

BUG=4461
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/51439004

Cr-Commit-Position: refs/heads/master@{#8869}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d6f4c25eedcfd502920f1b2a24744badd9da80be 26-Mar-2015 Peter Boström <pbos@webrtc.org> Reject streams reusing simulcast or RTX SSRCs.

BUG=1788, chromium:470122, chromium:470856
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42919004

Cr-Commit-Position: refs/heads/master@{#8868}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e59041672283a28bde0b043c0c2bc198272f82e1 26-Mar-2015 Stefan Holmer <holmer@google.com> Moving the pacer and the pacer thread to ChannelGroup.

This means all channels within the same group will share the same pacing queue and scheduler. It also means padding will be computed and sent by a single pacer. To accomplish this I also introduce a PacketRouter which finds the RTP module which owns the packet to be paced out.

BUG=4323
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/45549004

Cr-Commit-Position: refs/heads/master@{#8864}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d4362cd3368d5fe542911c375b3a5c9f24b2f29d 25-Mar-2015 Peter Boström <pbos@webrtc.org> Reject StreamParams with RTX SSRCs not in ssrcs.

BUG=1788, chromium:470122
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44859004

Cr-Commit-Position: refs/heads/master@{#8855}
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
eebcab5ce99d3e8641dd92a569916b0d24e29fca 24-Mar-2015 kwiberg@webrtc.org <kwiberg@webrtc.org> rtc::Buffer: Rename length to size, for conformance with the STL

And add a constructor for creating an uninitialized Buffer of a
specified size.

(I intend to follow up with more Buffer changes, but since it's rather
widely used, the rename is quite noisy and works better as a separate
CL.)

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/48579004

Cr-Commit-Position: refs/heads/master@{#8841}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8841 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
a5f6fb53ba802fcf44e3c187d798c5a53ad555df 23-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Permit single-stream max bitrates above 2000k.

BUG=4463
TBR=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/49509004

Cr-Commit-Position: refs/heads/master@{#8839}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8839 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b9557a9bb7ed5f9aa1e7b3a64de4238572794ae3 20-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Fix code to handle crashes for non-VP8.

Unit tests will be submitted Monday, submitting this part to get the
Android bots green.

BUG=1667, 1788
R=glaznev@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44789004

Cr-Commit-Position: refs/heads/master@{#8811}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8811 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8296ec518b2659de922668bfe0db57e71eb17e74 20-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Fix heap-use-after-free in WebRtcVideoEngine2.

Found in libjingle_peerconnection_unittest on asan while trying to
default-enable WebRtcVideoEngine2.

BUG=1788
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44779004

Cr-Commit-Position: refs/heads/master@{#8808}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8808 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
af612d5e0769571544952cbe55e675748afa9bdd 18-Mar-2015 perkj@webrtc.org <perkj@webrtc.org> Reland "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.""

Original cl description:
This removes the none const pointer entry and SwapFrame.
Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.

With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame

This cl was previously reverted in https://webrtc-codereview.appspot.com/46549004/.

Patchset 1 contains the original patch after rebase.
Patshet 2 fix webrtc_perf_tests reported in chromium:465306

Note that chromium:465287 is being fixed in https://webrtc-codereview.appspot.com/43829004/

BUG=1128
R=magjed@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/47629004

Cr-Commit-Position: refs/heads/master@{#8776}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8776 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
afdd5dd372d69be7244a3d90d70de9d5ecd60eb9 12-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Revert "Revert "Remove frame copy from cricket::VideoFrame to I420VideoFrame""

This reverts r8683 and is a reland of r8682.

Reason for revert: The thread checker in Chromium that crashed has been fixed now.

BUG=1128
TBR=tommi,pbos,pthatcher

Review URL: https://webrtc-codereview.appspot.com/40319004

Cr-Commit-Position: refs/heads/master@{#8696}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8696 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b218ff553148b9a26c82e3b3a46d626c4438cedd 11-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Revert "Remove frame copy from cricket::VideoFrame to I420VideoFrame"

This reverts r8682.

Reason for revert: Fails on Chromium FYI content_browsertests

BUG=1128
TBR=tommi,pbos,pthatcher

Review URL: https://webrtc-codereview.appspot.com/47529004

Cr-Commit-Position: refs/heads/master@{#8683}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8683 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
370a72cc3ff928099c6ec6766659ed12155b74df 11-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Remove frame copy from cricket::VideoFrame to I420VideoFrame

BUG=1128
R=pbos@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42249004

Cr-Commit-Position: refs/heads/master@{#8682}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8682 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d7452a016812ab1de69c3d7a53caca5b06c64990 10-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Revert "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame."

This reverts commit r8633.

Reason for revert: Performance regressions in browser_tests_new_vie and webrtc_perf_tests.

BUG=1128,chromium:465287,chromium:465306
TBR=pbos,mflodman,perkj

Review URL: https://webrtc-codereview.appspot.com/46549004

Cr-Commit-Position: refs/heads/master@{#8670}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8670 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
a2a6fe66a39797ea61a04d80ce3afc494d850bfc 06-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Reconfigure default streams on AddRecvStream.

Makes sure RTX can be used for streams that have received early media
before being properly configured.

BUG=1788
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46499004

Cr-Commit-Position: refs/heads/master@{#8634}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8634 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bcead305a2f27c30c72c6a3824fdf12f4b83c2eb 06-Mar-2015 perkj@webrtc.org <perkj@webrtc.org> Make the entry point for VideoFrames to webrtc const ref I420VideoFrame.

This removes the none const pointer entry and SwapFrame.

Since frames delivered using VideoSendStream no longer use the external capture module, VideoSendStream will not get an incoming framerate callback. VideoSendStream now uses a rtc::RateTracker.
Also, the video engine must ensure that time stamps are always increasing.

With this, time stamps (ntp, render_time and rtp timestamps ) are checked and set in ViECapturer::OnIncomingCapturedFrame

BUG=1128
R=magjed@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/46429004

Cr-Commit-Position: refs/heads/master@{#8633}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8633 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2386d6dd92f10a715f131b5ad408b1babc1f35b0 05-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Revert 8599 "Revert 8580 "Unify underlying frame buffer in I420VideoFrame and...""

It's possible to build Chrome on Windows with this patch now.

BUG=1128

> This is unfortunately causing build problems in Chrome on Windows.

>> Unify underlying frame buffer in I420VideoFrame and WebRtcVideoFrame
>>
>> Currently, I420VideoFrame uses three webrtc::Plane to store pixel data, and WebRtcVideoFrame uses WebRtcVideoFrame::FrameBuffer/webrtc::VideoFrame. The two subclasses WebRtcTextureVideoFrame and TextureVideoFrame use a NativeHandle to store pixel data, and there is also a class WebRtcVideoRenderFrame that wraps an I420VideoFrame.
>>
>> This CL replaces these classes with a new interface VideoFrameBuffer that provides the common functionality. This makes it possible to remove deep frame copies between cricket::VideoFrame and I420VideoFrame.
>>
>> Some additional minor changes are:
>> * Disallow creation of 0x0 texture frames.
>> * Remove the half-implemented ref count functions in I420VideoFrame.
>> * Remove the Alias functionality in WebRtcVideoFrame
>>
>> The final goal is to eliminate all frame copies, but to limit the scope of this CL, some planned changes are postponed to follow-up CL:s (see planned changes in https://webrtc-codereview.appspot.com/38879004, or https://docs.google.com/document/d/1bxoJZNmlo-Z9GnQwIaWpEG6hDlL_W-bzka8Zb_K2NbA/preview). Specifically, this CL:
>> * Keeps empty subclasses WebRtcTextureVideoFrame and TextureVideoFrame, and just delegates the construction to the superclass.
>> * Keeps the deep copies from cricket::VideoFrame to I420VideoFrame.
>>
>> BUG=1128
>> R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, tommi@webrtc.org
>>
>> Review URL: https://webrtc-codereview.appspot.com/42469004

R=pbos@webrtc.org
TBR=mflodman, pbos, perkj, tommi

Review URL: https://webrtc-codereview.appspot.com/45489004

Cr-Commit-Position: refs/heads/master@{#8616}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8616 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1f94407319f85abc286c993774a4ea93807ec32e 04-Mar-2015 tommi@webrtc.org <tommi@webrtc.org> Revert 8580 "Unify underlying frame buffer in I420VideoFrame and..."

This is unfortunately causing build problems in Chrome on Windows.

> Unify underlying frame buffer in I420VideoFrame and WebRtcVideoFrame
>
> Currently, I420VideoFrame uses three webrtc::Plane to store pixel data, and WebRtcVideoFrame uses WebRtcVideoFrame::FrameBuffer/webrtc::VideoFrame. The two subclasses WebRtcTextureVideoFrame and TextureVideoFrame use a NativeHandle to store pixel data, and there is also a class WebRtcVideoRenderFrame that wraps an I420VideoFrame.
>
> This CL replaces these classes with a new interface VideoFrameBuffer that provides the common functionality. This makes it possible to remove deep frame copies between cricket::VideoFrame and I420VideoFrame.
>
> Some additional minor changes are:
> * Disallow creation of 0x0 texture frames.
> * Remove the half-implemented ref count functions in I420VideoFrame.
> * Remove the Alias functionality in WebRtcVideoFrame
>
> The final goal is to eliminate all frame copies, but to limit the scope of this CL, some planned changes are postponed to follow-up CL:s (see planned changes in https://webrtc-codereview.appspot.com/38879004, or https://docs.google.com/document/d/1bxoJZNmlo-Z9GnQwIaWpEG6hDlL_W-bzka8Zb_K2NbA/preview). Specifically, this CL:
> * Keeps empty subclasses WebRtcTextureVideoFrame and TextureVideoFrame, and just delegates the construction to the superclass.
> * Keeps the deep copies from cricket::VideoFrame to I420VideoFrame.
>
> BUG=1128
> R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, tommi@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/42469004

TBR=magjed@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42199005

Cr-Commit-Position: refs/heads/master@{#8599}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8599 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
058b1f17ac43b1fe69a8c18aaa7999ba88733dfd 04-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Remove GetReceiveBandwidthEstimatorStats.

Removes unnecessary non-standard stats that we don't really make use of.

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

Review URL: https://webrtc-codereview.appspot.com/47379004

Cr-Commit-Position: refs/heads/master@{#8588}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8588 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c8895aa2f31e05d3bd4d29507af3bbfcaa638499 03-Mar-2015 magjed@webrtc.org <magjed@webrtc.org> Unify underlying frame buffer in I420VideoFrame and WebRtcVideoFrame

Currently, I420VideoFrame uses three webrtc::Plane to store pixel data, and WebRtcVideoFrame uses WebRtcVideoFrame::FrameBuffer/webrtc::VideoFrame. The two subclasses WebRtcTextureVideoFrame and TextureVideoFrame use a NativeHandle to store pixel data, and there is also a class WebRtcVideoRenderFrame that wraps an I420VideoFrame.

This CL replaces these classes with a new interface VideoFrameBuffer that provides the common functionality. This makes it possible to remove deep frame copies between cricket::VideoFrame and I420VideoFrame.

Some additional minor changes are:
* Disallow creation of 0x0 texture frames.
* Remove the half-implemented ref count functions in I420VideoFrame.
* Remove the Alias functionality in WebRtcVideoFrame

The final goal is to eliminate all frame copies, but to limit the scope of this CL, some planned changes are postponed to follow-up CL:s (see planned changes in https://webrtc-codereview.appspot.com/38879004, or https://docs.google.com/document/d/1bxoJZNmlo-Z9GnQwIaWpEG6hDlL_W-bzka8Zb_K2NbA/preview). Specifically, this CL:
* Keeps empty subclasses WebRtcTextureVideoFrame and TextureVideoFrame, and just delegates the construction to the superclass.
* Keeps the deep copies from cricket::VideoFrame to I420VideoFrame.

BUG=1128
R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42469004

Cr-Commit-Position: refs/heads/master@{#8580}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8580 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f1f0d9a4cd53f4eacbf791cb7317612fa7382a45 02-Mar-2015 pbos@webrtc.org <pbos@webrtc.org> Remove WebRtcVideoEngine::SetVoiceEngine.

Instead enforcing that a voice engine is set on construction. Apart from
simplifying the class this permits tracing to be set up in the
constructor without worrying about racing sets from SetVoiceEngine
later.

BUG=
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/44489004

Cr-Commit-Position: refs/heads/master@{#8555}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8555 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2a72c6506a49b15d5e079eaa28cb80abb445684b 26-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Keep feedback params in SetDefaultEncoderConfig.

Prevents NACK etc. from breaking completely as it won't be reported in
the generated SDP.

BUG=1788
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40109004

Cr-Commit-Position: refs/heads/master@{#8519}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8519 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
891d48393e5ccd2f5e03d509c544c00a3d88cbbc 26-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Wire up target_media_bitrate in VideoSendStream.

Also wires up target_enc_bitrate in WebRtcVideoEngine2.

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

Review URL: https://webrtc-codereview.appspot.com/42479004

Cr-Commit-Position: refs/heads/master@{#8515}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8515 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3e6e271ec3253e78ae0eb72156e5236d43f8731d 26-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Implement CpuOveruseMetrics as callbacks.

Adds avg_encode_ms and encode_usage_percent in WebRtcVideoEngine2 and
corresponding stats to VideoSendStream::Stats.

BUG=1667, 1788
R=asapersson@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42429004

Cr-Commit-Position: refs/heads/master@{#8513}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8513 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9a4410e9934578e84cc129b978a29e151d957994 26-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Implement adaptation stats in WebRtcVideoEngine2.

BUG=1788
R=asapersson@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42489004

Cr-Commit-Position: refs/heads/master@{#8510}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8510 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
09c77b95bb62566be64da662f0b3b6a838ec6553 25-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Add decoder-timing stats to VideoReceiveStream.

Also breaks out SsrcStats from VideoReceiveStream::Stats as they don't
have that much overlap.

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

Review URL: https://webrtc-codereview.appspot.com/40819004

Cr-Commit-Position: refs/heads/master@{#8501}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8501 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d324546ced76d4e792338af4f7d02a5cd8819f92 23-Feb-2015 pkasting@chromium.org <pkasting@chromium.org> Misc. cleanup split out of https://webrtc-codereview.appspot.com/37699004/ :
* Move constants into the files/functions that use them
* Declare variables in the narrowest scope possible
* Use correct (expected, actual) order for gtest macros
* Remove unused functions
* Untabify
* 80-column limit
* Avoid C-style casts
* Prefer true typed constants to "enum hack" constants
* Print size_t using the right format macro
* Shorten and simplify code
* Other random cleanup bits and style fixes

BUG=none
TEST=none
R=henrik.lundin@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36179004

Cr-Commit-Position: refs/heads/master@{#8467}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8467 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
77e11bbe834e3b096db57278d2ad7c76d8c26d66 23-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Wire up preferred/nominal_bitrate to stats.

Also adds a test that shows that actual_enc_bitrate was not summed
correctly plus fixing it.

Additionally reducing locking when grabbing stats.

BUG=1778
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34319004

Cr-Commit-Position: refs/heads/master@{#8464}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8464 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1ed6224eafc7816f25d1906e4d709afdf2ad8f0f 19-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Revert r8430 "Remove dead stats from Video{Sender,Receiver}Info."

This breaks compilation outside this codebase that needs to have it
removed before.

BUG=4322
TBR=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42009004

Cr-Commit-Position: refs/heads/master@{#8432}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8432 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8ad05b76281e73f92051125aee81d85227c6a9bc 19-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Remove dead stats from Video{Sender,Receiver}Info.

These stats are neither filled nor plumbed further and might as well be
removed (as proven by how easy they were to remove).

BUG=
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/39219004

Cr-Commit-Position: refs/heads/master@{#8430}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8430 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1d0fa5d352fe12092201fade249905c7e1ff974b 19-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Add RtcpPacketTypeCounter stats to new API.

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

Review URL: https://webrtc-codereview.appspot.com/37489004

Cr-Commit-Position: refs/heads/master@{#8429}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8429 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b4987bfc24e1e755a6c54053d09a58d1e72228bb 18-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Send black frame with previous size when muting.

Instead of sending a black frame that's the size of the VideoFormat send
a black frame in the format we're already sending. This prevents
expensive encoder reconfiguration when the sending format is a different
resolution. This speeds up setting a null capturer (removing the
capturer) significantly as it doesn't entail an encoder reconfiguration.

R=mflodman@webrtc.org, pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/39179004

Cr-Commit-Position: refs/heads/master@{#8405}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8405 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e9facf8bb32a1688f2156009c755caa2904e1ac9 17-Feb-2015 pkasting@chromium.org <pkasting@chromium.org> Add range checks in a variety of places where the values will subsequently be
expected to be 0-127.

BUG=none
TEST=none
R=juberti@webrtc.org
TBR=henrika

Review URL: https://webrtc-codereview.appspot.com/37759004

Cr-Commit-Position: refs/heads/master@{#8399}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8399 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
86196c4f481d7f515e54806988f763169e8b9206 16-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Setup encoders inexpensively before first frame.

Modifies WebRtcVideoSendStream to use a default width/height of 16px.
This significantly reduces SetRemoteDescription time under
WebRtcVideoEngine2. Also preventing (expensive) reconfigurations due to
incoming frames when the channel is not sending yet.

Tests have been modified to generate a frame before expecting a certain
encoder size to have been configured.

Also adding tracing to WebRtcVideoSendStream::InputFrame as it can lead
to reconfigurations of the encoder which is expensive and it should show
up in chrome://tracing.

BUG=1788
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/42369004

Cr-Commit-Position: refs/heads/master@{#8381}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8381 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ff689be3c0c59c1be29aaa0697aa0f762566d6c6 12-Feb-2015 andresp@webrtc.org <andresp@webrtc.org> Use std::min and std::max instead of self-defined functions such as rtc::_min/_max.

R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/35079004

Cr-Commit-Position: refs/heads/master@{#8347}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8347 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0d852d5c27a759fe7aadc500bd7b3cadfae3deb8 09-Feb-2015 pbos@webrtc.org <pbos@webrtc.org> Use VideoReceiveStream as an ExternalRenderer.

Removes AddRenderCallback from ViERenderer and implements
VideoReceiveStream on top of DeliverI420Frame like WebRtcVideoEngine
currently does today.

Also adds ::IsTextureSupported() to the VideoRenderer interface to
permit querying whether an external renderer supports texture rendering.

R=stefan@webrtc.org
TBR=mflodman@webrtc.org
BUG=1667

Review URL: https://webrtc-codereview.appspot.com/34169004

Cr-Commit-Position: refs/heads/master@{#8299}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8299 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
5e161616b17900c06809e7275afca96363d44ad5 30-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Remove CPU monitor from WebRtcVideoEngine2.

CPU adaptation is based on timings done inside webrtc, not actual CPU
values anymore. This code has never been wired up and is causing flakes
on at least valgrind, but possibly also on actual platforms.

BUG=1788
R=stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/34089004

Cr-Commit-Position: refs/heads/master@{#8221}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8221 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
50fe359eb614e1bbe41124b9c19263019da0395d 29-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Add tracing for slow paths in new video API.

Allows tracking what actually takes time in SetRemoteDescription and
SetLocalDescription.

BUG=1788
R=tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/38809004

Cr-Commit-Position: refs/heads/master@{#8202}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8202 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
fc5ad95fecc5ddc7d98dcfbac1c4e75a7814253f 27-Jan-2015 magjed@webrtc.org <magjed@webrtc.org> Reland of: "Implement elapsed time and capture start NTP time estimation." revision @8139

Link to original CL: https://review.webrtc.org/36909004/

R=pbos@webrtc.org
TBR=pthatcher@webrtc.org
BUG=4227

Review URL: https://webrtc-codereview.appspot.com/39669004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8162 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0f988447496e5d656d52bea279c8511d3569cb11 23-Jan-2015 tkchin@webrtc.org <tkchin@webrtc.org> Revert 8139 "Implement elapsed time and capture start NTP time e..."

> Implement elapsed time and capture start NTP time estimation.
>
> These two elements are required for end-to-end delay estimation.
>
> BUG=1788
> R=stefan@webrtc.org
> TBR=pthatcher@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/36909004

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/41619004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8143 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ad3ee2c46bf502a18847229d42dd081c9e753c70 23-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Implement elapsed time and capture start NTP time estimation.

These two elements are required for end-to-end delay estimation.

BUG=1788
R=stefan@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/36909004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8139 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
cfd82dfc1156f6610388bec0ebbdeacaf47e9719 22-Jan-2015 asapersson@webrtc.org <asapersson@webrtc.org> Split packets/bytes in StreamDataCounter into RtpPacketCounter struct.
Prepares for adding FEC bytes to the StreamDataCounter.

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

Review URL: https://webrtc-codereview.appspot.com/37579004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8122 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f1c8b905204bc7a6c74271ead038f5d80d8d3eed 14-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Remove WebRtcVideoEncoderFactory2.

This interface is no longer required and just adds complexity.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/33009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8065 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f18fba2f7b3d1fad7b7b38a9a5dc281bef06c50e 14-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Implement SimulcastEncoderAdapter support.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/37589004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8061 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8f27fcce79584378da97f0d84574564799e138d6 09-Jan-2015 andrew@webrtc.org <andrew@webrtc.org> Revert 8028 "Support associated payload type when registering Rt..."

Reasons for revert:
1. glaznev discovered potentially related problems using the Android AppRTCDemo.
2. We're trying to do an M41 webrtc roll in Chromium, and this CL is risky.

> Support associated payload type when registering Rtx payload type.
>
> Major changes include,
> - Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
> - Receiver: Restore RTP packets by the new RTX-APT map.
> - Sender: Send RTP packets by checking RTX-APT map.
> - Add RTX payload type for RED in the default codec list.
>
> BUG=4024
> R=pbos@webrtc.org, stefan@webrtc.org
> TBR=mflodman@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/26259004
>
> Patch from Changbin Shao <changbin.shao@intel.com>.

TBR=pbos@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/33829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8033 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2a169640a3225a559f926fe74f1fe1af239e191f 09-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Support associated payload type when registering Rtx payload type.

Major changes include,
- Add associated payload type for SetRtxSendPayloadType & SetRtxReceivePayloadType.
- Receiver: Restore RTP packets by the new RTX-APT map.
- Sender: Send RTP packets by checking RTX-APT map.
- Add RTX payload type for RED in the default codec list.

BUG=4024
R=pbos@webrtc.org, stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/26259004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@8028 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c37e72e890cb1c769af9006dbd2e582c1a2e2a50 05-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Make setting identical RTP extensions a no-op.

Setting extensions are responsible for a lot of stream tear-downs
causing substantial slowdowns in SetRemoteDescription.

BUG=1788,4077
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/40389004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7998 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
896888b7e4cea97c65786b0e63bf2f65dc7d2390 02-Jan-2015 pbos@webrtc.org <pbos@webrtc.org> Remove min bitrate from simulcast streams.

Bitrates are still set using SetBitrateConfig() either way, and this
code causes assertion failures in
VideoSendStream::ReconfigureVideoEncoder: Assertion
`streams[i].target_bitrate_bps >= streams[i].min_bitrate_bps' failed.

R=pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/38529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7990 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
46d4d29a751c559b6f01b311a1e4aa14a2586a46 23-Dec-2014 sprang@webrtc.org <sprang@webrtc.org> Add field trial for screenshare bitrates when using temporal layers.

BUG=
R=pbos@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31209004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7976 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
742386a13670337db6e3bbf4cf54e7cb24a9b717 19-Dec-2014 stefan@webrtc.org <stefan@webrtc.org> Enable payload-based padding by default and remove the API.

BUG=1812
R=mflodman@webrtc.org, pbos@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/31319004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7964 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e575e9c40f7e2aeb28486f6e4b96910bc744c7ec 14-Dec-2014 magjed@webrtc.org <magjed@webrtc.org> Move WebRtcVideoRenderFrame from webrtcvideoengine2.cc to webrtcvideoframe.h

The purpose of this CL is to be able to reuse the class WebRtcVideoRenderFrame in webrtcvideoengine.cc.

R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32799004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7888 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
2b19f0631233488e891d9db0d170b637dc8fc464 11-Dec-2014 pbos@webrtc.org <pbos@webrtc.org> Wire up RTT statistics to webrtc::Call.

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

Review URL: https://webrtc-codereview.appspot.com/32249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7876 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
a85307737cc9ea3e79b86daf96d455fca4ad1bb4 10-Dec-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 81702493-> 81755413

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7860 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
599e299b9dc3dc07fc78cfeaba629566a201b4f1 05-Dec-2014 kjellander@webrtc.org <kjellander@webrtc.org> cricket::VideoFrame int64 to int64_t.

Needed for successful compile of ios arm64.

BUG=3898
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/30359004

Patch from Zeke Chin <tkchin@webrtc.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7817 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0fb6ad2004d3b86cb912c93a773e3f9162392e54 03-Dec-2014 pbos@webrtc.org <pbos@webrtc.org> Check if cpu_monitor_ exists before Stop().

R=asapersson@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/25279004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7797 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
273a414b0ec2e58fdf3b817ad8b1a02f4ce15287 01-Dec-2014 pbos@webrtc.org <pbos@webrtc.org> Report encoded frame size in VideoSendStream.

Implements reporting transmitted frame size in WebRtcVideoEngine2.

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

Review URL: https://webrtc-codereview.appspot.com/33399004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7772 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
008731868a09e2fe01da53733a612dc24761f791 25-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Implement settable min/start/max bitrates in Call.

These parameters are set by the x-google-*-bitrate SDP parameters. This
is implemented on a Call level instead of per-stream like the currently
underlying VideoEngine implementation to allow this refactoring to not
reconfigure the VideoCodec at all but rather adjust bandwidth-estimator
parameters.
Also implements SetMaxSendBandwidth in WebRtcVideoEngine2 as it's a SDP
parameter and allowing it to be dynamically readjusted in Call.

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

Review URL: https://webrtc-codereview.appspot.com/26199004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7746 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bdcf38c89446b1b464a646414f6cd7573a190bd1 21-Nov-2014 magjed@webrtc.org <magjed@webrtc.org> cricket::VideoFrame: Refactor ConvertToRgbBuffer into base class

There is also an implementation in Chromium that can be removed if/when this lands:
content/renderer/media/webrtc/webrtc_video_capturer_adapter.cc

R=fbarchard@google.com, pbos@webrtc.org, perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/32059004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7728 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d819803d4570564a9800a7dd54f4593e6e21a6e7 10-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Wire up DSCP support in WebRtcVideoEngine2.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/24249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7669 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
957e802fe0e6e765425955cc1e3e02f73d1a670b 10-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Refactor SetDefaultEncoderConfig to work on existing codecs.

Addresses issue where SetDefaultEncoderConfig modifies the codec list
rather than just the targeted codec. This was previously done just to
pass more unit tests rather than be done properly. This incidentally
addresses a TODO causing this to work with external codecs as well.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/32009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7667 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
188d3b2245b49f21468840386d81b080176b434b 07-Nov-2014 andresp@webrtc.org <andresp@webrtc.org> Enable VP9 video codec support on webrtcvideoengine behind a field trial.

BUG=chromium:431285
R=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27929004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7663 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
a2ef4fe9c331e7668b9e8ff64ce5141a535a5f21 07-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Prevent a lot of VideoSendStream reconfigures.

Checking whether we're setting the same configuration or not.
Experimentally this brings down underlying reconfigures from ~20 to
about 4-5.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/30909004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7659 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
82775b13965b4d41299b097c09c30c4ab160cdac 07-Nov-2014 andresp@webrtc.org <andresp@webrtc.org> Refactor webrtcvideoengines to have the default list of supported codecs being generated in runtime.
This will allow to plugin VP9 based on a field trial.

R=pbos@webrtc.org, pbos, pthatcher

Review URL: https://webrtc-codereview.appspot.com/27949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7658 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
19b47410044aecac20f3f46a4d207018fc466e2e 06-Nov-2014 andresp@webrtc.org <andresp@webrtc.org> Removing unused method GetDefaultVideoEncoderConfig.

R=pbos@webrtc.org, tommi@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/27959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7649 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0bae1fab4adb9bb8164e53142bf419049eafec38 05-Nov-2014 stefan@webrtc.org <stefan@webrtc.org> Wire up bandwidth stats to the new API and webrtcvideoengine2.

Adds stats to verify bandwidth and pacer stats.

BUG=1788
R=mflodman@webrtc.org, pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24969004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7634 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
88ef6322864b4071df4ed724a3989a9183d92172 04-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Falling back on single-stream on multiple SSRC.

Instead of failing, use one stream. Also clamp video min bitrate.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/31949004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7615 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
96a93259b361f4b03080a188d781b0835cf4edaf 03-Nov-2014 pbos@webrtc.org <pbos@webrtc.org> Implement external decoder support in WebRtcVideoEngine2.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/30839004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7594 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b7ed7799e77d3b315f5016951ecb90d18f10fdcb 31-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Implement conference-mode temporal-layer screencast.

Renames VideoStream::temporal_layers to temporal_layer_thresholds_bps to
convey that it contains thresholds needed to ramp up between them (1
threshold -> 2 temporal layers, etc.).

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

Review URL: https://webrtc-codereview.appspot.com/23269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7578 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3bf3d238c8c4578e444e5a601684db68c79a29ca 31-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Configure A/V sync in WebRtcVideoEngine2.

Sets up A/V sync for the first video receive channel with the default
voice channel. This is only done when conference mode is disabled to
preserve existing behavior. Ideally we'd know which voice channel to
sync with here.

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

Review URL: https://webrtc-codereview.appspot.com/23249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7577 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
776e6f289c7396a1143b8b36b03f88b08ac8cba3 29-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Use external VideoDecoders in VideoReceiveStream.

Removes direct VideoCodec use from the new API, exposes VideoDecoders
through webrtc/video_decoder.h similar to VideoEncoders.

Also includes some preparation for wiring up external decoders in
WebRtcVideoEngine2 by adding AllocatedDecoders that specify whether they
were allocated internally or externally.

Additionally addresses a data race in VideoReceiver that was exposed with this change.

R=mflodman@webrtc.org, stefan@webrtc.org
TBR=pthatcher@webrtc.org
BUG=2854,1667

Review URL: https://webrtc-codereview.appspot.com/27829004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7560 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ae694effd85d501f15600275dec96522a00c4feb 28-Oct-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 78642371-> 78680406

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7545 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
efc82c2c734171faba9e400ff60a114e7af2ebcc 27-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Implement screencast settings for WebRtcVideoEngine2.

Adds support for screencast_min_bitrate and sets content type
corresponding to the capture type.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/29959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7529 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
fa553ef6053b20f3768d5fe4314e8c993648bf0a 20-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Set up start bitrate in WebRtcVideoEngine2.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/27789004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7476 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1ecbe45c7e4c9142896cb2810d699558518f4f28 14-Oct-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 77689511-> 77696841

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7449 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
7fe1e03dd6da66401010119734245f114bf06645 14-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Wire up external encoders.

R=pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/30649005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7440 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3c16d8bd1c0a3eea94a6678497eae0cf8e7f0187 13-Oct-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 77414393-> 77554188

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7428 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
97abeee2825ac93b62397feea74d0ad02d42540d 09-Oct-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 77263371-> 77296420

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7400 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
575d126a3d4a4bf6d43ea07189ac201f6bfe0798 08-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Protect send_/recv_streams_ in WebRtcVideoEngine2.

Important as OnLoadUpdate() won't be called on the worker thread and the
list of streams can't be concurrently modified while delivering this
callback to all send streams.

R=stefan@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/22959004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7395 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
963b979510f6521fd69576f146235c6a5c0f8264 07-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Remove potential deadlock in WebRtcVideoEngine2.

Fixes lock-order inversions between capturer's SignalVideoFrame and
WebRtcVideoSendStream. Additionally also removes all deadlock
suppressions for WebRtcVideoEngine2.

R=stefan@webrtc.org
TBR=kjellander@webrtc.org
BUG=1788,2999

Review URL: https://webrtc-codereview.appspot.com/26729004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7386 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
42684be21b255e2b07eb154e6a2807fa2226167e 03-Oct-2014 pbos@webrtc.org <pbos@webrtc.org> Wire up CPU adaptation in WebRtcVideoEngine2.

Includes clean-up work to be able to use the webrtc::Call::Config that's
set up. This introduced a CallFactory to spawn a FakeCall with the
config used and allowed removal of FakeWebRtcVideoChannel2.

BUG=1788
R=mflodman@webrtc.org, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/24779004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7370 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d60d79a14594cbc8266e4a50391ddbe64ed491f0 24-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Thread annotation of rtc::CriticalSection.

Effectively re-lands r5516 which was reverted because talk/-only
checkouts existed. This now resides in webrtc/base/, so no talk/-only
checkouts should be possible.

This change also enables -Wthread-safety for talk/ and fixes a bug in
talk/media/webrtc/webrtcvideoengine2.cc where a guarded variable was
read without taking the corresponding lock.

R=andresp@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/27569004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7284 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0a2087a7110e2455ce68f2c85068df5ae447508f 23-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Skeleton for registering external encoders/decoders.

R=pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/31429005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7270 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
83f95ba9a645099df5e19a91030029181d766b40 22-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Remove engine-level SetOptions.

Already removed in WebRtcVideoEngine.

R=andresp@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/29549005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7265 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bbe0a8517d7f9da7aa779bff77cdbb70df358437 19-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Config struct for VideoEncoder.

Used for config parameters in common between multiple codecs as well as
the encoder-specific pointer. In particular this contains content mode
(realtime video vs. screenshare).

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

Review URL: https://webrtc-codereview.appspot.com/16319004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7239 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
933d88af58b00517570ef78f38852bfd7fb1bb02 18-Sep-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 75818332-> 75837294

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7227 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
6cd6ba8ae016200a7a13b43294b8faf5d1d4affd 18-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Expose VP8/H264 defaults through video_encoder.h.

Reduces code duplication quite a bit, these identical defaults were set
in quite a few different places.

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

Review URL: https://webrtc-codereview.appspot.com/19299004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7220 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ab990ae43a2b84b103cb3c50bc38502375c13e68 17-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Revert 7151 "Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h.""

Re-lands r7114 after landing r7204 to adress the compile error causing
the rollback in r7151.

BUG=3070
TBR=henrikg@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/28489004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7207 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
cddd17c0f89cfaa9d2f21118ae90b45dae3b4aee 16-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Recreate VideoStreams when setting resolution.

Instead of just changing resolution on the last stream streams are
reallocated to make sure that all streams are updated to match the
new input resolution.

R=pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/29469004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7197 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
307d3dbdeed71d42edf38d3828081b11a5a416fb 11-Sep-2014 henrikg@webrtc.org <henrikg@webrtc.org> Revert 7114 "Expose VideoEncoders with webrtc/video_encoder.h."

Speculative revert, seems to be reason for flaky Win FYI bot compile break.

> Expose VideoEncoders with webrtc/video_encoder.h.
>
> Exposes VideoEncoders as part of the public API and provides a factory
> method for creating them.
>
> BUG=3070
> R=mflodman@webrtc.org, stefan@webrtc.org
>
> Review URL: https://webrtc-codereview.appspot.com/21929004

TBR=pbos@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19329004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7151 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b420191743fc135222c862deeaa4cf9dec249fe3 09-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Expose VideoEncoders with webrtc/video_encoder.h.

Exposes VideoEncoders as part of the public API and provides a factory
method for creating them.

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

Review URL: https://webrtc-codereview.appspot.com/21929004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7114 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
992febb9978d2ded1a2c3c8a42ea18ee071ca3ae 05-Sep-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 74873066-> 74873164

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7089 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
818b7b3ac982e9e1f579904c5f160103da046dcf 05-Sep-2014 buildbot@webrtc.org <buildbot@webrtc.org> (Auto)update libjingle 74825084-> 74825992

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7074 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
26c0c41a06d77af54df547169d952a21319dea8c 03-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Network up/down signaling in Call.

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

Review URL: https://webrtc-codereview.appspot.com/13109005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7044 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c4175b9fdf7d23eb58a044ff39e2b096f9091995 03-Sep-2014 pbos@webrtc.org <pbos@webrtc.org> Set resolution based on incoming VideoFrames.

R=pthatcher@webrtc.org
BUG=1788

Review URL: https://webrtc-codereview.appspot.com/17269004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@7042 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b648b9d85c5d07b0866ef45f5be587f71b0849b4 26-Aug-2014 pbos@webrtc.org <pbos@webrtc.org> Remove test constructor in WebRtcVideoEngine2.

Removes the need for ::Construct().

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15279004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6977 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3740d741068698baf987b1ced5ea485378e16d04 23-Aug-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 73927658-> 73927775

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6958 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
97fdeb8329cf5c328fa531c0a61c3dd181eb4833 22-Aug-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove static initializer in WebRtcVideoEngine2.

Blocks import into chromium.

R=tommi@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/18249004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6954 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
ef8bb8d9b0bca0b1fd1ddb0a17df665e9dfaf9ad 13-Aug-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Make sure that muting muted streams succeeds.

We don't want to report an error here, and PeerConnection relies on
being able to mute already-muted streams (I hit an assert when testing
manually).

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14139004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6895 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
432893a1002636aa83f7d356ed8e6f80f908d134 13-Aug-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove TODO saying to remove WebRtcVideoFrame.

Comment was added prematurely, there's no decision to get rid of this
type.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6894 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
a09a99950ec40aef6421e4ba35eee7196b7a6e68 13-Aug-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 73222930-> 73226398

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6891 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
afb554f404d68e6f3ca5395216f776169370713d 13-Aug-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Move default-recv-channels to a separate class.

BUG=1788,3099
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20119004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6879 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c3d2bd28a3e8badc434a5081dd36f4ac41b4e3f2 12-Aug-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Fix GetStats() crash.

GetStats() can be called before codecs are set and the underlying
webrtc::VideoSendStream is created, leading to a null-pointer
dereference.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14099004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6876 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d4e598d57aed714a599444a7eab5e8fdde52a950 29-Jul-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 72097588-> 72159069

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6799 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
257e130a1639febeb3ffc4d42943be3cb58151c7 25-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Set NACK/REMB when setting receive codecs.

Enabling an additional test to ensure that REMB can be both enabled and
disabled by setting VideoCodecs.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15049004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6785 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
9359cb3e75c7100dab4c687f60dd28dc613280e4 23-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Enable SendAndReceive tests.

Also fixes a crash in ::SetCapturer which wasn't exposed by tests
before.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18019005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6765 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
5ff71ab4b369fe3dbfaec5f91cd2e491397eff33 23-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Revert "(Auto)update libjingle 71675033-> 71726409"

This reverts commit r6761 which looks like an accidental auto-revert of
r6760.

BUG=1788
TBR=wu@webrtc.org, henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6763 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f67f6aa74187dbb804ec3bc98b9551db9fcf5571 23-Jul-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 71675033-> 71726409

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6761 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8120353342f27df70018a808efa92acc8a07d9f2 23-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement suspend-below-min-bitrate option.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/17989004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6760 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
543e589205af006f6b999a2c5df51d3fb722d925 23-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Wire up VideoOptions for payload-based padding.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6759 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
6f48f1bf68a10669c9bcd81262c1a98ed2a8d462 22-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement encoder options in WebRtcVideoEngine2.

Implementing default options to enable denoising by default and wiring
up encoder settings to propagate VP8 settings.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19999004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6757 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
cadd078cf994b873f344621901fe62a621bbaa6c 22-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove unused config.h and math.h includes.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18859004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6756 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
3c10758b3bb9519d5e582c00f454ac30196ac4e7 20-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Check before send/receive rtp header extensions.

BUG=1788
R=pbos@webrtc.org, tommi@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13949004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6744 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
8fdeee6abfcb560233b5e769afb1c1c72cc2100d 20-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement Base::ConstrainNewCodec2.

BUG=1788
R=wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15009004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6743 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e6f84ae8a602ce78733d20b280ce32198e7ecef5 18-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Initial WebRtcVideoEngine2::GetStats().

Also forward-declaring and moving WebRtcVideoRenderer out of header.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/13869004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6729 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d1ea06b3d5adab352741df5092c56b20f3e1a74f 18-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Restart VideoReceiveStreams in WebRtcVideoEngine2.

Puts VideoReceiveStreams in a wrapper, WebRtcVideoReceiveStream that
contain their state (configs). WebRtcVideoRenderer (the wrapper between
webrtc::VideoRenderer and cricket::VideoRenderer) has also been merged
into WebRtcVideoReceiveStream.

Implements and tests setting codecs with new FEC settings as well as RTP
header extensions on already existing receive streams.

BUG=1788
R=pthatcher@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/14879004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6727 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
5301b0f1fce9478dfa56476e174332a1d67b053a 17-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Move additional state into WebRtcVideoSendStream.

Prevents having two places where codecs etc. are set up and allows us to
avoid creating the underlying VideoSendStream before send codecs are
set up.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20939004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6716 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
cb859ecd3b9435633434ca3c028eb60c8e8c5938 15-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Replace strcpy with talk_base::strcpyn.

Cpplint reports error 'Almost always, snprintf is better than strcpy'
when checking code styles. The function talk_base::strcpyn() is a better
option than strcpy().

BUG=1788
R=pbos@webrtc.org, wu@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/12919004

Patch from Changbin Shao <changbin.shao@intel.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6686 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
bd249bc711b3c9efd142eb8de3df489282fe693e 07-Jul-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove GetDefaultConfigs() from Call.

Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/18729004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
df9bbbee56f4d9ecef93b3c46964b6f29803f81b 19-Jun-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 69567902-> 69568113

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6498 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
587ef60056ff0e301a95a9eb8231fb0cae6b69b1 16-Jun-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement RTP extension support in WebRtcVideoEngine2.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20679004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6453 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
f99c2f2dbcaab24b45295cb9e06c3c52ad349d81 13-Jun-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Add NACK feedback parameter to WebRtcVideoEngine2.

Also fixing enabling/disabling of NACK. Previous implementation was made
under the assumption that NACK should always be enabled which caused
both missing NACK settings in SDP as well as broken interop between old
and new WebRtcVideoEngines.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16689004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6431 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
e322a175f6f38c4ed39296d9724edf005e536a63 13-Jun-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement RTX tests+fixes in WebRtcVideoEngine2.

BUG=1788
R=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/15759004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6430 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d41eaeb7cded2b2cda83f53aa320cf18e2d07380 12-Jun-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 69005149-> 69049090

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6408 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
6ae48c660934784b4df56ab1ac99402ce3745e9f 06-Jun-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Make VideoSendStream/VideoReceiveStream configs const.

Benefits of this is that the send config previously had unclear locking
requirements, a lock was used to lock parts parts of it while
reconfiguring the VideoEncoder. Primary work was splitting out video
streams from config as well as encoder_settings as these change on
ReconfigureVideoEncoder. Now threading requirements for both member
configs are clear (as they are read-only), and encoder_settings doesn't
stay in the config as a stale pointer.

CreateVideoSendStream now takes video streams separately as well as the
encoder_settings pointer, analogous to ReconfigureVideoEncoder.

This change required changing so that pacing is silently enabled when
using suspend_below_min_bitrate rather than silently setting it.

R=henrik.lundin@webrtc.org, mflodman@webrtc.org, pthatcher@webrtc.org, stefan@webrtc.org
BUG=3260

Review URL: https://webrtc-codereview.appspot.com/20409004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6349 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
0d523eea831e616c415c61765127ed5eb17e5f11 05-Jun-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Remove static initializer from WebRtcVideoEngine2.

BUG=
R=pliard@google.com, pthatcher@webrtc.org, pliard@chromium.org

Review URL: https://webrtc-codereview.appspot.com/15679005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6338 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
c34bb3a88627672d99b1c037d36dbeb23407fae4 30-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Log default receive stream creation.

Log when receiving a packet that doesn't have a receiver, this way you
can tell from logs where the AddRecvStream call came from.

R=pthatcher@google.com, pthatcher@webrtc.org
BUG=

Review URL: https://webrtc-codereview.appspot.com/17459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6279 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
198647473ba207d59dc94216ef38496d43d15592 30-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Implement and fix new-API NackIsEnabled test.

Required enabling NACK on receiver side which was apparently missed.

BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16499007

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6278 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
1e019d10b8bcd96e8cf6b3d3df2730449fbed939 16-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Fix delivery error-checking missed in r6151.

Gets rid of quite a bit of false-warning logging in WebRtcVideoEngine2.

BUG=3228
R=perkj@webrtc.org
TBR=pthatcher@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/16529004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6183 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
4e545cc24478df6dec0f73cb8f5b9e5720fbce59 14-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Update webrtcvideoengine2.cc to use DeliveryStatus.

talk/ changes corresponding to https://review.webrtc.org/12289005/.

BUG=3228
R=perkj@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/19479004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6151 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
b5a22b14648c53874b4b76368a1a2271d985e875 13-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Revert r6110 and r6109.

Effectively re-landing r6104 as well as r6108 which includes a fix to a
compile error that caused r6104 to be reverted in r6110.

BUG=
TBR=henrike@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/20459004

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6119 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
17911dca8099707b5c050741a108b95b79a4da66 12-May-2014 buildbot@webrtc.org <buildbot@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> (Auto)update libjingle 66798415-> 66813165

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6110 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc
d266a2020f9e86a787eada77d458ee75426d68af 12-May-2014 pbos@webrtc.org <pbos@webrtc.org@4adac7df-926f-26a2-2b94-8c16560cd09d> Initial wiring of new webrtc API in libjingle.

BUG=1788
R=pthatcher@google.com, pthatcher@webrtc.org
TBR=juberti@webrtc.org, mflodman@webrtc.org

Review URL: https://webrtc-codereview.appspot.com/8549005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6104 4adac7df-926f-26a2-2b94-8c16560cd09d
/external/webrtc/talk/media/webrtc/webrtcvideoengine2.cc