17486 Commits

Author SHA1 Message Date
kwiberg
0afb13014b AudioEncoderPcm16B: Number of bits/sample is 16, not 2
Clearly, this was a case of bit/byte confusion.

BUG=none

Review-Url: https://codereview.webrtc.org/2904883002
Cr-Commit-Position: refs/heads/master@{#18254}
2017-05-24 11:09:52 +00:00
buildbot
edf00f846e Roll chromium_revision cca67d31f4..a590e1184a (474153:474230)
Change log: cca67d31f4..a590e1184a
Full diff: cca67d31f4..a590e1184a

Changed dependencies:
* src/base: 414d17a2ac..c0c60a704b
* src/build: 5488ca8df8..66a0af8441
* src/testing: 2393ca4149..bf57e6c54b
* src/third_party: f336aafa2c..1a4a751764
* src/third_party/catapult: f136f48001..6fb71b5335
* src/tools: 06b0b52a2c..35d0d2e889
DEPS diff: cca67d31f4..a590e1184a/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2900173005
Cr-Commit-Position: refs/heads/master@{#18253}
2017-05-24 10:09:59 +00:00
aleloi
c61bf947b4 Activate 'offload debug dump recordings from audio thread to TaskQueue'.
A low priority task queue is added to WebRTCVoiceEngine. The
start/stop debug calls make file logging happen on the task queue.

In a dependent CL (https://codereview.webrtc.org/2888303003), the task queue is moved to PeerConnectionFactory,
so that it can be shared for low priority tasks between different
subcomponents. It will require some changes to MediaEngine,
CompositeMediaEngine, WebRTCVoiceEngine, and changes in internal
projects.

A task queue must be created and destroyed from the same thread. With
this CL that will be the worker thread, which creates and destroys
WebRTCVoiceEngine. With the dependent CL, it will probably change to
the signaling thread.

NOTRY=True # tests just passed

BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2896813002
Cr-Commit-Position: refs/heads/master@{#18252}
2017-05-24 08:47:18 +00:00
kjellander
d5115e0cac Roll chromium_revision fc674bec51..cca67d31f4 (473937:474153)
Memcheck suppression stacks changed slightly due to the googletest
roll so a few suppressions needed to be updated.

Change log: fc674bec51..cca67d31f4
Full diff: fc674bec51..cca67d31f4

Changed dependencies:
* src/base: 14fe060b4d..414d17a2ac
* src/build: b19d8a0c0e..5488ca8df8
* src/ios: 4378a2bccb..e344c3eca3
* src/testing: 34532746b5..2393ca4149
* src/third_party: 5530bd0f35..f336aafa2c
* src/third_party/catapult: 08a6e0ac16..f136f48001
* src/third_party/googletest/src: 8c7f93feda..42bc671f47
* src/tools: e9c26b8d46..06b0b52a2c
DEPS diff: fc674bec51..cca67d31f4/DEPS

No update to Clang.

TBR=
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2902923002
Cr-Commit-Position: refs/heads/master@{#18251}
2017-05-24 07:57:03 +00:00
elad.alon
3696f7efc4 Remove unneeded gmock header from RPLR UT
BUG=None

Review-Url: https://codereview.webrtc.org/2898193002
Cr-Commit-Position: refs/heads/master@{#18250}
2017-05-24 07:13:25 +00:00
peah
1b92722ad5 Simplified the ERLE computation code in AEC3
BUG=webrtc:7519

Review-Url: https://codereview.webrtc.org/2901253002
Cr-Commit-Position: refs/heads/master@{#18249}
2017-05-24 06:44:47 +00:00
deadbeef
aea9293fd4 Revert of Fixing potential AsyncInvoker deadlock that occurs for "reentrant" invocations. (patchset #3 id:40001 of https://codereview.webrtc.org/2885143006/ )
Reason for revert:
Causes a new TSan race warning. Will reland after fixing. Note this is the same race as will be fixed by https://codereview.webrtc.org/2876273002/.

Original issue's description:
> Fixing potential AsyncInvoker deadlock that occurs for "reentrant" invocations.
>
> The deadlock occurs if the AsyncInvoker is destroyed on thread A while
> a task on thread B is running, which AsyncInvokes a task back on thread
> A.
>
> This was causing pending_invocations_ to end up negative, because
> an AsyncClosure that's never added to a thread's message queue (due to
> the "destroying_" flag) caused the count to be decremented but not
> incremented.
>
> BUG=None
>
> Review-Url: https://codereview.webrtc.org/2885143006
> Cr-Commit-Position: refs/heads/master@{#18225}
> Committed: ef37ca5fb3

TBR=nisse@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/2904543003
Cr-Commit-Position: refs/heads/master@{#18248}
2017-05-23 19:55:03 +00:00
danilchap
b34f6a8520 Remove deprecated isFirstPacket member name
Original rename .isFirstPacket to .is_first_packet_in_frame
was done in https://codereview.webrtc.org/2614503002

BUG=None

Review-Url: https://codereview.webrtc.org/2895473004
Cr-Commit-Position: refs/heads/master@{#18247}
2017-05-23 18:06:56 +00:00
buildbot
70f134bb70 Roll chromium_revision 0531535acb..fc674bec51 (473892:473937)
Change log: 0531535acb..fc674bec51
Full diff: 0531535acb..fc674bec51

Changed dependencies:
* src/base: 5788b61bd6..14fe060b4d
* src/ios: 9471164150..4378a2bccb
* src/testing: 7787960e7a..34532746b5
* src/third_party: 6a50d669f0..5530bd0f35
* src/tools: d596610110..e9c26b8d46
DEPS diff: 0531535acb..fc674bec51/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2900953003
Cr-Commit-Position: refs/heads/master@{#18246}
2017-05-23 17:09:14 +00:00
stefan
95e9754e40 More gracefully handle timing errors, such as unexpected changes in the rtp timestamp.
BUG=webrtc:7682

Review-Url: https://codereview.webrtc.org/2898763005
Cr-Commit-Position: refs/heads/master@{#18245}
2017-05-23 16:52:18 +00:00
ilnik
7a3006bae7 Fix packetization logic to leave space for extensions in the last packet
Change packetizer interface to explicitly return number of packets
instead of a last flag. Account for extra space needed in the last
packet.

BUG=webrtc:7588,webrtc:7594

Review-Url: https://codereview.webrtc.org/2871173008
Cr-Commit-Position: refs/heads/master@{#18244}
2017-05-23 16:34:21 +00:00
braveyao
d019667c00 Linux desktopCapture: fix the cursor position issue in Window sharing
On Linux, during Windwo sharing, the cursore capture may happen in the parent
window of the target. And the parent window may have some decorations added by
window manager(Chrome windows don't have those decorations.), so the relative
cursor position to the parent window with decorations may differ to its child
target window. The offset includes the height of caption bar and the around
shadow and border.
This problem only happens with Window sharing on Linux.

The fix is to translate the coordinates from the parent window to the coordinates space of the target window.

BUG=723889

Review-Url: https://codereview.webrtc.org/2889063002
Cr-Commit-Position: refs/heads/master@{#18243}
2017-05-23 16:31:14 +00:00
ehmaldonado
c1b5ea959e Add traces for some video receive statistics.
This CL adds traces to compute the following metrics that getStats()
captures for video:
- googFrameRateOutput
- packetsLost
- googFrameWidthReceived
- googFrameHeightReceived
- googCurrentDelayMs
- googTargetDelayMs
- googDecodeMs
- googMaxDecodeMs
- googJitterBufferMs
- googRenderDelayMs

BUG=chromium:653087

Review-Url: https://codereview.webrtc.org/2884643004
Cr-Commit-Position: refs/heads/master@{#18242}
2017-05-23 16:06:13 +00:00
aleloi
06013e99ac AecDump implementation.
This CL implements webrtc::AecDump, which is an interface defined in
https://codereview.webrtc.org/2778783002.

This AudioProcessing submodule writes audio and APM state to a
file. The file writing is done by posting IO tasks
(write_to_file_task.h) on an rtc::TaskQueue. There is an existing
implementation for this through AudioProcessing::StartDebugRecording()
and AudioProcessing::StopDebugRecording(). This implementation still
works, and is used as the default until this dependent CL:
https://codereview.webrtc.org/2896813002/.

To be able to build webrtc without protobuf support, the interface is
isolated from protobuf types. Audio data from AudioProcessing is
passed to AecDumpImpl through the AecDump interface. There it is
stored in protobuf objects, which are posted on the task queue.

This functionality is verified correct by the CL
https://codereview.webrtc.org/2864373002, which enables this recording
submodule in APM tests.

BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2865113002
Cr-Commit-Position: refs/heads/master@{#18241}
2017-05-23 15:52:05 +00:00
brandtr
f27c5b8d6e Add FlexfecReceiver unit test for infinite recovery loop.
This CL adds unit tests to the FlexfecReceiver, verifying that the
infinite recovery loop described in
https://codereview.webrtc.org/2867943003/ is tested for.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2895083002
Cr-Commit-Position: refs/heads/master@{#18240}
2017-05-23 15:38:43 +00:00
jansson
cc8b14b1ec Revert of Remove unecessary non fatal error statement that very often is printed in the PSNR or SSIM metric n… (patchset #1 id:1 of https://codereview.webrtc.org/2901793002/ )
Reason for revert:
Looks like we need the return there after all: derefence error in: https://luci-logdog.appspot.com/v/?s=chromium%2Fbb%2Fclient.webrtc.perf%2FAndroid64_Tests__L_Nexus9_%2F2967%2F%2B%2Frecipes%2Fsteps%2Fvideo_quality_loopback_test%2F0%2Fstdout

Original issue's description:
> Remove unecessary non fatal error statement that very often is printed in the PSNR or SSIM metric numbered list
>
> BUG=webrtc:7698
> NOTRY=TRUE
>
> Review-Url: https://codereview.webrtc.org/2901793002
> Cr-Commit-Position: refs/heads/master@{#18234}
> Committed: 18d023f9ee

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

Review-Url: https://codereview.webrtc.org/2899973004
Cr-Commit-Position: refs/heads/master@{#18239}
2017-05-23 15:31:11 +00:00
buildbot
61d88b8d7b Roll chromium_revision b4155a0bbd..0531535acb (471848:473892)
Change log: b4155a0bbd..0531535acb
Full diff: b4155a0bbd..0531535acb

Changed dependencies:
* src/base: 4545fc1f63..5788b61bd6
* src/build: f671d3baeb..b19d8a0c0e
* src/ios: 411732c0b9..9471164150
* src/testing: dbbebc0d54..7787960e7a
* src/third_party: 744b88f9a8..6a50d669f0
* src/third_party/boringssl/src: https://boringssl.googlesource.com/boringssl.git/+log/1e5cb820de..467d3220f8
* src/third_party/catapult: 9e7bc18ce7..08a6e0ac16
* src/third_party/gtest-parallel: c95bf7d82c..21b383f81a
* src/third_party/icu: 87232d8d76..c844075aa0
* src/third_party/libvpx/source/libvpx: ac8f58f6ab..b3bf91bdc6
* src/tools: e095601b86..d596610110
DEPS diff: b4155a0bbd..0531535acb/DEPS

Clang version changed 301384:303369
Details: b4155a0bbd..0531535acb/tools/clang/scripts/update.py

TBR=marpan@webrtc.org,
BUG=None

Review-Url: https://codereview.webrtc.org/2900963003
Cr-Commit-Position: refs/heads/master@{#18238}
2017-05-23 15:27:10 +00:00
philipel
7d79e63a48 Cast sequence number in RtpFrameObject.
BUG=webrtc:7700

Review-Url: https://codereview.webrtc.org/2902743002
Cr-Commit-Position: refs/heads/master@{#18237}
2017-05-23 15:19:11 +00:00
sprang
916170ae46 Don't boost QP after drop unless there is sufficient bandwidth
If a frame is dropped and re-encoded because it exceeded the target
bitrate by a large factor, the next frame will be encoded at max qp
(worst quality) in order to get a frame through in a timely manner. The
next frame after this will still have lower quality since the rate
controller essentially gets reset. In order to mitigate that we boost
the qp for that next frame, which brings the stream back to a good
quality quicker.

However, if the network conditions are _really_ bad, this boosted qp
may be too large, causing the frame again to be dropped an re-encoded.

This CL set's a minimum bitrate available in order to enabling the
boosting in the first place.
It also adjusts a timeout (max time between frames in TL0), since a
too small value and very difficult frames in conjunction with the
mentioned bad network could actually cause bad network over-utilization
in turn leading to packet loss and bad follow-on effects to that.

There was also some slop in the rate keeping for the two layers.
This has been tightened up and affected test cases have been fixed.

BUG=webrtc:7694

Review-Url: https://codereview.webrtc.org/2897983002
Cr-Commit-Position: refs/heads/master@{#18236}
2017-05-23 14:47:55 +00:00
sakal
7855fff5bf Reland of moves usage of native base::android::GetApplicationContext() (patchset #1 id:1 of https://codereview.webrtc.org/2894593002/ )
Reason for revert:
Fix issue.

Original issue's description:
> Revert of Removes usage of native base::android::GetApplicationContext() (patchset #6 id:120001 of https://codereview.webrtc.org/2888093004/ )
>
> Reason for revert:
> Breaks bot on chromium.webrtc.fyi.
>
> Original issue's description:
> > Removes usage of native base::android::GetApplicationContext()
> >
> > BUG=webrtc:7665
> >
> > Review-Url: https://codereview.webrtc.org/2888093004
> > Cr-Commit-Position: refs/heads/master@{#18195}
> > Committed: bc83e2ee69
>
> TBR=magjed@webrtc.org,henrika@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7665
>
> Review-Url: https://codereview.webrtc.org/2894593002
> Cr-Commit-Position: refs/heads/master@{#18196}
> Committed: 40d224814a

BUG=webrtc:7665

Review-Url: https://codereview.webrtc.org/2889183002
Cr-Commit-Position: refs/heads/master@{#18235}
2017-05-23 14:34:17 +00:00
jansson
18d023f9ee Remove unecessary non fatal error statement that very often is printed in the PSNR or SSIM metric numbered list
BUG=webrtc:7698
NOTRY=TRUE

Review-Url: https://codereview.webrtc.org/2901793002
Cr-Commit-Position: refs/heads/master@{#18234}
2017-05-23 14:26:41 +00:00
aleloi
868f32f423 AudioProcessingModule has a feature to make a recording of its
configuration, inputs and outputs over a period of time. It is
activated by AudioProcessing::StartRecording. The data is stored in
binary protobuf format in a specified file. The file IO is, as of
this CL, done from the real-time audio thread.

This CL contains an interface for AecDump, a new APM submodule that
will handle the recordings. Calls to the new interface from the
AudioProcessingModule are added. These calls have no effect, and for a
short while, audio_processing_impl.cc will contain two copies of
recording calls.

The original calls are guarded by the WEBRTC_AUDIOPROC_DEBUG_DUMP
preprocessor define. They still have an effect, while the new ones do
not. In the following CLs, the old recording calls will be removed,
and an implementation of AecDump added.

The reasons for the refactoring is to move file IO operations from the
real-time audio thread, to add a top-level low-priority task queue for
logging tasks like this, to simplify and modularize audio_processing_impl.cc
and remove some of the preprocessor directives. These goals will be
archived by the upcoming CLs. The implementation is in
https://codereview.webrtc.org/2865113002.

BUG=webrtc:7404

Review-Url: https://codereview.webrtc.org/2778783002
Cr-Commit-Position: refs/heads/master@{#18233}
2017-05-23 14:20:05 +00:00
sprang
dceb42da3e Update screen simulcast config and fix periodic encoder param update
Lower then bitrate so that the delta between the highest layer of the
lower stream and lowest layer of the higher stream is not too large.

Also fix a bug in vie_encoder where the codec was not perioducally
updated unless a new bitrate estimate was triggered.

BUG=webrtc:4172

Review-Url: https://codereview.webrtc.org/2791273002
Cr-Commit-Position: refs/heads/master@{#18232}
2017-05-23 13:45:08 +00:00
ossu
c3d4b48e7e Store/restore RTP state for audio streams with same SSRC within a call
This functionality already exists for video streams, so not having it
for audio is unexpected and has lead to problems.

BUG=webrtc:7631

Review-Url: https://codereview.webrtc.org/2887733002
Cr-Commit-Position: refs/heads/master@{#18231}
2017-05-23 13:07:11 +00:00
peah
23ac8b49f4 Preserve level controller output when no other effects are active
This CL ensures that the output of the level controller is kept
when no other submodules in APM are active

BUG=webrtc:7697,

Review-Url: https://codereview.webrtc.org/2902723002
Cr-Commit-Position: refs/heads/master@{#18230}
2017-05-23 12:33:56 +00:00
peah
1d68089f4b Transparency increasing tuning for AEC3.
This CL increases the transparency of the AEC3 via tuning.
The major changes are
1) Limiting the suppression gain to the 16 bit sample floor.
2) Controlling the rate of the suppression gain increase
   according to the signal characteristics.

Apart from these tunings, the code for the suppression gain
was refactored to increase/maintain the code quality after
the above changes.

BUG=webrtc:7519,webrtc:7528, chromium:715893

Review-Url: https://codereview.webrtc.org/2886733002
Cr-Commit-Position: refs/heads/master@{#18229}
2017-05-23 11:07:10 +00:00
brandtr
5e171752a2 Reland of use allocated encoders in SimulcastEncoderAdapter. (patchset #1 id:1 of https://codereview.webrtc.org/2893003002/ )
Reason for reland:
Chrome encoder implementation fixed.

Original issue's description:
> Revert of Reuse allocated encoders in SimulcastEncoderAdapter. (patchset #15 id:320001 of https://codereview.webrtc.org/2830793005/ )
>
> Reason for revert:
> Breaks Chrome tests.
>
> Original issue's description:
> > Reuse allocated encoders in SimulcastEncoderAdapter.
> >
> > Prior to this change, the SimulcastEncoderAdapter would destroy and create
> > encoders whenever it is being reinitialized. After this change, the
> > SimulcastEncoderAdapter will cache the already allocated encoders, and reuse
> > them after reinitialization.
> >
> > This change will help in reducing the number of PictureID "jumps" that have
> > been seen around encoder reinitialization.
> >
> > TESTED=AppRTCMobile, Chrome desktop, and internal app, with forced encoder reinits every 30 frames and https://codereview.webrtc.org/2833493003/ applied.
> > BUG=webrtc:7475
> >
> > Review-Url: https://codereview.webrtc.org/2830793005
> > Cr-Commit-Position: refs/heads/master@{#18215}
> > Committed: 0b8bfb9d98
>
> TBR=stefan@webrtc.org,noahric@chromium.org,glaznev@webrtc.org,sprang@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7475
>
> Review-Url: https://codereview.webrtc.org/2893003002
> Cr-Commit-Position: refs/heads/master@{#18216}
> Committed: 56e119e2e8

TBR=stefan@webrtc.org,noahric@chromium.org,glaznev@webrtc.org,sprang@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:7475

Review-Url: https://codereview.webrtc.org/2901493002
Cr-Commit-Position: refs/heads/master@{#18228}
2017-05-23 10:32:16 +00:00
Henrik Kjellander
884ab92d7c Update autoroller after FromImpl was removed from depot tools
In https://chromium-review.googlesource.com/c/509693/ the From
keyword was removed. This update the script to match that (we
also were no longer using it).

BUG=None
TBR=ehmaldonado@webrtc.org
NOTRY=True

Change-Id: I3d8fb9d696ee7677f7d250ecd0e6ff997375034b
Reviewed-on: https://chromium-review.googlesource.com/512202
Commit-Queue: Henrik Kjellander <kjellander@chromium.org>
Reviewed-by: Henrik Kjellander <kjellander@chromium.org>
Cr-Commit-Position: refs/heads/master@{#18227}
2017-05-23 07:22:23 +00:00
peah
8a8ebd94b0 Field trial support to whenever possible turn off the AGC and HPF
When operating on mobile devices, where hardware support is available
for the AEC and NS functionality, it is desirable to be able to
operate without hardcoded behaviors for the WebRTC AGC and HPF.

This CL adds support to allow a field trial to turn these off
whenever that is possible.

BUG=webrtc:6220, webrtc:6183, webrtc:6181

Review-Url: https://codereview.webrtc.org/2876133002
Cr-Commit-Position: refs/heads/master@{#18226}
2017-05-22 22:48:47 +00:00
deadbeef
ef37ca5fb3 Fixing potential AsyncInvoker deadlock that occurs for "reentrant" invocations.
The deadlock occurs if the AsyncInvoker is destroyed on thread A while
a task on thread B is running, which AsyncInvokes a task back on thread
A.

This was causing pending_invocations_ to end up negative, because
an AsyncClosure that's never added to a thread's message queue (due to
the "destroying_" flag) caused the count to be decremented but not
incremented.

BUG=None

Review-Url: https://codereview.webrtc.org/2885143006
Cr-Commit-Position: refs/heads/master@{#18225}
2017-05-22 22:32:51 +00:00
perkj
f472699bbd Replace AudioSendStream::Config with rtclog::StreamConfig.
BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2856063003
Cr-Commit-Position: refs/heads/master@{#18224}
2017-05-22 17:12:26 +00:00
perkj
ac8f52de70 Replace AudioReceiveStream::Config with rtclog::StreamConfig.
BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2851303007
Cr-Commit-Position: refs/heads/master@{#18223}
2017-05-22 16:36:28 +00:00
alessiob
3ec96df907 This CL introduces a new APM sub-module named AGC2 that does not use the band
split domain and only implements floating point operations (to avoid spectral
leakage issues and unnecessary complexity).

The goal of this CL is adding the new sub-module into APM without providing an
implementation that could replace the existing gain control modules. The focus
is in fact on initialization, reset, and configuration of AGC2.

The module itself only applies a hard-coded gain value. This behavior will
change in the coming CLs.

BUG=webrtc:7494

Review-Url: https://codereview.webrtc.org/2848593002
Cr-Commit-Position: refs/heads/master@{#18222}
2017-05-22 13:57:06 +00:00
perkj
c0876aab46 Replace VideoSendStream::Config with new rtclog::StreamConfig in RtcEventLog.
BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2857933002
Cr-Commit-Position: refs/heads/master@{#18221}
2017-05-22 11:08:28 +00:00
perkj
09e71daec5 Replace VideoReceiveStream::Config with new rtclog::StreamConfig in RtcEventLog.
BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2850793002
Cr-Commit-Position: refs/heads/master@{#18220}
2017-05-22 10:26:49 +00:00
tschumim
d4aebb0d1f increase bitrate precision of the network tester.
Recreation of issue 2851463002.

BUG=webrtc:7426

Review-Url: https://codereview.webrtc.org/2894673004
Cr-Commit-Position: refs/heads/master@{#18219}
2017-05-22 07:04:30 +00:00
sergeyu
b2c001a795 Update Packet::GetHeader() to copy playout_delay
Packet::GetHeader() wasn't copying playout_delay. As result
playout_delay was ignored when flexfec is enabled.

Patch by Rob McCool <rmccool@google.com>

BUG=webrtc:7590

Review-Url: https://codereview.webrtc.org/2899553003
Cr-Commit-Position: refs/heads/master@{#18218}
2017-05-20 21:16:52 +00:00
zhihuang
f816493c4f Add media related stats (audio level etc.) to unsignaled streams.
The media related stats wasn't working for unsignaled stream because there
is no mapping between the receiver_info and unsignaled tracks.

This CL fixes the issue by adding some special logic to the TrackMediaInfoMap
which would create the mapping.

BUG=b/37836881
BUG=webrtc:7685

TBR=deadbeef@webrtc.org

Review-Url: https://codereview.webrtc.org/2883943003
Cr-Commit-Position: refs/heads/master@{#18217}
2017-05-19 20:09:47 +00:00
brandtr
56e119e2e8 Revert of Reuse allocated encoders in SimulcastEncoderAdapter. (patchset #15 id:320001 of https://codereview.webrtc.org/2830793005/ )
Reason for revert:
Breaks Chrome tests.

Original issue's description:
> Reuse allocated encoders in SimulcastEncoderAdapter.
>
> Prior to this change, the SimulcastEncoderAdapter would destroy and create
> encoders whenever it is being reinitialized. After this change, the
> SimulcastEncoderAdapter will cache the already allocated encoders, and reuse
> them after reinitialization.
>
> This change will help in reducing the number of PictureID "jumps" that have
> been seen around encoder reinitialization.
>
> TESTED=AppRTCMobile, Chrome desktop, and internal app, with forced encoder reinits every 30 frames and https://codereview.webrtc.org/2833493003/ applied.
> BUG=webrtc:7475
>
> Review-Url: https://codereview.webrtc.org/2830793005
> Cr-Commit-Position: refs/heads/master@{#18215}
> Committed: 0b8bfb9d98

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

Review-Url: https://codereview.webrtc.org/2893003002
Cr-Commit-Position: refs/heads/master@{#18216}
2017-05-19 17:33:03 +00:00
brandtr
0b8bfb9d98 Reuse allocated encoders in SimulcastEncoderAdapter.
Prior to this change, the SimulcastEncoderAdapter would destroy and create
encoders whenever it is being reinitialized. After this change, the
SimulcastEncoderAdapter will cache the already allocated encoders, and reuse
them after reinitialization.

This change will help in reducing the number of PictureID "jumps" that have
been seen around encoder reinitialization.

TESTED=AppRTCMobile, Chrome desktop, and internal app, with forced encoder reinits every 30 frames and https://codereview.webrtc.org/2833493003/ applied.
BUG=webrtc:7475

Review-Url: https://codereview.webrtc.org/2830793005
Cr-Commit-Position: refs/heads/master@{#18215}
2017-05-19 13:51:42 +00:00
philipel
e87c87651f Check H264 NALUs for frametype and insert SPS/PPS packets into the PacketBuffer.
BUG=chromium:719095

Review-Url: https://codereview.webrtc.org/2889163003
Cr-Commit-Position: refs/heads/master@{#18214}
2017-05-19 13:38:50 +00:00
perkj
bbbad6da7e Change how event_log_visualizer ignore duplicate incoming RTCP packets.
Instead of only looking at Audio or ANY media type, we ignore duplicate RTCP packets.

BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2892913002
Cr-Commit-Position: refs/heads/master@{#18213}
2017-05-19 13:30:28 +00:00
nisse
eed52bff8d New class RtxReceiveStream.
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2888093002
Cr-Commit-Position: refs/heads/master@{#18212}
2017-05-19 13:15:19 +00:00
brandtr
31bd224f35 Reduce VideoSendStream recreations due to FlexFEC.
This CL reduces the number of VideoSendStream recreations during SDP
renegotiation by checking the FlexFEC field trials before, and not after,
the SDP codec diffing logic.

BUG=webrtc:5654

Review-Url: https://codereview.webrtc.org/2882433003
Cr-Commit-Position: refs/heads/master@{#18211}
2017-05-19 12:47:46 +00:00
perkj
c52bd61f65 Change rtp_event_log2text to ignore webrtc::MediaType from proto.
BUG=webrtc:7538

Review-Url: https://codereview.webrtc.org/2894833003
Cr-Commit-Position: refs/heads/master@{#18210}
2017-05-19 12:32:56 +00:00
asapersson
30df64f143 Update plot_webrtc_test_logs.py:
- Add codec_type-implementation_name label option.
- Update figure title to exclude information that exist in legend.
- Change frame info in title from: # of frames in file -> # of processed frames.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2890223002
Cr-Commit-Position: refs/heads/master@{#18209}
2017-05-19 11:07:38 +00:00
sakal
633e22ebbe Land ContextUtils separately.
External dependencies need to be updated to call ContextUtils.initialize
before rest of the CL can be landed.

BUG=webrtc:7665

Review-Url: https://codereview.webrtc.org/2893933003
Cr-Commit-Position: refs/heads/master@{#18208}
2017-05-19 08:29:10 +00:00
peah
ce4d91527a Avoid render resampling when there is no need for render signal analysis.
This CL adjusts the render processing rate such to avoid resampling of the
render signal when that is not needed.
Note that to avoid acquiring more locks than needed, this should be achieved
during initialization.

BUG=webrtc:7667

Review-Url: https://codereview.webrtc.org/2887693002
Cr-Commit-Position: refs/heads/master@{#18207}
2017-05-19 08:28:05 +00:00
thomasanderson
7f52f08421 Replace sanitizers:deps with exe_and_shlib_deps (webrtc)
BUG=chromium:723069
R=kjellander@webrtc.org

Review-Url: https://codereview.webrtc.org/2897523002
Cr-Commit-Position: refs/heads/master@{#18206}
2017-05-19 06:51:46 +00:00
kjellander
49aaaf1053 Remove CheckChangeHasTestField PRESUBMIT check.
Depot tools removed it in
https://chromium-review.googlesource.com/c/506450/ so we
don't have a choice. We never enforced it or had it connected
to any organized follow-up anyway, so it makes sense to remove it.

BUG=None
TBR=ehmaldonado@webrtc.org
NOTRY=True

Review-Url: https://codereview.webrtc.org/2892873002
Cr-Commit-Position: refs/heads/master@{#18205}
2017-05-19 06:46:01 +00:00