Commit Graph

6455 Commits

Author SHA1 Message Date
e155dbeae9 VP8/9EncoderImpl::Encode: Check resolution of input I420VideoFrame
This CL adds checks in Encode to guard against memory reads out of bounds.

R=pbos@webrtc.org, stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8750}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8750 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 12:27:40 +00:00
0cb612b43b We changed Encode() and EncodeInternal() return type from bool to void in this issue:
https://webrtc-codereview.appspot.com/38279004/
Now we don't have to pass EncodedInfo as output parameter, but can return it instead. This also adds the benefit of making clear that EncodeInternal() needs to fill in this info.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8749}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8749 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 12:13:13 +00:00
73d763e71f Add I420 buffer pool to avoid unnecessary allocations
Now when we don't use SwapFrame consistently anymore, we need to recycle allocations with a buffer pool instead. This CL adds a buffer pool class, and updates the vp8 decoder to use it. If this CL lands successfully I will update the other video producers as well.

BUG=1128
R=stefan@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8748}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8748 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 11:41:15 +00:00
646eeacf8c Roll chromium_revision 8d51d96..bd49b12 (320682:320783)
Pulls in new libvpx version that allows us to re-enable the
VideoProcessorIntegrationTest.ProcessNoLossDenoiserOnVP9
test in webrtc/modules/video_coding/codecs/test/videoprocessor_integrationtest.cc

Relevant changes:
* src/third_party/libvpx: 763fe7a..f80cf58
* src/tools/gyp: 4a9b712..d174d75
Details: 8d51d96..bd49b12/DEPS

Clang version was not updated in this roll.

BUG=4418
TBR=marpan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8745}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8745 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-17 08:26:17 +00:00
06d93909cd Adjust a threshold in VP9 test.
For upcoming libvpx roll.

TBR=stefan@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8744}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8744 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 22:13:16 +00:00
592470b4ff Remove a dependency of BaseChannel on WebRtcSession by having WebRtcSession push down new media descriptions to BaseChannel rather than having BaseChannel listen to the description changes from WebRtcSession.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8743}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8743 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 21:16:23 +00:00
12e7951bf2 Remove libvpx suppression due to fixed bug.
BUG=webm:962
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8742}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8742 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 20:43:47 +00:00
6ad507ac35 Refactor how the TransportChannels are set in the BaseChannel to rely lesson Session, so that in the future we can rely on Transport instead, and also be able to change Transports on the fly for BUNDLE.
Also, remove channel_name.  It's no longer needed.

This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=decurtis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8741}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8741 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 20:19:42 +00:00
c04a97f054 Move from BaseSession::GetStats to WebRtcSession::GetTransportStats
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

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

Cr-Commit-Position: refs/heads/master@{#8739}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8739 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 19:32:23 +00:00
aba9219e5c Change ThreadPosix to use an auto-reset event instead of manual reset now that we know the problem we had with EventWrapper::Wait was simply a bug in the EventWrapper. Also removing |started_| since we can just check the thread_ instead.
R=pbos@webrtc.org
BUG=4413

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

Cr-Commit-Position: refs/heads/master@{#8738}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8738 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 16:06:16 +00:00
02d166b735 Fixing a race condition in ACMGenericCodec
The old object was deleted before the pointer to it was removed from
the decoder proxy.

BUG=chromium:467209
TBR=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8736}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8736 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 14:33:43 +00:00
8bd2f40a8c Remove code related to REMB suppressor experiment.
Stats indicate this isn't helping. Ditching the whole thing.

BUG=4082
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8734}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8734 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 14:11:42 +00:00
2056ee3e3c Revert "Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*."
This reverts commit r8731.

Reason for revert: Breakes Chromium FYI bots.

TBR=hbos, tommi

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

Cr-Commit-Position: refs/heads/master@{#8733}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8733 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:48:18 +00:00
93d9d6503e I420VideoFrame.CreateFrame: Removed unnecessary buffer size arguments.
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8732}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8732 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:26:41 +00:00
2dc5fa69b2 Changed argument occurences of const I420VideoFrame* to const I420VideoFrame& and non-const I420VideoFrame& to I420VideoFrame*.
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8731}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8731 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 13:02:19 +00:00
7f7d7e3427 Prevent crash in NetEQ when decoder overflow.
NetEQ can crash when decoder gives too many output samples than it can handle. A practical case this happens is when multiple opus packets are combined.

The best solution is to pass the max size to the ACM decode function and let it return a failure if the max size if too small.

BUG=4361
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8730}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8730 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 12:31:19 +00:00
eed2fcaa76 Roll chromium_revision 00e438c..8d51d96 (320241:320682)
Relevant changes:
* src/third_party/android_tools: fd5a8ec..98a4345
Details: 00e438c..8d51d96/DEPS

This required updating our Android projects to API level 22,
as third_party/android_tools dropped support for API level 21.

Command used:
perl -pi -e "s/android-21/android-22/g" `find . -name project.properties`
Using 'android update project' would also work but that changes the
ANDROID_SDK_ROOT -> ANDROID_HOME, which the Chromium build toolchain
doesn't set properly when build/android/envsetup.sh is sourced.

Clang version was not updated in this roll.

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

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

Cr-Commit-Position: refs/heads/master@{#8728}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8728 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-16 09:00:41 +00:00
6107ba12f9 Put ViEFrameProviderBase::DeliverFrame back in the critical section in ViECapturer::DeliverI420Frame
The CL that moved it out of the critical section is here: https://webrtc-codereview.appspot.com/43669004/

BUG=1128
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8724}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8724 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-14 11:50:14 +00:00
b4aac13810 Cleanup SocketMonitor a little so that it can handle a change in transport channel. And cleanup some names and style and such as well.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=guoweis@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8720}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8720 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 18:25:54 +00:00
990a00c30a Remove unused transport code.
This is a part of the big BUNDLE implementation at https://webrtc-codereview.appspot.com/45519004/

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8719}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8719 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 18:20:48 +00:00
bc2bb34419 Refactor audio_coding/codecs/isac: Removed usage of macro WEBRTC_SPL_MUL_16_16
The macro is in C defined as
#define WEBRTC_SPL_MUL_16_16(a, b) ((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(For definition on ARMv7 and MIPS, see
common_audio/signal_processing/include/spl_inl_armv7.h and
common_audio/signal_processing/include/spl_inl_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)

Some other minor code cleanup also exists.

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

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

Cr-Commit-Position: refs/heads/master@{#8717}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8717 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 12:59:36 +00:00
9b2e1144df Supporting Opus DTX in Voice Engine.
Opus DTX is an Opus specific feature. It does not require WebRTC VAD/DTX, therefore is not set by VoECodec::SetVADStatus(), but rather a dedicated API.

BUG=1014
R=henrika@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8716}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8716 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 09:38:55 +00:00
0c5b137e7e Remove support for iSAC RCU
The current way that iSAC RCU is packetized and sent as a RED packet,
with the same payload type for primary and redundant payloads, does
not follow the specification for RED. As it is now, it is impossible
for a receiver to know if an incoming RED packet with iSAC payloads
inside consists of two "primary" (but time-shifted) payloads, or one
primary and one RCU payload. The RED standard stipulates that the
former option is the correct interpretation, while our implementation
currently applies the latter.

This CL removes support for iSAC RCU from Audio Coding Module, but
leaves it in the iSAC codec itself (i.e., in the C implementation).

BUG=4402
COAUTHOR=kwiberg@webrtc.org
R=tina.legrand@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8713}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8713 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 08:28:54 +00:00
9f41810c82 Roll chromium_revision 87ce36b..00e438c (319600:320241)
Relevant changes:
* src/third_party/boringssl/src: 09bdb2a..bf0df92
* src/third_party/libvpx: caf68ae..763fe7a
* src/third_party/openmax_dl: 6658243..0b238cb
* src/tools/swarming_client: 1b7bfec..b61a180
Details: 87ce36b..00e438c/DEPS

Clang version changed 231191:231690
Details: 87ce36b..00e438c/tools/clang/scripts/update.sh

BUG=4418
TBR=pbos@webrtc.org
TESTED=Ran our/Release/modules_tests locally after PS#2 and verified there's no other crash.

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

Cr-Commit-Position: refs/heads/master@{#8712}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8712 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 07:19:31 +00:00
0f663de2ec Rename Beamformer to NonlinearBeamformer.
R=aluebs@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8710}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8710 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 00:14:18 +00:00
86639737b8 Remove thread id from ThreadWrapper::Start().
Removes ThreadPosix::InitParams and a corresponding wait for an event.
This unblocks ThreadPosix::Start which had to wait for thread scheduling
for an event to trigger on the spawned thread, giving faster Start()
calls.

BUG=4413
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8709}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8709 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-13 00:07:45 +00:00
e534086492 Clean up LappedTransform and Blocker.
- Remove unnecessary window member from lapped_transform.
  - Add comment indicated that Blocker does not take ownership of
    the window passed to its constructor.
  - Streamline LappedTransform constructor so members can be const.

Also use a range-based for loop in audio_processing_impl.cc for clarity.

R=aluebs@webrtc.org, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8708}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8708 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 23:24:19 +00:00
fdd1057949 Add CVO support to Vie layer.
1. standard plumbing CVO through vie layer.
2. added a rtp_cvo.h which has both conversion functions from rtp header byte to/from VideoRotation.

WebRTCVideoEngine will later pass the rotation info in SendFrame() through VieVideoFrameI420.

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

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

Cr-Commit-Position: refs/heads/master@{#8703}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8703 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 20:51:50 +00:00
4f85288e71 Socket options are only applied when first setting TransportChannelImpl.
Also fixed the issue when we have an TransportChannelImpl, the socket
option is not preserved.

Since this is a code path that will be modified by bundle (which Peter also has a test case already), we don't need a test case here.

BUG=4374
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8702}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8702 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 20:10:22 +00:00
c339276b32 Fixing r8698.
8698 causing android bots to fail. This is a fix.

BUG=
R=turaj@webrtc.org
TBR=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8699}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8699 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 16:01:19 +00:00
e16bfde512 Adding flag to force Opus application and DTX while toggling.
Currently, we only allow Opus DTX in combination with Opus kVoip mode. When one of them is toggled, the other might need to change as well. This CL is to introduce a flag to force a co-config.

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

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

Cr-Commit-Position: refs/heads/master@{#8698}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8698 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 15:29:23 +00:00
b73758d57a Clean up VideoRenderFrames
It's possible to clean up VideoRenderFrames now when I420VideoFrame holds a reference counted frame buffer.

BUG=1128
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8695}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8695 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 12:25:41 +00:00
cade82c56f Refactor MediaOptimization protection methods.
Makes MediaOptimization::EnableProtectionMethod significantly less
confusing. Also removing some dead methods in VideoSender.

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

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

Cr-Commit-Position: refs/heads/master@{#8693}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8693 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 10:39:43 +00:00
5c9f69f0af Update the dummy file_audio_video_device to allow empty file name
Landing this on behalf of malmnas@.

The semantics is as follows:

* if the output filename is empty, then don't log to file
* if the input filename is empty, then don't stream any audio from file

This is useful for long running tests with multiple participants.
With logging turned on, having 10 bots running for 2 hours results in
more then 7 GB of data.

BUG=None
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8691}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8691 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-12 10:28:15 +00:00
d2c09dd339 Make building openmax_dl conditional in gyp.
Intentionally not modifying the GN build.

R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8688}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8688 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 22:07:18 +00:00
f1182dd2e4 Make sure input manager lock is accessed after channel manager lock.
This CL reverses the lock order in vie_capture_impl.cc to make sure the
different manager locks are always accessed in the same order.

R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8685}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8685 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 17:35:19 +00:00
5c72922c75 Remove unused member functions in audio_device_mac.h, which would cause compiling warning with clang -Wthread-safety-anaysis. Reported and fixed by mozilla. Imported here(We don't have any problem since we suppressed those warning in r7961).
BUG=4362
TEST=AutoTest
R=henrika@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8681}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8681 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 11:10:44 +00:00
4dccdff885 Add unittest to check that ViECapturer does not hold on to frames after they have been delivered
This should have been part of the CL "Remove the need for scoped_ptr<I420VideoFrame> in VieCapturer" https://webrtc-codereview.appspot.com/43669004.

TBR=pbos,mflodman
BUG=1128

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

Cr-Commit-Position: refs/heads/master@{#8680}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8680 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 11:03:22 +00:00
0d9bb8e499 Remove the need for scoped_ptr<I420VideoFrame> in VieCapturer.
Remove the need for scoped_ptr<I420VideoFrame> in VieCapturer.
This adds the method I420VideoFrame::Reset and replace the use of scoped_ptr in ViECapturer.
Also, a unittest is added to check that ViECapturer does not retain a frame after it has been delivered.

BUG=1128
R=mflodman@webrtc.org, pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8678}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8678 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 10:07:15 +00:00
ece4b2869c FecTest: Reduce loop over numMediaPackets in test_fec.
Speed up the test by factor of ~2.

TBR=pbos@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8676}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8676 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 21:48:47 +00:00
4052d88162 Remove GetLastRenderedFrame
This function is not used.

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

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

Cr-Commit-Position: refs/heads/master@{#8673}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8673 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 16:36:42 +00:00
49d0d34ed5 Making sure neteq gets compiled with OPUS.
All WebRTC calls on GN were failing because we failed to add OPUS as a
receive codec. The reason was that the WEBRTC_CODEC_OPUS define wasn't
set for the audio_decoder_impl.cc file; this CL fixes that.

BUG=None
R=kjellander@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8672}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8672 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 16:23:47 +00:00
51ccf37638 AudioEncoder: add method MaxEncodedBytes
Added method AudioEncoder::MaxEncodedBytes() and provided implementations in derived encoders. This method returns the number of bytes that can be produced by the encoder at each Encode() call.
Unit tests were updated to use the new method.
Buffer allocation was not changed in AudioCodingModuleImpl::Encode(). It will be done after additional investigation.
Other refactoring work that was done, that may not be obvious why:
1. Moved some code into AudioEncoderCng::EncodePassive() to make it more consistent with EncodeActive().
2. Changed the order of NumChannels() and  RtpTimestampRateHz() declarations in AudioEncoderG722 and AudioEncoderCopyRed classes. It just bothered me that the order was not the same as in AudioEncoder class and its other derived classes.

R=kwiberg@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8671}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8671 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 15:42:21 +00:00
d7452a0168 Revert "Make the entry point for VideoFrames to webrtc const ref I420VideoFrame."
This reverts commit r8633.

Reason for revert: Performance regressions in browser_tests_new_vie and webrtc_perf_tests.

BUG=1128,chromium:465287,chromium:465306
TBR=pbos,mflodman,perkj

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

Cr-Commit-Position: refs/heads/master@{#8670}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8670 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 15:13:13 +00:00
4c8b93091d Zero-initialize all members of EncodedFrame.
ntp_time_ms_ was missing in the default constructor, these things are
very easy to miss, so adding C++11-style initialization instead. This
also reduces init-list duplication.

BUG=
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8669}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8669 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 12:56:02 +00:00
74d4792af5 Fixes issue in RunPlayoutWithFileAsSource related to uninitialized member
BUG=4408
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8668}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8668 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 11:59:19 +00:00
aa57702c08 Removed texture_video_frame.h and webrtctexturevideoframe.h
BUG=1128
R=magjed@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8667}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8667 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 09:04:18 +00:00
7ef8b12a3b Refactor audio_processing/ns: Removes usage of macro 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
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(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 parentheses and style changes

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

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

Cr-Commit-Position: refs/heads/master@{#8666}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8666 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 07:10:14 +00:00
b38b009d21 Refactor audio_processing/aecm: Removed usage of macro 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
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(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 parentheses and style changes

In addition an implicit cast from int32_t to int16_t was removed, which was a bug.

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

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

Cr-Commit-Position: refs/heads/master@{#8665}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8665 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 06:40:12 +00:00
1afbdc7555 Refactor audio_processing/agc: Removes usage of macro 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
#define WEBRTC_SPL_MUL_16_16(a, b) \
((int32_t) (((int16_t)(a)) * ((int16_t)(b))))
(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 parentheses and style changes

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

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

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