3552 Commits

Author SHA1 Message Date
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
aluebs@webrtc.org
c9ce07ed87 Add Config option to enable 48kHz support in AudioProcessing
BUG=webrtc:3146
R=andrew@webrtc.org, bjornv@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8563}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8563 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 20:07:51 +00:00
magjed@webrtc.org
97ed2a4b70 I420VideoFrame: Remove function ResetSize
This is a partial reland of https://webrtc-codereview.appspot.com/39939004/.

The original CL was reverted because ViECapturer use ResetSize/IsZeroSize on |captured_frame_| as a check to make sure each captured frame is only delivered once. Removing ResetSize introduced a race condition where a captured frame could be delivered multiple times.

I have fixed this problem in this CL by replacing ResetSize with scoped_ptr::release.

BUG=4352
R=perkj@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8561}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8561 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 17:33:41 +00:00
bjornv@webrtc.org
976c0f3043 audio_processing/aec: NEON code should not be invoked if it is detectable, but is not NEON
There exist devices with runtime checks for NEON, but where the device is not NEON. One such device is Tegra2 on which currently NEON code is running.

This fix adds a missing feature check when initializing the AEC.

BUG=4304
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8559}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8559 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 16:25:51 +00:00
stefan@webrtc.org
48ac226b9a Add support for writing h264 decoder input to file and parsing interleaved length/packet RTP dumps.
This is useful for debugging h264 input when we don't have an h264 decoder, as the resulting file should be possible to play back using mplayer. It is also often convenient to dump rtp packets in an interleaved format where the size of a packet is inserted before the actual payload.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8558}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8558 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 16:19:15 +00:00
marpan@webrtc.org
3fe17d1598 Adjust a few thresholds for VP9 tests.
Needed for the upcoming libvpx roll.

TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8557}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8557 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 15:34:19 +00:00
magjed@webrtc.org
fd33293d58 I420VideoFrame: Remove functions set_width and set_height
This is a partial reland of https://webrtc-codereview.appspot.com/39939004/.

The functions set_width and set_height in I420VideoFrame are not needed and just add complexity.

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

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

Cr-Commit-Position: refs/heads/master@{#8556}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8556 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 13:57:44 +00:00
andresp@webrtc.org
e8f50df6b9 Remove avi recorder and corresponding enable_video flags.
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8554}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8554 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 13:07:44 +00:00
henrik.lundin@webrtc.org
f56c162310 Remove AudioCodingModule::Process()
An earlier change moved the encoding work from Process to
Add10MsData; process was just a no-op.

BUG=3520
COAUTHOR=kwiberg@webrtc.org
R=henrika@webrtc.org, minyue@webrtc.org, tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8553}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8553 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 12:30:19 +00:00
sprang@webrtc.org
25dd1dbb9f Fixed bug in test frame generator, causing incorrect reuse of frame
object, in turn causing performance regression.

Plus a small optimization.

BUG=chromium:460954, 4329
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8552}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8552 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 11:56:16 +00:00
kjellander@webrtc.org
24485eb3cc Remove last pieces of libjingle_unittest
Most of this code has been moved into rtc_unittests
a long time ago. The target is no longer executing on the bots.

BUG=
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8548}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8548 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 09:41:15 +00:00
sprang@webrtc.org
f35e4bc694 Introduce a send time history class, keeping track of packet send times.
BUG=4308
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8546}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8546 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 09:06:17 +00:00
guoweis@webrtc.org
59ae5ff310 Filter logic for ip leak misses ::ffff:0.0.0.0
The current logic filtering out "any" address is incomplete in the case
when any address in IPv4 converted in IPv6 form is not filtered out.

BUG=
R=juberti@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8545}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8545 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-01 23:45:42 +00:00
bjornv@webrtc.org
2f6ae0de5b audio_coding/codec/ilbc: Removed usage of WEBRTC_SPL_MUL_16_16_RSFT
The macro is defined as
#define WEBRTC_SPL_MUL_16_16_RSFT(a, b, c) \
    (WEBRTC_SPL_MUL_16_16(a, b) >> (c))

where the latter macro is in C defined as
(For definitions on ARMv7 and MIPS, see common_audio/signal_processing/include/spl_inl_{armv7,mips}.h)

The replacement consists of
- avoiding casts to int16_t if inputs already are int16_t
- adding explicit cast to <type> if result is assigned to <type> (other than int or int32_t)
- minor cleanups like remove of unnecessary parantheses and style changes

BUG=3348, 3353
TESTED=locally on Mac and trybots
R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8544}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8544 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-01 19:51:31 +00:00
tommi@webrtc.org
e1b84a0b2b Fix a race reported by tsan.
TSAN complains about this variable not having synchronized access, so
I'm using atomic operations on it instead.
There's no functional difference really though.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8543}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8543 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-01 08:29:44 +00:00
kjellander@webrtc.org
d68fa65d76 Improve cleaning for Android demo applications
There are a bunch of directories that are not cleaned between
builds since they're added to .gitignore.

R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8542}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8542 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-28 11:18:20 +00:00
pthatcher@webrtc.org
f7bb6e723b Use new API from BoringSSL to get RFC name of cipher.
This CL uses the new API "SSL_CIPHER_get_rfc_name" from BoringSSL to
get the RFC-compliant cipher name instead of having a custom hardcoded
list of cipher names.

BUG=none
R=juberti@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8541}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8541 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-28 01:41:49 +00:00
tommi@webrtc.org
d31250518a Test to try to track down the alignment problem on Mac 10.9.
There's no code change here, I'm rearranging member variables of the
trace class and adding a sizeof check to the CriticalSection
class + alignment attribute for the mutex, on Mac only.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8540}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8540 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-28 00:01:56 +00:00
aluebs@webrtc.org
07dcf60ee0 Revert 8532 "Ensure only temporary IPv6 address is selected as t..."
> Ensure only temporary IPv6 address is selected as the best IP.
> 
> The current logic of IPv6 selection could still have a small chance for non-temporary address to be selected for candidate. The scenario is that when there is no non-deprecated temporary IP, the global ones could be selected.
> 
> Global ones don't necessarily carry MAC. However, instead of comparing whether it has the MAC in it (sometimes 5 out of 6 elements from a MAC are the same, only one diffs), we should just err on the safe side.
> 
> BUG=4348
> R=juberti@webrtc.org, pthatcher@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/38289004

TBR=guoweis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8534}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8534 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 18:42:46 +00:00
guoweis@webrtc.org
385a7ceb1f Ensure only temporary IPv6 address is selected as the best IP.
The current logic of IPv6 selection could still have a small chance for non-temporary address to be selected for candidate. The scenario is that when there is no non-deprecated temporary IP, the global ones could be selected.

Global ones don't necessarily carry MAC. However, instead of comparing whether it has the MAC in it (sometimes 5 out of 6 elements from a MAC are the same, only one diffs), we should just err on the safe side.

BUG=4348
R=juberti@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8532}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8532 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 18:10:43 +00:00
tommi@webrtc.org
fbef5c6293 Remove lock in ViEFrameProviderBase::IsFrameCallbackRegistered.
After looking at how this class is used I discovered that the threading model isn't completely crazy and that we can remove a lock from a method that's causing the most contention in getStats right now (and probably many other places).  IsFrameCallbackRegistered() looks innocent enough, but it contented with the frame encoder, which can make it wait for tens of milliseconds, unnecessarily.

In addition to removing the lock, I:

* Documented the threading model
* Added checks to guard against regressions
* Reduced lock scope in the Deregister function (not calling out to the notification while holding the lock).
*  made virtual functions non-virtual (since they're not really being overriden) and removed unnecessary method that, if called by other threads than the ctor thread, returned a value that wasn't necessarily correct.

BUG=2822
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8531}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8531 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:43:23 +00:00
magjed@webrtc.org
7400e0b876 Revert "I420VideoFrame: Remove functions set_width, set_height, and ResetSize"
This reverts commit r8434.

Reason for revert: Introduced a race condition. If ViECaptureProcess() -> SwapCapturedAndDeliverFrameIfAvailable() is called twice without a call to OnIncomingCapturedFrame() in between (with both captured_frame_ and deliver_frame_ populated), an old frame will be delivered again, since captured_frame_->IsZeroSize() will never be true.

BUG=4352
TBR=perkj@webrtc.org, stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8530}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8530 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:19:18 +00:00
pbos@webrtc.org
4b3618c7f3 Remove TraceImpl logging thread.
Simplifies TraceImpl significantly. Chromium uses trace callbacks and
logs directly through the trace callback interface. Added slowdowns when
logging to file are expected to only affect test targets.

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

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

Cr-Commit-Position: refs/heads/master@{#8529}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8529 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 15:05:50 +00:00
pbos@webrtc.org
6c2e506cf4 Workaround Mac align bug for observer_ and crit_.
Unblocks rolling WebRTC into Chromium so we can debug what's actually
going on.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8528}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8528 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 14:28:26 +00:00
tommi@webrtc.org
3985f0151a ProcessThread improvements.
* Added a way to notify a Module that it's been attached to a ProcessThread.
  The benefit of this is to give the module a way to wake up the thread
  when it needs work to happen on the worker thread, immediately.
  Today, module instances are typically registered with a process thread
  outside the control of the modules themselves.  I.e. they typically
  don't know about the process thread they're attached to.

* Improve ProcessThread's WakeUp algorithm to not call TimeUntilNextProcess
  when a WakeUp call is requested.  This is an optimization for the above
  case which avoids the module having to acquire a lock or do an interlocked
  operation before calling WakeUp(), which would ensure the module's
  TimeUntilNextProcess() implementation would return 0.

BUG=2822
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8527}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8527 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 13:37:25 +00:00
jmarusic@webrtc.org
abbdd520b0 AudioEncoder: documentation fix
Follow-up to https://webrtc-codereview.appspot.com/38279004/

R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8524}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8524 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 09:20:25 +00:00
aluebs@webrtc.org
3aca0b0b31 Add 48kHz support to Beamformer
Doing something similar for the band 16-24kHz to what is done for the band 8-16kHz
Tested for 32kHz sample rate and the output is bitexact with how it was before this CL.

BUG=webrtc:3146
R=andrew@webrtc.org, kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8522}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8522 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 21:53:00 +00:00
jmarusic@webrtc.org
b1f0de30be AudioEncoder: change Encode and EncodeInternal return type to void
After code cleanup done on issues:
https://webrtc-codereview.appspot.com/34259004/
https://webrtc-codereview.appspot.com/43409004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/34309004/
https://webrtc-codereview.appspot.com/36209004/
https://webrtc-codereview.appspot.com/40899004/
https://webrtc-codereview.appspot.com/39279004/
https://webrtc-codereview.appspot.com/42099005/
and the similar work done for AudioEncoderDecoderIsacT,  methods AudioEncoder::Encode and AudioEncoder::EncodeInternal will always succeed. Therefore, there is no need for them to return bool value that represents success or failure.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8518}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8518 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 15:38:46 +00:00
kwiberg@webrtc.org
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
kwiberg@webrtc.org
ac2d27d9ae Fix style violations in common_types.h and config.h
Mostly, it's about moving constructors and descructors to the .cc
files, so that they won't be inlined everywhere.

The reason this CL is so big is that a lot of code was using
common_types.h without declaring a dependency on webrtc_common, which
broke the build once common_types.h started to depend on
common_types.cc.

BUG=163
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8516}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8516 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:01:28 +00:00
pbos@webrtc.org
891d48393e Wire up target_media_bitrate in VideoSendStream.
Also wires up target_enc_bitrate in WebRtcVideoEngine2.

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

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

Cr-Commit-Position: refs/heads/master@{#8515}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8515 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 13:16:17 +00:00
mflodman@webrtc.org
9dd0ebc379 Remove the default RTP module.
This CL removes the default module owned by ViEEncoder, functionality in
the module to register default modules and the final changes in
rtp_rtcp_impl using default/child modules.

BUG=769
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8514}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8514 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 12:58:24 +00:00
pbos@webrtc.org
3e6e271ec3 Implement CpuOveruseMetrics as callbacks.
Adds avg_encode_ms and encode_usage_percent in WebRtcVideoEngine2 and
corresponding stats to VideoSendStream::Stats.

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

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

Cr-Commit-Position: refs/heads/master@{#8513}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8513 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 12:20:24 +00:00
henrik.lundin@webrtc.org
38d9cc51d5 Add back return statement after FATAL()
Some compilers do not accept that non-void functions end with FATAL()
instead of a return statement. This change adds back a few return
statements that were removed in r8463.

BUG=4344
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8509}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8509 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 09:43:19 +00:00
magjed@webrtc.org
f09e7b8a4f WebRtcVideoFrame: DCHECK exclusive ownership for non-const pixel access
Add some const safety by DCHECK(HasOneRef()) in non-const GetYPlane. This CL also replaces all incorrect non-const calls with const calls for pixel data access in cricket::VideoFrame. It's easy to call the non-const version of e.g. GetYPlane by mistake, even if only const-access is needed. For example:
const scoped_ptr<cricket::VideoFrame> foo;
const uint8_t* y = foo->GetYPlane();
will actually call the non-const version of GetYPlane.

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

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

Cr-Commit-Position: refs/heads/master@{#8507}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8507 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 14:50:19 +00:00
magjed@webrtc.org
6c66163567 Fix TestScaler PSNR tests
TestScaler::ComputeAvgSequencePSNR is currently a complex NOP, that always returns kPerfectPSNR. Two frames are read from files into arrays, and then converted into I420VideoFrames. However, the incorrect function ConvertFromI420 is used instead of ConvertToI420, resulting in two empty I420VideoFrames. I420PSNR on empty frames returns kPerfectPSNR.

This CL replaces ConvertFromI420 with ConvertToI420 and actually measures the PSNR. Unfortunately, some tests do not pass when we use the real psnr. The tests that fail are the ones that scale back and forth to a different aspect ratio. webrtc::Scaler has been changed to preserve aspect ratio, and this means that we will end up with a cropped frame if scale and rescale to a different target aspect ratio. I simply removed those tests to make it pass. Having some working tests instead of a lot of dummy tests seems like a win.

R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8506}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8506 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 14:10:47 +00:00
mflodman@webrtc.org
96abda0316 Removing FEC functionality from the default RTP module.
This CL removes the last default module methods used from ViEEncoder and
the default module itself will be removed in a separate CL.

BUG=769
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8505}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8505 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 13:50:51 +00:00
jmarusic@webrtc.org
9b969e167d AudioEncoderCopyRed: CHECK that encode call doesn't fail
Call to AudioEncoder::Encode fails only if fed bad input, so instead of handling failure, we can just CHECK.
There is also no need to handle case where size of encoded data is larger than allowed maximum, so we just CHECK.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8504}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8504 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 11:53:45 +00:00
andresp@webrtc.org
749c60217d Moved gypi to avoid presubmit warning about '..' when touching the files.
R=kjellander@webrtc.org,mflodman@webrtc.org
TBR=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8503}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8503 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 11:50:44 +00:00
asapersson@webrtc.org
5c928ebd1d Let first packet through to avoid getting key frame requests (and no nacks) for EndToEndTest.ReceivedFecPacketsNotNacked.
BUG=4328
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8502}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8502 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 11:47:43 +00:00
pbos@webrtc.org
09c77b95bb Add decoder-timing stats to VideoReceiveStream.
Also breaks out SsrcStats from VideoReceiveStream::Stats as they don't
have that much overlap.

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

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

Cr-Commit-Position: refs/heads/master@{#8501}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8501 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:42:45 +00:00
henrik.lundin@webrtc.org
c5558b7021 Remove AudioCodingModule's dependency on the Module interface
BUG=3520
COAUTHOR=kwiberg@webrtc.org
R=minyue@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8500}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8500 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-25 10:37:46 +00:00