8013 Commits

Author SHA1 Message Date
pbos@webrtc.org
e77c9c8df5 Build WebRtcMediaEngine2 outside of Chromium.
Removes #ifdef WEBRTC_CHROMIUM_BUILD from
talk/media/webrtc/webrtcmediaengine.cc. WebRtcVideoEngine2 is built on
all platforms so there's no longer any need to guard this code under
ifdefs.

BUG=1788
R=sprang@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8679}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8679 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 10:50:16 +00:00
magjed@webrtc.org
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
braveyao@webrtc.org
9bfa5f0405 In r8605, DTLS is enabled by default for native webrtc. So we have to disable it explicitly in peerconnection example for loopback test.
BUG=4386
TEST=Manual Test
R=jiayl@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8677}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8677 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-11 03:21:41 +00:00
marpan@webrtc.org
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
kjellander@webrtc.org
f4e2060f09 Script to roll WebRTC in Chromium DEPS
Adding a pristine copy (only changed license and ownerless
TODOs) of the script we've used to roll the WebRTC revision
in Chromium DEPS.
This script assumes being located inside a Chromium checkout,
so a follow-up CL will be created for review of the required
changes for that before it can be used.

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8675}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8675 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 20:47:46 +00:00
glaznev@webrtc.org
fc516077ed Fix Android AppRTCDemo failure on devices with one or no camera.
- Disable video call on devices with no camera.
- Open default camera and disable camera switch on
devices with one camera.

BUG=4373
R=braveyao@webrtc.org, wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8674}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8674 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 18:21:19 +00:00
magjed@webrtc.org
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
phoglund@webrtc.org
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
jmarusic@webrtc.org
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
magjed@webrtc.org
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
pbos@webrtc.org
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
henrika@webrtc.org
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
hbos@webrtc.org
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
bjornv@webrtc.org
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
bjornv@webrtc.org
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
bjornv@webrtc.org
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
guoweis@webrtc.org
f9a75d99b9 Revert "Add concept of whether video renderer supports rotation."
This reverts commit 0ad48935fc5b92be6e10924a9ee3b0dc39c79104.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8663}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8663 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 06:37:41 +00:00
guoweis@webrtc.org
60a2aa0652 Revert "Add concept of whether video renderer supports rotation."
This reverts commit 31d16467aceac56c3cb87a84564ea5e45a49ffe4.

TBR=guoweis@webrtc.org

BUG=

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

Cr-Commit-Position: refs/heads/master@{#8662}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8662 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 06:20:18 +00:00
guoweis@webrtc.org
31d16467ac Add concept of whether video renderer supports rotation.
Rotation is best done when rendered in GPU, added the shader code which rotates the frame. For renderers which don't support rotation, the rotation will be done before sending down the frame to render. By default, assume renderer can't do rotation.

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

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

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

Cr-Commit-Position: refs/heads/master@{#8661}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8661 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 06:11:44 +00:00
guoweis@webrtc.org
0ad48935fc Add concept of whether video renderer supports rotation.
Rotation is best done when rendered in GPU, added the shader code which rotates the frame. For renderers which don't support rotation, the rotation will be done before sending down the frame to render. By default, assume renderer can't do rotation.

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

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

Cr-Commit-Position: refs/heads/master@{#8660}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8660 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 02:43:40 +00:00
kwiberg@webrtc.org
dad85aa53b Chromium build fix: Include new .cc files in rtc_base
r8656 added a couple of new .cc files to rtc_base. Two of them turned
out to mistakenly be in the set excluded from the Chromium build.

TBR=kjellander@webrtc.org, tommi@webrtc.org
BUG=163

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

Cr-Commit-Position: refs/heads/master@{#8659}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8659 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-10 01:00:17 +00:00
andrew@webrtc.org
a3823e29a2 Hide assembly symbols.
Prevent symbols defined in assembly sources from being exported in
libraries which include them by marking them hidden, as they are
implementation details.

BUG=webrtc:4183
R=andrew@webrtc.org

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

Patch from Richard Coles <torne@chromium.org>.

Cr-Commit-Position: refs/heads/master@{#8658}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8658 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 23:21:42 +00:00
kwiberg@webrtc.org
67186fe00c Fix clang style warnings in webrtc/base
Mostly this consists of marking functions with override when
applicable, and moving function bodies from .h to .cc files.

Not inlining virtual functions with simple bodies such as

  { return false; }

strikes me as probably losing more in readability than we gain in
binary size and compilation time, but I guess it's just like any other
case where enabling a generally good warning forces us to write
slightly worse code in a couple of places.

BUG=163
R=kjellander@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8656}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8656 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 22:24:25 +00:00
glaznev@webrtc.org
2989204130 Fix instability in peer connection client unit test.
- Add a separate thread to process peer connection ICE messages
to void setting remote ICe candidate in local ICE candidate callback.
- Set proper constraints values.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8655}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8655 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 19:15:32 +00:00
guoweis@webrtc.org
59140d6a5a Remove VideoRotationMode to VideoRotation.
With this change, there is only one copy of rotation enum.

BUG=4145
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8654}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8654 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 17:08:20 +00:00
bjornv@webrtc.org
600587d5ac Refactor audio_coding/neteq: Removed usage of macro WEBRTC_SPL_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=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8653}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8653 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 13:30:45 +00:00
kjellander@webrtc.org
c7faace956 Roll chromium_revision e8ef1d1..87ce36b (319252:319600)
Relevant changes:
* src/third_party/libvpx: 080710f..caf68ae
Details: e8ef1d1..87ce36b/DEPS

Clang version was not updated in this roll.

TBR=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8652}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8652 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 12:43:16 +00:00
henrika@webrtc.org
474d1eb223 Adds C++/JNI/Java unit test for audio device module on Android.
This CL adds support for unittests of the AudioDeviceModule on Android using both Java and C++. The new framework uses ::testing::TesWithParam to support both Java-based audio and OpenSL ES based audio. However, given existing issues in our OpenSL ES implementation, the list of test parameters only contains Java in this first version. Open SL ES will be enabled as soon as the backend has been refactored.

It also:

- Removes the redundant JNIEnv* argument in webrtc::VoiceEngine::SetAndroidObjects().
- Modifies usage of enable_android_opensl and the WEBRTC_ANDROID_OPENSLES define.
- Adds kAndroidJavaAudio and kAndroidOpenSLESAudio to AudioLayer enumerator.
- Fixes some bugs which were discovered when running the tests.

BUG=NONE
R=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8651}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8651 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 12:40:43 +00:00
mflodman@webrtc.org
1b32bbe0a7 Removing private and unused method in RTPReceiver.
R=pbos@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8650}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8650 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 11:54:45 +00:00
kjellander@webrtc.org
6b56d0793e Revert 8632 "Enable isac NEON building on Aarch64"
Breaks Chromium audio tests on Nexus 9.
http://build.chromium.org/p/chromium.webrtc.fyi/builders/Android%20Tests%20%28dbg%29%20%28L%20Nexus9%29/builds/1152/steps/content_browsertests/logs/stdio

It also actually broke already on our android_arm64 trybot in the CL:
http://build.chromium.org/p/tryserver.webrtc/builders/android_arm64/builds/3282
but I failed to double-check that (I guess I assumed it was flakiness since
that bot has been flaking a lot lately).

> 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>.

TBR=zhongwei.yao@arm.com, andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8649}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8649 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 11:08:42 +00:00
pbos@webrtc.org
385b56666a Revert "Workaround Mac align bug for observer_ and crit_."
This reverts commit r8528 which should be safe after r8646.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8648}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8648 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 10:43:44 +00:00
stefan@webrtc.org
a50e6f073d Move ownership of vie_encoders and vie_channels into the channel group.
BUG=4323
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8647}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8647 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-09 10:07:20 +00:00
tommi@webrtc.org
a32f064e97 Fix build configuration bug with debug builds.
The problem we were running into on the Mac 10.9 debug bot in Chrome turned out to be good ol'fashion memory corruption. Part of webrtc was being compiled with _DEBUG, another half without it. This caused the definition of some symbols to be out of sync (notably pthread_mutex_t) and would cause code built from common.gypi, to overwrite memory allocated via common types from base/base.gypi derived code.  Fun stuff to track down.  This was a problem in particular with base/criticalsection.h since it's inlined into multiple object files but will have different definitions of what a mutex is.

TBR=pbos,kjellander
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8646}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8646 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-08 07:39:22 +00:00
tommi@webrtc.org
558dc40c88 Reland 8631 "Speculative revert of 8631 "Remove lock from Bitrat..."
> 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

TBR=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8645}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8645 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-07 20:56:50 +00:00
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
glaznev@webrtc.org
dc08a230da Fix H.264 start code position search.
This will address incorrect start code search
in a sequence like 00 00 00 00 00 01.
Thanks Noah.

R=noahric@chromium.org, wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8639}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8639 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 23:32:42 +00:00
magjed@webrtc.org
1af1391b41 Remove WebRtcTextureVideoFrame
WebRtcTextureVideoFrame 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 WebRtcTextureVideoFrame into the base class. Then it's possible to completely remove WebRtcTextureVideoFrame and all its files.

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

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

Cr-Commit-Position: refs/heads/master@{#8638}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8638 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 17:17:43 +00:00
magjed@webrtc.org
c2008a0e8c RTCOpenGLVideoRenderer: Add support for padded frames
This CL allows RTCOpenGLVideoRenderer to handle frames with pitch > width by making an intermediate frame copy.

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

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

Cr-Commit-Position: refs/heads/master@{#8637}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8637 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 16:59:23 +00:00
jiayl@webrtc.org
b4cd093f41 Change the unintentioal CHECK to DCHECK in DtlsIdentityStore.
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8636}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8636 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 16:32:57 +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
pbos@webrtc.org
a2a6fe66a3 Reconfigure default streams on AddRecvStream.
Makes sure RTX can be used for streams that have received early media
before being properly configured.

BUG=1788
R=mflodman@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8634}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8634 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-06 15:35:48 +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
kjellander@webrtc.org
7158ec1727 Remove android-webrtc.mk
This is a stale file that haven't been used for years.
If anyone relies on this for their custom build, it's better
they keep it in their repo instead.

R=henrika@webrtc.org

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

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