Commit Graph

7808 Commits

Author SHA1 Message Date
perkj@webrtc.org
be00e3c198 Make sure VideoFrameFactory handles rotated frames when scaling.
BUG=4366
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8570}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8570 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 10:48:46 +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
perkj@webrtc.org
1f914ecf9a Remove suppression for WebRtcVideoFrameTest::TestInit
The problem is fixed in https://webrtc-codereview.appspot.com/41029004/.

bug: https://code.google.com/p/libyuv/issues/detail?id=377

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8568}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8568 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 09:39:44 +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
magjed@webrtc.org
cb04aa4a81 WebRtcVideoFrameTest: Initialize memory to fix DrMemory error
R=pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8566}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8566 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 09:24:16 +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
perkj@webrtc.org
1d82813961 Reland "Fix CVO in androidvideocapturer".
This cl was originally revieved in https://webrtc-codereview.appspot.com/40759004/

Patchset 2 adds a unittest for VideoFrame::Reset with and without the apply_rotation flag set.

BUG=4145
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8564}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8564 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-03 06:44:40 +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
tommi@webrtc.org
0482d01902 Implement TraceCallback in a nested class of WebRtcVideoEngine.
This is to fix a race that occurs in unit tests when the tests inherit
from the engine class that also implements the callback interface for
tracing.  If tracing happens while the most derived class is still being
constructed, we're in trouble.

So, instead, factoring out the TraceCallback implementation.

R=pbos@webrtc.org
BUG=

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

Cr-Commit-Position: refs/heads/master@{#8562}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8562 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 17:51:44 +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
glaznev@webrtc.org
43f4a47c28 Add more Android peer connection client unit tests:
- Add front/back camera switch test.
- Add video source stop and restart test to simulate
application going into background.
- Add a loopback test for 3 video codecs - VP8, VP8, H.264.
- Add a loopback test for voice only call.

R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8560}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8560 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 17:32:18 +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
pbos@webrtc.org
f1f0d9a4cd Remove WebRtcVideoEngine::SetVoiceEngine.
Instead enforcing that a voice engine is set on construction. Apart from
simplifying the class this permits tracing to be set up in the
constructor without worrying about racing sets from SetVoiceEngine
later.

BUG=
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8555}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8555 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 13:30:46 +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
perkj@webrtc.org
60f9d6f959 Revert "Add default implementation to VideoSourceInterface."
Chrome test mock has been updated so VideoSourceInterface can now be pure virtual again. This reverts commit ed8d52378c43a7a93e0d2ca586486ca06db9eabe.

R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8551}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8551 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 11:33:41 +00:00
tommi@webrtc.org
afa6d16a05 Add a ToString() method to StatsReport::Value.
This is an interface change only at this point which will be followed up by a matching change in Chromium that removes the dependency on the 'value' member variable.  Once that's been done, I'll add native support for non-string types in the Value class.

R=magjed@webrtc.org
BUG=2822

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

Cr-Commit-Position: refs/heads/master@{#8550}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8550 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 11:28:35 +00:00
magjed@webrtc.org
50b2295091 cricket::VideoFrameFactory: Don't overwrite frames in use
VideoFrameFactory has a single frame buffer that is used when scaling frames. If the previous frame is still in use, we need to allocate a new frame.

BUG=4347
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8549}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8549 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 10:04:19 +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
kjellander@webrtc.org
5cd6828ee6 Remove stale isolate files.
These two tests no longer exist, they're a part of
the rtc_unittests target.
The libjingle_unittest target is being completely removed in
https://webrtc-codereview.appspot.com/39319004/

R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8547}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8547 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-02 09:38:17 +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
73acc15c69 Revert 8538 "Reland "Fix CVO in androidvideocapturer."""
> Reland "Fix CVO in androidvideocapturer.""
> This reverts commit b8bcf8cbbf.
> after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.
> 
> The original cl was reviewed here:
> https://webrtc-codereview.appspot.com/40759004/
> 
> TBR=magjed@webrtc.org
> 
> BUG=4145
> 
> Review URL: https://webrtc-codereview.appspot.com/45409004

TBR=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8539}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8539 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 23:27:41 +00:00
perkj@webrtc.org
3a93e33c56 Reland "Fix CVO in androidvideocapturer.""
This reverts commit b8bcf8cbbf.
after I fixed a rebase mistake. The fix is the delta between patchset 1 and 2.

The original cl was reviewed here:
https://webrtc-codereview.appspot.com/40759004/

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8538}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8538 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 20:19:16 +00:00
perkj@webrtc.org
b8bcf8cbbf Revert "Fix CVO in androidvideocapturer."
This reverts commit 02ed57bf9d.
https://webrtc-codereview.appspot.com/40759004/

Reason- breaks tests after rebase.

TBR=magjed@webrtc.org

BUG=4145

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

Cr-Commit-Position: refs/heads/master@{#8537}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8537 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 19:48:15 +00:00
perkj@webrtc.org
02ed57bf9d Fix CVO in androidvideocapturer.
This add bool apply_rotation to WebrtcVideoFrame::Init and removes the need for WebrtcVideoFrame::SetRotation.

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

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

Cr-Commit-Position: refs/heads/master@{#8536}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8536 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 19:10:45 +00:00
perkj@webrtc.org
41d8fda12d VideoCapturerAndroid allocates direct buffers so that the frame buffers can be used in C++ without a copy. However byte[] array = ByteBuffer.array() seems to point to the beginning of the underlaying buffer and that is what the camera fills. But it turns out that ByteBuffer.arrayOffset() returns an offset and it seems like the pointer returned by jni->GetDirectBufferAddress(j_frame). This cl reverts back to pass the byte[] to c++ and use jni->GetByteArrayElements to get the address of the buffer.
R=glaznev@webrtc.org, magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8535}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8535 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 18:51:18 +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
21ad37528e Ensure we set the right attrib for correct shader
When using oesProgram, we still specify the yuvProgram for setting shader attributes. This should be changed to the correct shader program.

BUG=
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8533}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8533 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 18:12:20 +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
hbos@webrtc.org
f296859c83 PeerConnectionClient.createPeerConnectionClient was calling new PeerConnectionParameters and PeerConnectionClient.createPeerConnectionFactory, .createPeerConnection with invalid arguments.
This CL makes sure the project compiles, it does not ensure the parameters now used are correct!

There may be something strange going on with the build files. I was previously able to recompile the whole project despite of the incorrect code, until I changed the file and tried again.
The changes made are just so that it will compile. The code should likely be updated by someone who knows what he/she is doing.

TBR=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8526}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8526 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 12:43:41 +00:00
braveyao@webrtc.org
c68e0c9dfe Fix cpplint warning in the previous cl to peerconnection client example.
BUG=3872
TEST=Manual Test + AutoTest
R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8525}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8525 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 09:51:43 +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
pbos@webrtc.org
ea89495786 Remove {Is,Set}BlackOutput from VideoAdapter.
BUG=
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8523}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8523 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-27 08:56:42 +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
tkchin@webrtc.org
9650ab4d59 Fix case sensitivity of AppRTCDemo include dirs
BUG=4341
R=tkchin@webrtc.org

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

Patch from Vicken Simonian <vsimon@gmail.com>.

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