Commit Graph

292 Commits

Author SHA1 Message Date
0cd086b70e Adding codecs to the RtpParameters returned by an RtpSender.
Contains every field except for sdpFmtpLine.
Setting a reordered list of codecs is not yet supported.

R=glaznev@webrtc.org, pthatcher@webrtc.org, skvlad@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12453}
2016-04-20 23:23:22 +00:00
d1f584bb06 Fix flake in TwoStreamsSendAndReceive.
Whether two streams get 300k or 150k as initial bitrate is flaky, since
InitEncode may happen asynchronously either before or after two streams
have shared the 300k, meaning that the first sender either thinks it
should start at 300k or at 150k.

This should ideally be fixed by reconfiguring encoders to use QVGA if a
lower estimate arrives before the first frame is encoded, but right now
that would require reconfigure logic in all VideoEncoder wrappers, which
is also less than ideal. It would be good to revisit this once
QualityScaler moves outside the VideoEncoder implementations (into
GenericEncoder).

BUG=webrtc:5678
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12448}
2016-04-20 14:32:01 +00:00
14fe708f3d Reland of Initialize/configure video encoders asychronously. (patchset #1 id:1 of https://codereview.webrtc.org/1821983002/ )
Reason for revert:
RTCVideoEncoder has been updated to not make assumptions on calling threads/post back to a worker thread. This should now be landable again.

Original issue's description:
> Revert of Initialize/configure video encoders asychronously. (patchset #4 id:60001 of https://codereview.webrtc.org/1757313002/ )
>
> Reason for revert:
> Breaks RTCVideoEncoder which has incorrect assumptions on where InitEncode etc. is called from. Temporarily reverting until RTCVideoEncoder has been updated.
>
> Original issue's description:
> > Initialize/configure video encoders asychronously.
> >
> > Greatly speeds up setRemoteDescription() by moving encoder initialization
> > off the main worker thread, which is free to move onto gathering ICE
> > candidates and other tasks while InitEncode() is performed. It also
> > un-blocks PeerConnection GetStats() which is no longer blocked on
> > encoder initialization.
> >
> > BUG=webrtc:5410
> > R=stefan@webrtc.org
> >
> > Committed: fb647a67be
>
> R=stefan@webrtc.org
> # Not skipping CQ checks because original CL landed more than 1 days ago.
> BUG=chromium:595274, chromium:595308, webrtc:5410
>
> Committed: https://crrev.com/81cbd924447d507559dbd6e6d1f9fe439fcf2716
> Cr-Commit-Position: refs/heads/master@{#12086}

TBR=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:595274, chromium:595308, webrtc:5410

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

Cr-Commit-Position: refs/heads/master@{#12446}
2016-04-20 13:36:05 +00:00
0e533ef487 Update the call when the network route changes
so that BWE can be updated promptly.

BUG=webrtc:5726
R=mflodman@webrtc.org, pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12432}
2016-04-19 22:41:53 +00:00
06176e49e2 Added new VideoFrameBuffer methods Data[YUV]() etc.
Eliminate most uses of the old methods.

To continue on this path, once we agree the new methods make sense,
the next step is to rename cricket::VideoFrame::GetVideoFrameBuffer
--> video_frame_buffer, to match the name in webrtc::VideoFrame (if we
think that name is ok?). And then start updating all code to access
planes via the VideoFrameBuffer, and delete corresponding methods in
both cricket::VideoFrame and webrtc::VideoFrame.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12407}
2016-04-18 12:34:45 +00:00
47fe34c2bd Introduce an IsMutable method on VideoFrameBuffer.
Unlike HasOneRef, it can be overridden to always return false in
immutable subclasses.

I'm also investigating overiding it in PooledI420Buffer, to directly
inherit I420Buffer but ignore the reference from the pool. Still
unclear if that will work out.

BUG=webrtc:5682

Committed: https://crrev.com/6bd10f2c1ac912cbe5addd880e559d59274c60e6
Cr-Commit-Position: refs/heads/master@{#12365}

R=magjed@webrtc.org, pbos@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12404}
2016-04-18 11:03:11 +00:00
cc74dbac4f Remove unused cricket::AudioFrame class.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12379}
2016-04-15 13:41:17 +00:00
d53a3f9758 Early initialize recording on the ADM from WebRtcVoiceMediaChannel.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12369}
2016-04-14 20:56:45 +00:00
dad23d06aa Revert of Introduce an IsMutable method on VideoFrameBuffer. (patchset #1 id:1 of https://codereview.webrtc.org/1881933004/ )
Reason for revert:
This is breaking all FYI bots.
The new virtual method is not implemented on the Chromium side yet.

Original issue's description:
> Introduce an IsMutable method on VideoFrameBuffer.
>
> Unlike HasOneRef, it can be overridden to always return false in
> immutable subclasses.
>
> I'm also investigating overiding it in PooledI420Buffer, to directly
> inherit I420Buffer but ignore the reference from the pool. Still
> unclear if that will work out.
>
> BUG=webrtc:5682
>
> Committed: https://crrev.com/6bd10f2c1ac912cbe5addd880e559d59274c60e6
> Cr-Commit-Position: refs/heads/master@{#12365}

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

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

Cr-Commit-Position: refs/heads/master@{#12366}
2016-04-14 16:35:05 +00:00
6bd10f2c1a Introduce an IsMutable method on VideoFrameBuffer.
Unlike HasOneRef, it can be overridden to always return false in
immutable subclasses.

I'm also investigating overiding it in PooledI420Buffer, to directly
inherit I420Buffer but ignore the reference from the pool. Still
unclear if that will work out.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12365}
2016-04-14 15:46:44 +00:00
b17712ff89 Use microsecond timestamp in cricket::VideoFrame.
BUG=webrtc:5740

Committed: https://crrev.com/f30ba114bb33dd1d8643bc640dda2e0c86dbbd32
Cr-Commit-Position: refs/heads/master@{#12348}

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

Cr-Commit-Position: refs/heads/master@{#12358}
2016-04-14 09:29:35 +00:00
09eabcb4fb Revert of Use microsecond timestamp in cricket::VideoFrame. (patchset #13 id:240001 of https://codereview.webrtc.org/1865283002/ )
Reason for revert:
This CL breaks Chrome FYI bots compile: https://build.chromium.org/p/chromium.webrtc.fyi/builders/Linux%20Builder/builds/4942/steps/compile/logs/stdio

Original issue's description:
> Use microsecond timestamp in cricket::VideoFrame.
>
> BUG=webrtc:5740
>
> Committed: https://crrev.com/f30ba114bb33dd1d8643bc640dda2e0c86dbbd32
> Cr-Commit-Position: refs/heads/master@{#12348}

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

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

Cr-Commit-Position: refs/heads/master@{#12350}
2016-04-13 17:45:51 +00:00
67cf2c1294 Removing preference field from cricket::Codec.
This field only existed as an implementation detail for getting the
codecs sorted, so it doesn't need to be in the public interface.
It cluttered the code and undesirably affected codec comparisons,
causing the video encoder to be reconfigured if a codec's preference
changed but nothing else did.

BUG=webrtc:5690

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

Cr-Commit-Position: refs/heads/master@{#12349}
2016-04-13 17:07:24 +00:00
f30ba114bb Use microsecond timestamp in cricket::VideoFrame.
BUG=webrtc:5740

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

Cr-Commit-Position: refs/heads/master@{#12348}
2016-04-13 16:37:00 +00:00
6d6e7c5e1a Fix bug causing audio to stop being sent when AudioSendStreams are recreated.
BUG=webrtc:5772

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

Cr-Commit-Position: refs/heads/master@{#12347}
2016-04-13 16:07:38 +00:00
f386876354 Rename some cricket::VideoFrame methods, to align with webrtc::VideoFrame.
GetVideoFrameBuffer --> video_frame_buffer
GetVideoRotation --> rotation
SetRotation --> set_rotation

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12342}
2016-04-13 10:29:20 +00:00
hta
a6b99448ee Generate FMTP parameters for the H.264 codec.
This CL generates FMTP parameters that allow H.264 interoperation
with Firefox for the default codec list.

BUG=chromium:591971

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

Cr-Commit-Position: refs/heads/master@{#12333}
2016-04-12 17:29:20 +00:00
dabc9449b7 Add missing tracing to RtpSender objects.
BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12311}
2016-04-11 09:45:43 +00:00
5b5129a2ad Replace a few calls to VoEHardware with direct calls on the ADM, in WVoMC.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12293}
2016-04-08 12:35:55 +00:00
2ded9b19d1 Replace SetCapturer and SetCaptureDevice by SetSource.
Drop return value.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12291}
2016-04-08 09:24:01 +00:00
e0d4637bea Allow applications to control audio send bitrate through RtpParameters.
This change builds on top of the refactoring in https://codereview.webrtc.org/1841083008/, and enables WebRTC client applications to control the max send bitrate for every audio stream through RtpParameters.

The AudioSendStream now stores the last codec spec, and whenever a global or per-stream bitrate limit changes, the effective limit (smaller of the two) is recomputed and the codec is reconfigured with that bitrate.

TBR=pthatcher
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12290}
2016-04-08 05:59:32 +00:00
03bd4008b6 Move InitToBlack and Reset methods from cricket::VideoFrame to its subclass cricket::WebRtcVideoFrame.
BUG=webrtc:5682
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12260}
2016-04-06 11:07:18 +00:00
Per
766ad3b989 This cl do a major cleanup of the VideoAdapter and make sure it does care about the VideoSinkWants.max_pixel_count and VideoSinkWants.max_pixel_count_step_up.
Unit tests are updated to test that screen share is not adapted but it does not change the VideoSinkWants in WebRtcVideoEngine2::SendStream due to a switch to screen share. The reason is that it works anyway and sprang is looking into how to do adaptation based on frame rate as well and use the adapter for screen share as well.

BUG=webrtc:5688, webrtc:5426
R=nisse@webrtc.org, pbos@webrtc.org, sprang@google.com

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

Cr-Commit-Position: refs/heads/master@{#12240}
2016-04-05 13:23:58 +00:00
119760aa65 Don't reconfigure the encoder if the video options aren't changing.
Review URL: https://codereview.webrtc.org/1840043005

Cr-Commit-Position: refs/heads/master@{#12222}
2016-04-04 18:43:33 +00:00
bc37fc8418 Add mock AudioDeviceModule.
BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12220}
2016-04-04 16:54:52 +00:00
71a0c2f9a6 Deprecate GetWidth() and GetHeight() methods. Replaced by width() and height().
Delete GetChromaWidth, GetChromaHeight, and GetChromaSize.

Delete unused function VideoFrameEqual.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12213}
2016-04-04 07:57:37 +00:00
fcc640f8f6 Get VideoCapturer stats via VideoTrackSourceInterface in StatsCollector,
without involving the VideoMediaChannel.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12193}
2016-04-01 08:10:50 +00:00
60083c86fa Delete unused cricket::VideoFrame methods MakeExclusive and CopyToFrame.
BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12188}
2016-04-01 06:32:48 +00:00
af9e4ac4bc Limit max spatial layers to be configured through field trial (3->2) to match current limit in VP9EncoderImpl::InitEncode.
BUG=chromium:595695

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

Cr-Commit-Position: refs/heads/master@{#12175}
2016-03-31 07:36:55 +00:00
ff97631e3c - Add temporary VoEBase::audio_device_module() method.
- Remove WVoE::SetAudioDeviceModule() - the ADM is now supplied in ctor.
- Remove WVoE::Init() and WVoE::Terminate().
- Remove MediaEngineInterface::Terminate().

BUG=webrtc:4690

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

Cr-Commit-Position: refs/heads/master@{#12173}
2016-03-31 06:28:56 +00:00
cc411c0599 Reset the BWE when the network changes.
Currently "Resetting the BWE" does nothing yet. This CL passes the correct signaling to the bandwidth estimator.

BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12154}
2016-03-30 00:27:36 +00:00
b252856d10 Remove all uses of the HAVE_CONFIG_H define.
BUG=
R=henrik.lundin@webrtc.org, pthatcher@google.com, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12141}
2016-03-29 15:47:28 +00:00
a4f07887c7 Delete default_send_ssrc_.
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12112}
2016-03-24 08:02:55 +00:00
7ade7b3282 Delete class webrtc::VideoRenderer and its header file.
To replace the SmoothsRenderedFrames method, added a corresponding
flag to VideoReceiveStream::Config instead.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12102}
2016-03-23 11:48:17 +00:00
1509fa1aa9 Delete cricket::VideoRenderer.
TBR=glaznev@webrtc.org (deleting an #include in main_wnd.h)
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12101}
2016-03-23 11:06:05 +00:00
dbe2b8744f Adding support for RTCRtpEncodingParameters.active flag.
This will allow a sender to stop/start sending media on the
application's demand.

Among other things, this can allow an application to set a track on a
sender while the encoding(s) are inactive, allowing the encoder to be
initialized for that track, then later set the encodings to "active"
to instantly start sending the track.

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

Cr-Commit-Position: refs/heads/master@{#12094}
2016-03-22 22:42:07 +00:00
7a43d253f9 Make the audio channel communicate network state changes to the call.
This change enables voice-only calls to keep track of the network state.
This is only a partial fix - the last modality to change state controls
the state for the entire call, so a call with a failed video transport
will also stop sending audio packets. Handling this condition correctly
would require the call to keep track of network state for each media
type separately, and take care of conditions such as a failed video
channel getting removed, while a functioning audio channel remains.

BUG=webrtc:5307

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

Cr-Commit-Position: refs/heads/master@{#12093}
2016-03-22 22:32:31 +00:00
09c3a1e291 Use rtc::scoped_refptr for WebRtcVideoCapturer.
Un-breaks peerconnection_client which would instantly use-after-free on
an allocated VCM because it wasn't building a scoped_refptr so all
references to the VCM were dropped.

BUG=webrtc:5229
TBR=tommi@webrtc.org
TEST=Run peerconnection_client locally, verify that there's no crash.

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

Cr-Commit-Position: refs/heads/master@{#12088}
2016-03-22 16:17:47 +00:00
81cbd92444 Revert of Initialize/configure video encoders asychronously. (patchset #4 id:60001 of https://codereview.webrtc.org/1757313002/ )
Reason for revert:
Breaks RTCVideoEncoder which has incorrect assumptions on where InitEncode etc. is called from. Temporarily reverting until RTCVideoEncoder has been updated.

Original issue's description:
> Initialize/configure video encoders asychronously.
>
> Greatly speeds up setRemoteDescription() by moving encoder initialization
> off the main worker thread, which is free to move onto gathering ICE
> candidates and other tasks while InitEncode() is performed. It also
> un-blocks PeerConnection GetStats() which is no longer blocked on
> encoder initialization.
>
> BUG=webrtc:5410
> R=stefan@webrtc.org
>
> Committed: fb647a67be

R=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=chromium:595274, chromium:595308, webrtc:5410

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

Cr-Commit-Position: refs/heads/master@{#12086}
2016-03-22 11:19:14 +00:00
c5dabdd3fb Add support for configuring the number of spatial/temporal layers for VP9 through a field trial.
BUG=chromium:595695

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

Cr-Commit-Position: refs/heads/master@{#12073}
2016-03-21 11:15:56 +00:00
eb83a1a10f This is an initial cleanup step, aiming to delete the
webrtc::VideoRenderer class, replacing it by rtc::VideoSinkInterface.

The next step is to convert all places where a renderer is attached to
rtc::VideoSourceInterface, and at that point, the
SmoothsRenderedFrames method can be replaced by a flag
rtc::VideoSinkWants::smoothed_frames.

Delete unused method IsTextureSupported.
Delete unused time argument to RenderFrame.
Let webrtc::VideoRenderer inherit rtc::VideoSinkInterface. Rename RenderFrame --> OnFrame.

TBR=kjellander@webrtc.org
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12070}
2016-03-21 08:28:06 +00:00
caafdba0e4 Fix broken CVO header extension
Adds end to end unit tests for CVO.

BUG=webrtc:5621

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

Cr-Commit-Position: refs/heads/master@{#12063}
2016-03-20 14:34:37 +00:00
eec21bdae3 Reland Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12062}
2016-03-20 13:15:48 +00:00
194e3bcc53 Revert of Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies. (patchset #4 id:60001 of https://codereview.webrtc.org/1785713005/ )
Reason for revert:
I'm really sorry for having to revert this but it seems this hit an unexpected compile error downstream:

webrtc/media/sctp/sctpdataengine.cc: In function 'void cricket::VerboseLogPacket(const void*, size_t, int)':
webrtc/media/sctp/sctpdataengine.cc:172:37: error: invalid conversion from 'const void*' to 'void*' [-fpermissive]
              data, length, direction)) != NULL) {
                                     ^
In file included from webrtc/media/sctp/sctpdataengine.cc:20:0:
third_party/usrsctp/usrsctplib/usrsctp.h:964:1: error:   initializing argument 1 of 'char* usrsctp_dumppacket(void*, size_t, int)' [-fpermissive]
 usrsctp_dumppacket(void *, size_t, int);
 ^

I'm sure you can fix this easily and just re-land this CL, while I'm going to look into how to add this warning at the public bots (on Monday).

Original issue's description:
> Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
>
> This CL removes copy and assign support from Buffer and changes various
> parameters from Buffer to CopyOnWriteBuffer so they can be passed along
> and copied without actually copying the underlying data.
>
> With this changed some parameters to be "const" and fixed an issue when
> creating a CopyOnWriteBuffer with empty data.
>
> BUG=webrtc:5155
>
> Committed: https://crrev.com/944c39006f1c52aee20919676002dac7a42b1c05
> Cr-Commit-Position: refs/heads/master@{#12058}

TBR=kwiberg@webrtc.org,tkchin@webrtc.org,tommi@webrtc.org,pthatcher@webrtc.org,jbauch@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12060}
2016-03-19 19:12:58 +00:00
944c39006f Use CopyOnWriteBuffer instead of Buffer to avoid unnecessary copies.
This CL removes copy and assign support from Buffer and changes various
parameters from Buffer to CopyOnWriteBuffer so they can be passed along
and copied without actually copying the underlying data.

With this changed some parameters to be "const" and fixed an issue when
creating a CopyOnWriteBuffer with empty data.

BUG=webrtc:5155

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

Cr-Commit-Position: refs/heads/master@{#12058}
2016-03-19 08:57:40 +00:00
5f0b83b7fb Enabling rtcp-rsize negotiation and fixing some issues with it.
Sending of reduced size RTCP packets should be enabled only if it's
enabled in the send parameters (which corresponds to the remote description).

Since the RTCPReceiver's RtcpMode isn't used at all, I removed it to ease
confusion.

BUG=webrtc:4868
R=pbos@webrtc.org, pthatcher@google.com, pthatcher@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12057}
2016-03-18 22:02:13 +00:00
b031955770 Deprecate AudioProcessing::AnalyzeReverseStream(AudioFrame) API
Review URL: https://codereview.webrtc.org/1783693005

Cr-Commit-Position: refs/heads/master@{#12045}
2016-03-18 03:39:57 +00:00
da116c4c37 Use ProcessReverseStream in VoiceEngines OutputMixer
Review URL: https://codereview.webrtc.org/1776363002

Cr-Commit-Position: refs/heads/master@{#12044}
2016-03-17 23:43:35 +00:00
505945aed7 Delete unused VideoCapturer statistics.
It appears that the adapt_frame_drops, effects_frame_drops, and capturer_frame_time statistics are never used. They are collected by cricket::VideoCapturer, and copied into VideoSenderInfo by the VideoMediaChannel::GetStats method.

So delete the code to generate the statistics, and the VariableInfo template which had no other uses.

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

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

Cr-Commit-Position: refs/heads/master@{#12032}
2016-03-17 11:20:50 +00:00
dc1c62cd30 Enable setting the maximum bitrate limit in RtpSender.
This change allows the application to limit the bitrate of the outgoing
audio and video streams at runtime. The API roughly follows the WebRTC
API draft, defining the RTCRtpParameters structure witn exactly one
encoding (simulcast streams are not exposed in the API for now).
(https://www.w3.org/TR/webrtc/#idl-def-RTCRtpParameters)

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12025}
2016-03-17 02:07:49 +00:00