11193 Commits

Author SHA1 Message Date
tommi@webrtc.org
679d2f1352 Disable CS_TRACK_OWNER on Mac in debug mode.
Local testing indicates that the pthread_t member variable might be causing alignment problems on the Chromium bots.  After landing this (and once the Chromium tree is open again), I'll try a roll again to see if this has an effect.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8644}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8644 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 20:15:24 +00:00
tommi@webrtc.org
f696e49c9a Re-landing perf improvement for libjingle logging after reverting the general change.
This contains only a part of r8635 that I just reverted to unblock the roll.

TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8643}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8643 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 12:18:14 +00:00
tommi@webrtc.org
52130b6412 Revert 8635 "Make LS_ logging constants to match Chromium's logg..."
LibjingleLoggingTests in Chromium started failing so more thought needs to be applied here.
Would be good to get he perf improvement in though.

> Make LS_ logging constants to match Chromium's logging constants when building with Chrome.
> This was causing logging to be done at incorrect levels and filters not work as expected.
> 
> R=perkj@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/40239004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8642}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8642 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 12:09:40 +00:00
tommi@webrtc.org
92696cd0c6 Speculative revert of 8631 "Remove lock from Bitrate() and FrameRate() in Video..."
We ran into the alignment problem on Mac 10.9 debug again.  This is the only CL I see in the range that adds an rtc::CriticalSection, so I'm trying out reverting it before attempting another roll.

> Remove lock from Bitrate() and FrameRate() in VideoSender.
> These methods are called on the VideoSender's construction thread, which is the same thread as modifies the value of _encoder.  It's therefore safe to not require a lock to access _encoder on this thread.
> 
> I'm making access to the rate variables from VCMGenericEncoder, thread safe, by using a lock that's not associated with the encoder.  There should be little to no contention there.  While modifying VCMGenericEncoder, I noticed that a couple of member variables weren't needed, so I removed them.
> 
> The reason for this change is that getStats is currently contending with the encoder when Bitrate() is called. On my machine, this means that getStats can take about 25-30ms instead of ~1ms.
> 
> Also adding some documentation for other methods and a suggestion for how we could avoid contention between the encoder and the network thread.
> 
> BUG=2822
> R=mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/43479004

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8640}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8640 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 09:26:43 +00:00
tommi@webrtc.org
66f153f89f Make LS_ logging constants to match Chromium's logging constants when building with Chrome.
This was causing logging to be done at incorrect levels and filters not work as expected.

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8635}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8635 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 15:56:46 +00:00
perkj@webrtc.org
bcead305a2 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
2015-03-06 12:38:22 +00:00
kjellander@webrtc.org
75e850e192 Enable isac NEON building on Aarch64
Passed building isac_neon and modules_unittests on Android ARM64 and ARMv7.
Passed modules_unittests with following filters:
  --gtest_filter=FiltersTest*
  --gtest_filter=LpcMaskingModelTest*
  --gtest_filter=TransformTest*
  --gtest_filter=FilterBanksTest*

WebRtcIsacfix_CalculateResidualEnergyNeon is not enabled due to Issue 4224.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Cr-Commit-Position: refs/heads/master@{#8632}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8632 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:29:23 +00:00
tommi@webrtc.org
0d5ea21325 Remove lock from Bitrate() and FrameRate() in VideoSender.
These methods are called on the VideoSender's construction thread, which is the same thread as modifies the value of _encoder.  It's therefore safe to not require a lock to access _encoder on this thread.

I'm making access to the rate variables from VCMGenericEncoder, thread safe, by using a lock that's not associated with the encoder.  There should be little to no contention there.  While modifying VCMGenericEncoder, I noticed that a couple of member variables weren't needed, so I removed them.

The reason for this change is that getStats is currently contending with the encoder when Bitrate() is called. On my machine, this means that getStats can take about 25-30ms instead of ~1ms.

Also adding some documentation for other methods and a suggestion for how we could avoid contention between the encoder and the network thread.

BUG=2822
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8631}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8631 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 12:21:41 +00:00
magjed@webrtc.org
f98030b029 Add intermediate TextureVideoFrame typedef for Chromium
BUG=1128
R=perkj@webrtc.org
TBR=stefan

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

Cr-Commit-Position: refs/heads/master@{#8630}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8630 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 11:18:43 +00:00
magjed@webrtc.org
45cdcce5f5 Remove TextureVideoFrame
TextureVideoFrame is currently an empty shell that only provides a convenience constructor of I420VideoFrame with a texture buffer. This CL moves that constructor, and all unittests, of TextureVideoFrame into the base class. Then it's possible to completely remove TextureVideoFrame and all its files. Also, there is no point in having I420VideoFrame virtual anymore.

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

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

Cr-Commit-Position: refs/heads/master@{#8629}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8629 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 10:41:47 +00:00
henrik.lundin@webrtc.org
e9217b4bdb Remove WebRtcACMEncodingType
The parameter was not needed; it was sufficient with a bool indicating
speech or not speech. This change propagates to the InFrameType
callback function. Some tests are updated too.

COAUTHOR=kwiberg@webrtc.org
R=minyue@webrtc.org
TBR=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8626}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8626 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 07:51:21 +00:00
marpan@webrtc.org
16a87b97f9 Add VP9 denoiser test to videoprocessor_integrationtest.
TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8622}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8622 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 22:19:15 +00:00
aluebs@webrtc.org
1d88394bcb Add support for arbitrary array geometries in Beamformer
R=andrew@webrtc.org, mgraczyk@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8621}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8621 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 20:39:20 +00:00
andrew@webrtc.org
0933d01d09 Enabling common_audio building with NEON on ARM64
Passed building common_audio_neon and common_audio_unittests both on
Android ARMv7 and Android ARM64. Pass common_audio_unittests tests both
on Android ARMv7 and Android ARM64.

BUG=4002
R=andrew@webrtc.org, jridges@masque.com, kjellander@webrtc.org

Change-Id: I8e0722f356db8cca6fc8232f00ae1e898a086f5a

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

Patch from Zhongwei Yao <zhongwei.yao@arm.com>.

Cr-Commit-Position: refs/heads/master@{#8620}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8620 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 19:14:21 +00:00
bjornv@webrtc.org
d7a212e8b9 audio_processing/aec: Increased delay metrics aggregation window to five seconds
The known clients (GetStats and UMA histogram in Chrome) use at least 5 second aggregation window. There is no particular value in calculating the metrics more often.

The CL also includes a small refactoring moving a declaration inside an if statement.

BUG=2994
TEST=N/A
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8619}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8619 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 16:14:58 +00:00
stefan@webrtc.org
c3f15c08bc Fix scoped_ptrs in bwe_simulations.
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8618}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8618 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 16:06:21 +00:00
magjed@webrtc.org
2386d6dd92 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
2015-03-05 14:03:51 +00:00
pbos@webrtc.org
67a9e40286 Prevent encoding frames with wrong resolution.
This is a speculative fix for a crash that should be able to happen if a
codec is reconfigured while a frame is leaving the
VideoProcessingModule, causing a mismatch between configured codec and
input frame size.

BUG=
R=magjed@webrtc.org
TBR=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8615}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8615 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 13:58:16 +00:00
tommi@webrtc.org
03054486f5 Adding basic support for posting tasks to a process thread.
BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8614}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8614 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 13:14:19 +00:00
tommi@webrtc.org
658d2015f3 Allow VideoSender to be constructed on one thread but initialized and used for doing registrations, on another.
R=andresp@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8613}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8613 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 12:22:22 +00:00
andrew@webrtc.org
fa67463d37 skip isac_neon if neon is not supported
R=andrew@webrtc.org

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

Patch from Mostyn Bramley-Moore <mostynb@opera.com>.

Cr-Commit-Position: refs/heads/master@{#8610}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8610 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 06:07:51 +00:00
guoweis@webrtc.org
bbce5efaa6 Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%.
BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8582

Committed: https://code.google.com/p/webrtc/source/detail?r=8607

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

Cr-Commit-Position: refs/heads/master@{#8609}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8609 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 04:39:07 +00:00
guoweis@webrtc.org
d43b2c098d Revert "Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%."
This reverts commit 86c33e3a94f51f8e4b4f305708ec327786ad3794.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8608}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8608 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 04:03:44 +00:00
guoweis@webrtc.org
86c33e3a94 Turn on IPv6 for WebRTC as default as required before ramping the experiment to 30%.
BUG=
R=juberti@webrtc.org

Committed: https://code.google.com/p/webrtc/source/detail?r=8582

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

Cr-Commit-Position: refs/heads/master@{#8607}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8607 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-05 03:40:48 +00:00
guoweis@webrtc.org
4536289353 Add CVO support to RTP sender side.
According to http://www.etsi.org/deliver/etsi_ts/126100_126199/126114/12.07.00_60/ts_126114v120700p.pdf,
CVO byte should only be added in the last packet of each key frame or when the rotation changes. Currently, we're adding this byte in each frame to start with.

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

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

Cr-Commit-Position: refs/heads/master@{#8606}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8606 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 22:55:43 +00:00
marpan@webrtc.org
6daacbc8ae Set cpu_speed parameter for low resolutions, for non-simulcast.
Allow for setting different cpu_speed setting based on resolution, for non-simulcast.
Use the existing low resolution simulcast cpu_speed setting for the non-simulcast case.

No change to simulcast behavior, unless top/highest layer stream is also below CIF resolution,
(in which case all layers will use lower the cpu_speed setting =-4).

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8603}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8603 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 21:47:18 +00:00
kjellander@webrtc.org
7b93ea1667 Remove DCHECK from common_types.cc
The DCHECKs added in https://webrtc-codereview.appspot.com/41069004/
introduces a dependency on base, which may cause problems.
This CL reverts that change.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8602}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8602 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 20:10:38 +00:00
tommi@webrtc.org
4a4e688438 Remove dependecy on win32.h in criticalsection.h. This was causing build errors that we haven't fully figured out yet but somehow this caused override files to include the files they're supposed to override, which in turn included webrtc build files that then conflict with Chromium's configuration.
TBR=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8601}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8601 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 20:10:37 +00:00
tommi@webrtc.org
f7abb12aa9 Fix OVERRIDE->override again after reverting video frame cl.
TBR=magjed@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8600}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8600 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 17:43:49 +00:00
tommi@webrtc.org
1f94407319 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
2015-03-04 17:35:00 +00:00
henrik.lundin@webrtc.org
c86bbbaa93 Add speech flag to EncodedInfo
The flag indicates if the encoded bitstream is speech or comfort noise.

COAUTHOR=kwiberg@webrtc.org
R=jmarusic@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8598}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8598 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 16:03:19 +00:00
kjellander@webrtc.org
14665ff7d4 Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
Clang version changed 223108:230914
Details: e144d30..6fdb142/tools/clang/scripts/update.sh

Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h

The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h"  -o -name "*.cc*" -o -name "*.mm*"`

which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override

Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h

Remaining uses of OVERRIDE was fixed by search+replace.

Manual edits were done to fix virtual destructors that were
overriding inherited ones.

Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc

This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.

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

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

Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
stefan@webrtc.org
792f1a14e2 Break out allocation from BitrateController into a BitrateAllocator.
This also refactors some of the padding and allocation code in ViEEncoder, and
makes ChannelGroup a simple forwarder from BitrateController to
BitrateAllocator.

This CL is part of a bigger picture, see https://review.webrtc.org/35319004/ for
details.

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

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

Cr-Commit-Position: refs/heads/master@{#8595}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8595 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 12:25:17 +00:00
henrik.lundin@webrtc.org
61c22aca5f Eliminate AcmGenericCodec::Add10MsData
All encoding work is now done in the Encode function.

Note: This CL leaves a technical debt in
AudioCodingModuleImpl::Add10MsData. This will be fixed in later
changes.

COAUTHOR=kwiberg@webrtc.org
R=jmarusic@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8594}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8594 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 11:52:17 +00:00
magjed@webrtc.org
f82109cb4d Initialize memory in I420VideoFrame unittest
Previously, when CreateEmptyFrame was called with a smaller size than before, we would reuse the allocation. Now, we allocate a new tight frame. The CL that made this change is https://webrtc-codereview.appspot.com/42469004/. This exposed an uninitialized memory problem in a I420VideoFrame unittest. This CL fixes that unittest.

R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8593}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8593 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 11:30:48 +00:00
magjed@webrtc.org
487afc704d Always define RTC_NOTREACHED, not just in non-chromium builds
R=tommi@webrtc.org
TBR=tommi

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

Cr-Commit-Position: refs/heads/master@{#8592}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8592 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 11:26:19 +00:00
magjed@webrtc.org
9cd7c26d1a Rename NOTREACHED to RTC_NOTREACHED to avoid name conflict with Chromium
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8591}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8591 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 10:21:19 +00:00
kjellander@webrtc.org
6dab6d700d Let Chromium declare the mips_dsp_rev build variable.
In https://codereview.chromium.org/883253003, the mips_dsp_rev
build variable is added to Chromium's GYP and GN build files. Remove
the declarations of mips_dsp_rev from WebRTC's GYP and GN build files.

Replace mips_fpu with mips_float_abi and remove the compiler flags that
are already set by Chromium.

The main review of this was done in https://webrtc-codereview.appspot.com/39779004
but since that CL wasn't created with the right base URL, I made
this in order to be able to run WebRTC trybots properly.

BUG=446234
TBR=wtc@chromium.org

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

Cr-Commit-Position: refs/heads/master@{#8590}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8590 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 09:51:17 +00:00
henrik.lundin@webrtc.org
1d25c87199 Reland r8577 "Collapse AudioEncoderDecoderIsacRed into ..."
This effectively reverts r8578.

TBR=jmarusic@webrtc.org

Original commit message:
Collapse AudioEncoderDecoderIsacRed into AudioEncoderDecoderIsac

With this change, support for iSAC-RED is incorporated into the
regular AudioEncoderDecoderIsac class.

COAUTHOR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8589}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8589 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 08:55:42 +00:00
pbos@webrtc.org
058b1f17ac 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
2015-03-04 08:55:16 +00:00
kjellander@webrtc.org
7572d85aa8 rtc_unittests on Android
BUG=4364
R=pbos@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8587}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8587 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 08:48:17 +00:00
magjed@webrtc.org
c8895aa2f3 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
2015-03-03 21:22:26 +00:00
henrik.lundin@webrtc.org
bcef431902 Revert r8577 "Collapse AudioEncoderDecoderIsacRed into ..."
Some of the build bots seems to have reacted to this change.

TBR=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8578}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8578 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 20:13:48 +00:00
henrik.lundin@webrtc.org
1fc28f2305 Collapse AudioEncoderDecoderIsacRed into AudioEncoderDecoderIsac
With this change, support for iSAC-RED is incorporated into the regular
AudioEncoderDecoderIsac class.

COAUTHOR=kwiberg@webrtc.org
R=jmarusic@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8577}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8577 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 19:31:17 +00:00
pbos@webrtc.org
982cd2a94c Filter receiver-side DataCountersUpdated on SSRC.
BUG=1788,1667
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8575}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8575 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 15:57:18 +00:00
sprang@webrtc.org
b144b4b74e Fixed bug in SendTimeHistory, where deleting packets via the getter
would not update the oldest suence number.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8574}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8574 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 15:44:54 +00:00
minyue@webrtc.org
0561716ae2 Adding Opus DTX support in ACM.
This solution does not use the existing VAD/DTX logic of ACM, since Opus DTX is codec feature, while ACM VAD/DTX is mainly for setting the WebRTC VAD/DTX.

During the development of this CL, two old bugs were found and are fixed in this CL too.

They are in
webrtc/modules/audio_coding/test/Channels.cc
and webrtc/modules/audio_coding/main/acm2/acm_opus_unittest.cc
respectively.

BUG=webrtc:1014
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8573}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8573 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 12:03:14 +00:00
kwiberg@webrtc.org
9e5f941ff1 Remove webrtc/system_wrappers/interface/scoped_ptr.h
No one uses it anymore; they've all switched to the cooler
webrtc/base/scoped_ptr.h instead.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8569}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8569 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 10:17:49 +00:00
minyue@webrtc.org
db93b68031 Removing NetEq's direct dependencies on Opus headers.
Neteq had a direct dependency on Chromium/third_party/opus. This should be relayed by target webrtc_opus.

BUG=
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8567}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8567 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 09:28:53 +00:00
kjellander@webrtc.org
909f494b43 Roll chromium_revision 2c3ffb2..e144d30 (317530:318658)
Relevant changes:
* src/third_party/boringssl/src: b180ee9..09bdb2a
* src/third_party/icu: 2081ee6..df1bf38
* src/third_party/libvpx: 33bbffe..080710f
* src/third_party/openmax_dl: 21c8abe..6658243
Details: 2c3ffb2..e144d30/DEPS

Clang version was not updated in this roll.

BUG=webm:962
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8565}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8565 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 07:21:14 +00:00