Commit Graph

9444 Commits

Author SHA1 Message Date
61f31ee376 Delete unused rtpdump code in media/base.
Reading and writing RTP files is implemented elsewhere,
in test/rtp_file_reader.cc and test/rtp_file_writer.cc;
that code is untouched by this cl.

BUG=webrtc:6974

Review-Url: https://codereview.webrtc.org/2633453002
Cr-Commit-Position: refs/heads/master@{#16046}
2017-01-13 13:55:08 +00:00
ac22f70906 Refactoring of RTCP options in BaseChannel.
Previously, BaseChannel supported a "no RTCP" mode, which wasn't
being used any more and is being deleted.

Also, "RTCP mux required" previously worked by calling "ActivateRtcpMux"
after construction. Now it works by explicitly passing a
"require_rtcp_mux" parameter into the constructor.

BUG=None

Review-Url: https://codereview.webrtc.org/2622613004
Cr-Commit-Position: refs/heads/master@{#16045}
2017-01-13 05:59:29 +00:00
f5b251b816 Remove BaseChannel's dependency on TransportController.
The BaseChannel can set the transport directly without depending on
TransportController.

When initializing the network of the BaseChannel, the ChannelManager will
create TransportChannels with the TransportController.
When enabling bundling, WebRtcSession will get or create TransportChannels
with the TransportController.

When a TransportChannel of the BaseChannel needs to be destroyed, it will
fire a signal to notify the WebRtcSession.

BUG=none.

Review-Url: https://codereview.webrtc.org/2614263002
Cr-Commit-Position: refs/heads/master@{#16043}
2017-01-13 03:37:48 +00:00
d06adf60c1 Make P2PTransportChannel inherit from IceTransportInternal.
Make P2PTransportChannel inherit from IceTransportInternal instead of
TransportChannelImpl and TransportChannel, so that the DTLS-related methods can
be separated from P2PTransportChannel.

BUG=webrtc:6951

Review-Url: https://codereview.webrtc.org/2608353003
Cr-Commit-Position: refs/heads/master@{#16041}
2017-01-12 23:58:31 +00:00
21b6cce0c4 Do not report camera disconnected event if Android camera is closing.
Ignore CAMERA_ERROR_EVICTED error if camera is about to be closed.
This is valid use case when other app is opening camera while
WebRTC Android app is trying to close it.

BUG=b/34112992

Review-Url: https://codereview.webrtc.org/2627153002
Cr-Commit-Position: refs/heads/master@{#16039}
2017-01-12 21:05:47 +00:00
566d820e00 Update smoothed bitrate.
BUG=webrtc:6443

Review-Url: https://codereview.webrtc.org/2546493002
Cr-Commit-Position: refs/heads/master@{#16036}
2017-01-12 18:17:38 +00:00
891419f8e8 Treat negative ntp time as unset.
The video send pipeline uses the magic value 0 for an unset ntp time.
However, the receive pipeline uses the magic value -1 for unset
(unclear where, it seems it behaved differently a few months ago).

This makes cl https://codereview.webrtc.org/2469993003/ fail the
P2PTestConductor.ForwardVideoOnlyStream, because that cl removes code
which always clears the ntp time, and enables propagation of ntp time
from the receive pipeline to the send pipeline.

Treating ntp time <= 0 as unset is a small improvement. Ultimately, a
VideoFrame shouldn't carry an ntp time at all.

BUG=webrtc:5740,webrtc:6977

Review-Url: https://codereview.webrtc.org/2620383005
Cr-Commit-Position: refs/heads/master@{#16035}
2017-01-12 18:02:22 +00:00
b66129a27e Fix JNI reference leak in MediaCodecVideoEncoder
We currently leak one local reference to MediaCodecVideoEncoder in
every call to MediaCodecVideoEncoderFactory::CreateVideoEncoder. After
the encoder has been re-initialized 512 times, JNI will crash due to
local reference table overflow (max=512).

The actual leak is in the member initializer list of
MediaCodecVideoEncoder. This CL fixes the leak by adding a
ScopedLocalRefFrame outside of the ctor. All JNI code that originate
from a C++ thread (i.e. the entry point is not a Java thread) must use
a ScopedLocalRefFrame in order to avoid leaking local references.

BUG=webrtc:6969,b/34056152

Review-Url: https://codereview.webrtc.org/2627973004
Cr-Commit-Position: refs/heads/master@{#16034}
2017-01-12 14:50:56 +00:00
bca122e0d5 Remove lint ignores and add WrongCall ignore directly to the test.
Also removes some unused strings from AppRTCMobile strings.xml.

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

Review-Url: https://codereview.webrtc.org/2628833004
Cr-Commit-Position: refs/heads/master@{#16033}
2017-01-12 14:19:40 +00:00
71b1c1fc1d Rename fec_tables_xor.h -> fec_rate_table.h
This is a slightly more descriptive name, since we only have one type
of erasure code (XOR), and we only have one table.

BUG=None

Review-Url: https://codereview.webrtc.org/2625903004
Cr-Commit-Position: refs/heads/master@{#16032}
2017-01-12 14:16:24 +00:00
ede5da4960 Replace ASSERT by RTC_DCHECK in all non-test code.
Bulk of the changes were produced using

  git grep -l ' ASSERT(' | grep -v test | grep -v 'common\.h' |\
    xargs -n1 sed -i 's/ ASSERT(/ RTC_DCHECK(/'

followed by additional includes of base/checks.h in affected files,
and git cl format.

Also had to do some tweaks to #if !defined(NDEBUG) logic in the
taskrunner code (webrtc/base/task.cc, webrtc/base/taskparent.cc,
webrtc/base/taskparent.h, webrtc/base/taskrunner.cc), replaced to
consistently use RTC_DCHECK_IS_ON, and some of the checks needed
additional #if protection.

Test code was excluded, because it should probably use RTC_CHECK
rather than RTC_DCHECK.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2620303003
Cr-Commit-Position: refs/heads/master@{#16030}
2017-01-12 13:15:36 +00:00
59e99b76da Set |_encodedWidth| and |_encodedHeight| in RtpFrameObject.
BUG=chromium:678080

Review-Url: https://codereview.webrtc.org/2622053003
Cr-Commit-Position: refs/heads/master@{#16029}
2017-01-12 11:26:04 +00:00
adf823269b Enable residual echo detector on mobile platforms.
BUG=webrtc:6797

Review-Url: https://codereview.webrtc.org/2625323002
Cr-Commit-Position: refs/heads/master@{#16027}
2017-01-12 10:28:42 +00:00
eb4ca4e823 Replace RTC_DCHECK(false) with RTC_NOTREACHED().
Bulk of changes done using

  git grep -l 'RTC_DCHECK(false)' | \
    xargs sed -i 's/RTC_DCHECK(false)/RTC_NOTREACHED()/'

peerconnection.cc also used RTC_DCHECK(false && "msg") in two places,
which were updated manually.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2623313004
Cr-Commit-Position: refs/heads/master@{#16026}
2017-01-12 10:24:27 +00:00
295760daa1 Reland of Android: Add field trial for Intel HW Vp8 encoder (patchset #1 id:1 of https://codereview.webrtc.org/2624143002/ )
Reason for revert:
Fixed external test issues.

Original issue's description:
> Revert of Android: Add field trial for Intel HW Vp8 encoder (patchset #1 id:1 of https://codereview.webrtc.org/2614373004/ )
>
> Reason for revert:
> Breaks external test code.
>
> Original issue's description:
> > Android: Add field trial for Intel HW Vp8 encoder
> >
> > Also enable Intel HW Vp8 encoder by default in AppRTCMobile.
> >
> > BUG=webrtc:6683
> >
> > Review-Url: https://codereview.webrtc.org/2614373004
> > Cr-Commit-Position: refs/heads/master@{#16002}
> > Committed: cecf86e9b0
>
> TBR=sakal@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:6683
>
> Review-Url: https://codereview.webrtc.org/2624143002
> Cr-Commit-Position: refs/heads/master@{#16005}
> Committed: c999a08128

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

Review-Url: https://codereview.webrtc.org/2625903005
Cr-Commit-Position: refs/heads/master@{#16025}
2017-01-12 09:11:57 +00:00
e7b1aabb69 Delete unused file typewrapping.h.pump.
BUG=None

Review-Url: https://codereview.webrtc.org/2621263002
Cr-Commit-Position: refs/heads/master@{#16024}
2017-01-12 09:00:06 +00:00
77dc71f0f5 Remove some Android lint suppressions.
These were the easiest to remove, so let's start with these.

BUG=webrtc:6597
R=magjed@webrtc.org
TBR=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2628563002
Cr-Commit-Position: refs/heads/master@{#16023}
2017-01-12 08:16:56 +00:00
1d3c7e0b16 Move MetricsObserverInterface out of peerconnectioninterface.h
This change moves the definition of the UMA MetricsObserverInterface from api/peerconnectioninterface.h into api/umametrics.h. This allows us to remove the unwanted dependency on peerconnectioninterface.h from files in webrtc/p2p.

This is a simple refactoring with no functional changes.

BUG=None

Review-Url: https://codereview.webrtc.org/2627093005
Cr-Commit-Position: refs/heads/master@{#16020}
2017-01-12 01:50:30 +00:00
1a9e2108e3 Initial implementation of Android audio recording error handling.
BUG=b/34128648
R=henrika@webrtc.org

Review-Url: https://codereview.webrtc.org/2620453004 .
Cr-Commit-Position: refs/heads/master@{#16017}
2017-01-11 21:00:01 +00:00
293e926362 Reland of: Adding error output param to SetConfiguration, using new RTCError type.
Most notably, will return "INVALID_MODIFICATION" if a field in the
configuration was modified and modification of that field isn't supported.

Also changing RTCError to a class that wraps an enum type, because it will
eventually need to hold other information (like SDP line number), to match
the RTCError that was recently added to the spec:
https://github.com/w3c/webrtc-pc/pull/850

BUG=webrtc:6916

Review-Url: https://codereview.webrtc.org/2587133004
Cr-Original-Commit-Position: refs/heads/master@{#15777}
Committed: 7a5fa6cd61
Review-Url: https://codereview.webrtc.org/2587133004
Cr-Commit-Position: refs/heads/master@{#16016}
2017-01-11 20:28:30 +00:00
6672b26d02 Add overhead to audio bwe min, max.
BUG=webrtc:6762

Review-Url: https://codereview.webrtc.org/2532433002
Cr-Commit-Position: refs/heads/master@{#16014}
2017-01-11 18:17:59 +00:00
e8084706c3 Removes FATAL() from MicrophoneVolumeIsAvailable() on Android.
Trivial change that allows users to call MicrophoneVolumeIsAvailable()
(and get a valid result) on Android without crashing.

TBR=henrik.lundin
BUG=NONE

Review-Url: https://codereview.webrtc.org/2620243003
Cr-Commit-Position: refs/heads/master@{#16013}
2017-01-11 16:59:26 +00:00
e1674efd2d Update Android instrumentation tests to use JUnit4.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2627043002
Cr-Commit-Position: refs/heads/master@{#16011}
2017-01-11 14:22:56 +00:00
cb79d519fa Update AppRTCMobile tests to use JUnit4.
BUG=webrtc:6597

Review-Url: https://codereview.webrtc.org/2621253002
Cr-Commit-Position: refs/heads/master@{#16010}
2017-01-11 14:21:26 +00:00
c80e741ad0 Replace ASSERT(false) by RTC_NOTREACHED().
This cl was produced by

  git grep -l 'ASSERT(false)' |\
    xargs -n1 sed -i 's/ASSERT(false)/RTC_NOTREACHED()/'

followed by additional includes of base/checks.h in affected files,
git cl format to adjust spacing in webrtc/base/transformadapter.cc.
Finally, to make presubmit happy, one unnamed TODO marker was deleted
in that file.

This is a step towards deletion of base/common.h.

BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2625003003
Cr-Commit-Position: refs/heads/master@{#16009}
2017-01-11 13:56:46 +00:00
10418acb97 Remove backwards compatibilty path for OpenH264 v1.4
Deps have rolled to 1.6, and since no one noticed that the old code path
was broken and wouldn't even compile, I assume no one is using it.
I therefore deem it time to clean away all these nasty ifdefs.

("const kNalHeaderSizeAllocation = 50;" doesn't declare a type)

BUG=chromium:614970

Review-Url: https://codereview.webrtc.org/2622233002
Cr-Commit-Position: refs/heads/master@{#16008}
2017-01-11 13:51:56 +00:00
0ad0de6ef0 Rename incoming_framerate_ to capture_framerate_ in screenshare_layers.
Avoids confusion about the meaning of "incoming".

BUG=webrtc:6897

Review-Url: https://codereview.webrtc.org/2624073003
Cr-Commit-Position: refs/heads/master@{#16007}
2017-01-11 13:01:32 +00:00
bb377517cd RTCMediaStreamTrackStats.ssrcIds removed.
As per recent spec change:
https://github.com/w3c/webrtc-stats/pull/129

BUG=chromium:659137, chromium:627816

Review-Url: https://codereview.webrtc.org/2628573002
Cr-Commit-Position: refs/heads/master@{#16006}
2017-01-11 12:47:23 +00:00
c999a08128 Revert of Android: Add field trial for Intel HW Vp8 encoder (patchset #1 id:1 of https://codereview.webrtc.org/2614373004/ )
Reason for revert:
Breaks external test code.

Original issue's description:
> Android: Add field trial for Intel HW Vp8 encoder
>
> Also enable Intel HW Vp8 encoder by default in AppRTCMobile.
>
> BUG=webrtc:6683
>
> Review-Url: https://codereview.webrtc.org/2614373004
> Cr-Commit-Position: refs/heads/master@{#16002}
> Committed: cecf86e9b0

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

Review-Url: https://codereview.webrtc.org/2624143002
Cr-Commit-Position: refs/heads/master@{#16005}
2017-01-11 11:02:13 +00:00
ea142f8de3 Don't detect a new frame if a previous packet is used in a previous frame.
In this CL:
 - Removed unused variable |last_seq_num_|.
 - Fixed bug where a new incomplete frame was detected as a complete frame.
 - Added fuzzer to video_coding::PacketBuffer.

BUG=chromium:677101

Review-Url: https://codereview.webrtc.org/2613833003
Cr-Commit-Position: refs/heads/master@{#16003}
2017-01-11 10:01:56 +00:00
cecf86e9b0 Android: Add field trial for Intel HW Vp8 encoder
Also enable Intel HW Vp8 encoder by default in AppRTCMobile.

BUG=webrtc:6683

Review-Url: https://codereview.webrtc.org/2614373004
Cr-Commit-Position: refs/heads/master@{#16002}
2017-01-11 08:57:43 +00:00
284542b882 Make OverheadObserver::OnOverheadChanged count RTP headers only
This lets the RTP code be unaware of lower layers, and the
SetTransportOverhead method is deleted from RTPSender and RtpRtcp.

Instead, that method is added to CongestionController and
TransportFeedbackAdapter, where it is more appropriate.

BUG=wertc:6847

Review-Url: https://codereview.webrtc.org/2589743002
Cr-Commit-Position: refs/heads/master@{#15995}
2017-01-10 16:58:32 +00:00
c0ce6cc85e Android: Wrap webrtc::field_trial::FindFullName in Java
The purpose is to be able to add field trials in Java code.

BUG=webrtc:6683

Review-Url: https://codereview.webrtc.org/2621003002
Cr-Commit-Position: refs/heads/master@{#15994}
2017-01-10 16:02:03 +00:00
af916899cc Move VideoFrame and related declarations to webrtc/api/video.
Moves webrtc/common_video/rotation.h and parts of
webrtc/common_video/include/video_frame_buffer.h and
webrtc/video_frame.h, and adds to a new GN target api:video_frame_api.

BUG=webrtc:5880

Review-Url: https://codereview.webrtc.org/2517173004
Cr-Commit-Position: refs/heads/master@{#15993}
2017-01-10 15:44:26 +00:00
658024ee92 Reduce FlexFEC logging severity in two places.
BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2621833004
Cr-Commit-Position: refs/heads/master@{#15992}
2017-01-10 14:49:58 +00:00
8054c7ecf8 EndToEndTest.ReceivesAndRetransmitsNack now handles reordering.
Since packets can be received out of order NACKs could be triggered before any
packet was actually dropped. This cause the test to never drop packets which in
turn caused the block of code which set the |observation_complete_| event to
never execute.

BUG=webrtc:2845

Review-Url: https://codereview.webrtc.org/2613443002
Cr-Commit-Position: refs/heads/master@{#15990}
2017-01-10 13:19:19 +00:00
11273f1e00 Reorder assignments in WebRtcVideoChannel2::ConfigureReceiverRtp to match definition in VideoReceiveStream::Config.
No functional changes are intended by this CL.

BUG=None

Review-Url: https://codereview.webrtc.org/2617373002
Cr-Commit-Position: refs/heads/master@{#15989}
2017-01-10 13:18:15 +00:00
e996a99721 Add a check for CameraCapturer being initialized before calling startCapture.
BUG=webrtc:6945
R=magjed@webrtc.org

Review-Url: https://codereview.webrtc.org/2621633002
Cr-Commit-Position: refs/heads/master@{#15988}
2017-01-10 12:30:31 +00:00
0d1b2b6880 Reland of Rename RTPVideoHeader.isFirstPacket to .is_first_packet_in_frame.
Add RTC_DEPRACATed anonymous unions to not break downstream projects.

Orignal issue's description:
> commit 0ad21111fcc57a7e978edba3c4263f0062d7f9ff
> Author: danilchap <danilchap@webrtc.org>
> Date:   Mon Dec 19 09:36:33 2016 -0800
>
>     Revert of Rename RTPVideoHeader.isFirstPacket to
>     .is_first_packet_in_frame. (patchset #1 id:1 of
>     https://codereview.webrtc.org/2574943003/ )
>
>     Reason for revert:
>     breaks downstream project.
>
>     Can you make this change in a compatible way using anonymous
>     union:
>     union {
>       bool is_first_packet_in_frame;
>       RTC_DEPRECATED bool isFirstPacket;
>     };
>     (unfortunetly this this treak breaks braced initialization in
>     rtp_rtcp_impl_unittest.cc,
>     so that should be rewritting in a more classic way)
>
>     Original issue's description:
>     > Rename RTPVideoHeader.isFirstPacket to
>     > .is_first_packet_in_frame.
>     >
>     > Name should represent the actual meaning.
>     >
>     > BUG=None
>     >
>     > Review-Url: https://codereview.webrtc.org/2574943003
>     > Cr-Commit-Position: refs/heads/master@{#15684}
>     > Committed:
>     > efde908380
>
>     TBR=stefan@webrtc.org,sprang@webrtc.org,johan@webrtc.org
>     # Skipping CQ checks because original CL landed less than 1 days
>     ago.
>     NOPRESUBMIT=true
>     NOTREECHECKS=true
>     NOTRY=true
>     BUG=None
>
>     Review-Url: https://codereview.webrtc.org/2589783003
>     Cr-Commit-Position: refs/heads/master@{#15686}
>

BUG=None

Review-Url: https://codereview.webrtc.org/2614503002
Cr-Commit-Position: refs/heads/master@{#15987}
2017-01-10 12:21:35 +00:00
989ec098d1 Drop unneeded includes of base/stream.h.
BUG=webrtc:6424

Review-Url: https://codereview.webrtc.org/2587423002
Cr-Commit-Position: refs/heads/master@{#15986}
2017-01-10 11:44:41 +00:00
48e779f31d Final removal of webrtc/api/android
External dependencies have been updated to use webrtc/sdk/android
instead, and we can remove the remaining files in webrtc/api/android.

BUG=webrtc:5882
TBR=tommi

Review-Url: https://codereview.webrtc.org/2628553003
Cr-Commit-Position: refs/heads/master@{#15985}
2017-01-10 11:43:21 +00:00
abf1752ff4 Fix for left shift of potentially negative value.
Left shifting of negative integers is undefined behavior, and should be prevented. This CL fixes one such instance in the Levinson Durbin function.

BUG=chromium:675349

Review-Url: https://codereview.webrtc.org/2621693002
Cr-Commit-Position: refs/heads/master@{#15984}
2017-01-10 11:37:20 +00:00
a3f6ce10ed Update bitrate adjustment with true buffer used size.
This used to be updated with the reserved capacity of the buffer,
not the actual portion in use.

BUG=webrtc:6034

Review-Url: https://codereview.webrtc.org/2620653005
Cr-Commit-Position: refs/heads/master@{#15982}
2017-01-10 11:02:04 +00:00
5d682ca7a1 Disable some filesystem tests that don't make sense on iOS.
BUG=webrtc:5571
NOTRY=true

Review-Url: https://codereview.webrtc.org/2627583002
Cr-Commit-Position: refs/heads/master@{#15981}
2017-01-10 11:00:41 +00:00
b3f7dbc7a5 Add advice about Optional function arguments
This comes from here:
https://codereview.webrtc.org/2585293002/diff/1/webrtc/modules/audio_coding/audio_network_adaptor/fec_controller.h#newcode91

BUG=none
NOTRY=true

Review-Url: https://codereview.webrtc.org/2624573004
Cr-Commit-Position: refs/heads/master@{#15980}
2017-01-10 10:11:17 +00:00
ebfbc8ebfd Revert of Fix BitrateProber to match the requested bitrate more precisely (patchset #4 id:60001 of https://codereview.webrtc.org/2613543003/ )
Reason for revert:
Speculative revert.
Linux memcheck bot started failing a lot at the time of this cl. Doesn't look related at first glance, but we don't have another lead yet.

Original issue's description:
> Fix BitrateProber to match the requested bitrate more precisely
>
> Previously BirateProber was calculating delay between probes based on
> the size of the previous probe. Because of that the actual sent bitrate
> can deviate greatly from the target value. With this change it uses
> total number of bytes in the cluster to estimate delay before each
> probe.
>
> BUG=webrtc:6952
>
> Review-Url: https://codereview.webrtc.org/2613543003
> Cr-Commit-Position: refs/heads/master@{#15971}
> Committed: 599c5011e7

TBR=philipel@webrtc.org,stefan@webrtc.org,sergeyu@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:6952

Review-Url: https://codereview.webrtc.org/2626473004
Cr-Commit-Position: refs/heads/master@{#15979}
2017-01-10 09:27:28 +00:00
9774447b8f Move FilePlayer and FileRecorder to Voice Engine
Because Voice Engine was the only user.

(We have tried to land this many times before. I'm hoping that this
time all external dependencies on these files will really be gone.)

BUG=none

Review-Url: https://codereview.webrtc.org/2622493002
Cr-Commit-Position: refs/heads/master@{#15978}
2017-01-10 09:12:51 +00:00
5d0b6d8da3 Merge RTCConfiguration with RTCMediaConstraints in Java/Obj-C wrappers.
The intention of SetConfiguration is that it modifies the configuration,
while keeping the constraints passed into CreatePeerConnection. Right
now that's now happening. See bug for more explanation.

BUG=webrtc:6942

Review-Url: https://codereview.webrtc.org/2603653002
Cr-Commit-Position: refs/heads/master@{#15974}
2017-01-10 00:05:28 +00:00
953c2cea5e Reland of: Separating SCTP code from BaseChannel/MediaChannel.
The BaseChannel code is geared around RTP; the presence of media engines,
send and receive streams, SRTP, SDP directional attribute negotiation, etc.
It doesn't make sense to use it for SCTP as well. This separation should make
future work both on BaseChannel and the SCTP code paths easier.

SctpDataEngine now becomes SctpTransport, and is used by WebRtcSession
directly. cricket::DataChannel is also renamed, to RtpDataChannel, so it
doesn't get confused with webrtc::DataChannel any more.

Beyond just moving code around, some consequences of this CL:
- We'll now stop using the worker thread for SCTP. Packets will be
  processed right on the network thread instead.
- The SDP directional attribute is ignored, as it's supposed to be.

BUG=None

Review-Url: https://codereview.webrtc.org/2564333002
Cr-Original-Commit-Position: refs/heads/master@{#15906}
Committed: 67b3bbe639
Review-Url: https://codereview.webrtc.org/2564333002
Cr-Commit-Position: refs/heads/master@{#15973}
2017-01-09 22:53:41 +00:00
599c5011e7 Fix BitrateProber to match the requested bitrate more precisely
Previously BirateProber was calculating delay between probes based on
the size of the previous probe. Because of that the actual sent bitrate
can deviate greatly from the target value. With this change it uses
total number of bytes in the cluster to estimate delay before each
probe.

BUG=webrtc:6952

Review-Url: https://codereview.webrtc.org/2613543003
Cr-Commit-Position: refs/heads/master@{#15971}
2017-01-09 20:38:05 +00:00