Commit Graph

8673 Commits

Author SHA1 Message Date
a0d11da359 Remove upper check for number of cores in VCM, I didn't find any good reasons for checking this.
BUG=2990
TEST=Manually adding a high number without any noticable change.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5645 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 15:18:45 +00:00
3e0b60f465 Switch to correct interpretation of int and float input data in audio_processing_unittest
BUG=N/A
TESTED=trybots
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5642 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 00:18:53 +00:00
17e40641b3 Add a deinterleaved float interface to AudioProcessing.
This is mainly to support the native audio format in Chrome. Although
this implementation just moves the float->int conversion under the hood,
we will transition AudioProcessing towards supporting this format
throughout.

- Add a test which verifies we get identical output with the float and
int interfaces.
- The float and int wrappers are tasked with conversion to the
AudioBuffer format. A new shared Process/Analyze method does most of
the work.
- Add a new field to the debug.proto to hold deinterleaved data.
- Add helpers to audio_utils.cc, and start using numeric_limits.
- Note that there was no performance difference between numeric_limits
and a literal value when measured on Linux using gcc or clang.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org, henrikg@webrtc.org, tommi@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5641 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 20:58:13 +00:00
7bd4a27502 VideoCaptureAndroid: don't deliver frames after stopCapture().
Because stopCapture() and onPreviewFrame() are called on different threads, and
are both synchronized, it's possible for onPreviewFrame() to commence execution
after stopCapture() has completed, causing a SEGV because the native code is no
longer prepared to accept frames.
Clarify the contract around synchronized methods in this class to hopefully
avoid similar bugs in future.

BUG=2947
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5639 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 18:17:55 +00:00
be50ab645a Including algorithm header to avoid VS2013 breakage
The header file <algorithm> must be included when std::min and std::max
are used.

R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5638 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 15:10:03 +00:00
0117d1c48c Fix compilation errors under clang 3.5.
Enables building tip-of-tree clang which introduces new warnings that
cause compilation errors in our code base (-Werror).

BUG=
R=andrew@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5630 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 16:47:03 +00:00
2bd5944144 Re-enable libjingle_peerconnection_java_unittest since bug 2952 is fixed.
This was disabled in r5598.

BUG=2960
TESTED=test passes locally and runs & passes on git try --bot=linux_baremetal
R=henrike@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5627 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 00:07:08 +00:00
9fd8d87ff5 Adds APIs for reporting pacer queuing delay.
BUG=2775
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:32:40 +00:00
56e4a05053 Remove ProcessingComponent's dependence on AudioProcessingImpl.
- Move needed accessors to AudioProcessing.
- Inject the crit directly as a dependency.
- Remove the now unneeded EchoCancellationImplWrapper.

BUG=2894
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:23:17 +00:00
f0fc72f70e Call PrintWindow for the first time of capturing to capture the window frames correctly.
This will fix artifacts on the captured window frames, especially for cmd, which
sometimes leaks glimpss of other window's content.

BUG=
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5616 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 16:43:12 +00:00
00073aafa8 Clean up CPU detection defines in SincResampler a little.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5615 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 04:12:34 +00:00
0231e801d6 Invalidate the whole screen when the frame size is changed.
Otherwise we'll compare frames of different sizes and read into invalid
memory.

BUG=https://code.google.com/p/chromium/issues/detail?id=345498
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5614 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-26 18:54:57 +00:00
2038920a2b Use scoped_ptr<T[]> in SincResampler to avoid .get()[] weirdness.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5613 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-26 18:14:54 +00:00
c0e9aebe8f Add SetConfig method to FakeNetworkPipe and to DirectTransport
This method allow the user to change the network configuration
during run-time. This is useful when testing how components react
to changing bandwidth.

BUG=2636
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-26 13:34:52 +00:00
bc1d22461b Add experimental noise suppression flag to audioproc test
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-25 16:50:22 +00:00
050892a95b Missing include in experiments.h
webrtc/typedefs.h should be included in webrtc/experiments.h since the
type uint32_t is being used and it is not indirectly included from this
file.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5607 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-25 09:17:43 +00:00
7f52a6ef2b Split the implementation of VP8Encoder|Decoder::Create into a seperated file
(vp8_factory.cc).

R=fischman@webrtc.org, marpan@google.com, marpan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-24 23:56:39 +00:00
23caa2d8d6 Fix to get total number of sent and received rtcp packets.
BUG=2638
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5601 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-24 09:27:38 +00:00
4f0801bd39 AviRecorder is missing a critical section.
BUG=2885
TEST=AUTOTEST
R=perkj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5600 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-24 09:19:36 +00:00
55fcd716f3 Disable libjingle_peerconnection_java_unittest
Broken by libjingle roll in r5590.

TBR=henrike@webrtc.org
BUG=2960
TEST=git try --bot=linux_baremetal --revision=5597

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5598 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-23 18:47:27 +00:00
33af96c5c2 Removed unused mock methods in audio_processing
TESTED=trybots,modules_unittests
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5597 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-21 23:56:05 +00:00
0f2809a5ac Add RTCP packet class.
Adds packet types: sr, rr, bye, fir.

BUG=2450
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-21 08:14:45 +00:00
c0907eff42 MIPS optimizations for AEC audio processing module
The resulting output streams obtained by testing with audioproc test application
are bit-exact with generic C code output streams.

Performance gain achieved:
- mips32 ~ 17%
- mips32r2 ~ 20%
- mipsdsp & mipsdspr2 ~ 21%

R=andrew@webrtc.org

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

Patch from Ljubomir Papuga <lpapuga@mips.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5591 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-21 00:13:31 +00:00
3f170dd309 Updated WebRTC version to 3.50
TBR= wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5589 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 22:31:07 +00:00
d617a44a4f Add an AlignedFreeDeleter and remove scoped_ptr_malloc.
- Transition scoped_ptr_mallocs to scoped_ptr.
- AlignedFreeDeleter matches Chromium's version.

TESTED=try bots
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5587 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 21:08:36 +00:00
d4d5be8781 Minor improvement in RoundToInt16 implementation.
R=andrew@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5586 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 20:55:21 +00:00
a0a6df3910 Modified overuse detection thresholds.
BUG=1577
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5585 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 17:37:37 +00:00
04a691adac Removing a variable that was never read
In NetEq4, the local variable discard_count in
PacketBuffer::DiscardOldPackets() was incremented but never read.
Removing it.

TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5584 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 15:27:00 +00:00
66061992fb ifdef the alsa code based on macro USE_X11
BUG=none
TEST=try bots
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5583 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-20 03:05:05 +00:00
78f0db4710 Fix the break caused by r5579.
TBR=tlegrand@google.com
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5581 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 23:07:31 +00:00
c2d69d3229 Resolves memcheck issue in AudioCodingModuleTest. The issue is coditional jumnp based on uninitialized variable.
BUG=2944
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5579 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 20:31:17 +00:00
97e7a640d8 Make WindowCapturerLinux handling window resize events.
We need to re-initialize the XServerPixelBuffer to the new size
when a window resize event is received.

BUG=https://code.google.com/p/chromium/issues/detail?id=339953
R=sergeyu@chromium.org, wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5578 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 17:28:41 +00:00
242102517d Added architecture for compiling under chrome NaCl.
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5577 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 13:55:02 +00:00
056287eee0 This CL separate all ACM tests with new and old implementation of ACM and NetEq. The reason is to debug an issue with failure on Android try bots. We need to see if the error only occurs with the new ACM/NetEq, or if it is a flakiness that affects both.
BUG=issue2874
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5576 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 13:45:54 +00:00
8098e07478 Add RTCP packet type counter (for getting statistics such as sent/received NACK and FIR).
Add counter to RTCP sender and RTCP receiver.
Add video api GetRtcpPacketTypes().

BUG=2638
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5575 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 11:59:02 +00:00
b7a91fa95a Removes VoERTP_RTCP::InsertExtraRTPPacket.
Reasons for removing:

- Feels like a complete hack IMHO.
- Not used by any client.
- Unclear functionality regarding time stamp, marker bit etc.
- Causes several issues in tests due to a bad design which mainly depends on the fact that this API "breaks" an ongoing data/packet flow and it complicates the threading model and creates risks for deadlock and memory corruption. Not worth trying to fix given the very unclear benefit of maintaining the API. Better to remove the API instead.
- We also see lots of TSan races and memcheck errors related to this API.

BUG=2296,2240
R=mflodman@webrtc.org, niklas.enbom@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5574 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-19 08:58:08 +00:00
e384104166 Fix DesktopAndCursorComposer not to crash
DesktopAndCursorComposer was crashing when screen/window
capturer returns a NULL frame due to an error.

BUG=crbug.com/344093
R=jiayl@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5573 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 23:26:34 +00:00
27c6980239 Move the volume quantization workaround from VoE to AGC.
Voice engine shouldn't really have to manage this. Instead, have AGC
keep track of the last input volume, so that it can avoid getting stuck
under coarsely quantized conditions.

Add a test to verify the behavior.

TESTED=unittests, and observed that AGC didn't get stuck on a MacBook
where this problem can actually occur.

R=bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5571 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 20:24:56 +00:00
00844d7bef Remove obsolete voe_unit_test.
BUG=
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5570 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 18:50:50 +00:00
c320027d6a Don't print a warning if RTPPacketHistory::SetStorePacketStatus is called
twice with the same settings.

Without this change, setting up a call with the new video API will
print a trace warning.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5566 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 14:51:00 +00:00
2086e0fbf3 Remove unnecessary warnings.
BUG=
TEST=try job
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5565 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 14:22:20 +00:00
a07923339b Remove external encryption API for VoE.
BUG=
R=henrika@webrtc.org, henrikg@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5564 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 11:27:22 +00:00
346094cb01 Incorrect overhead calculation when using FEC + RTP extension headers.
When frames are fragmented inte multiple RTP packets in order to not
exceed a maximum packet size, the header overhead calculation must
take into account that FEC redundancy packets may use more than the
12 bytes of the basic RTP header. For example, a csrc list or extension
headers may be present.

BUG=2899
R=phoglund@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-18 08:40:33 +00:00
b60346e951 Reset estimate if no frame has been seen for a certain time (to avoid large jitter if stop sending).
Add delay before start processing after a reset.

BUG=1577
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5561 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-17 19:02:15 +00:00
340746aa13 Misc small nits in NetEq
Fixing a few small things found recently. This is mostly cosmetics.

R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5558 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-17 11:37:16 +00:00
f92aaff104 AudioProcessing is not a Module.
Remove Module as the base class of AudioProcessing. The inherited
methods were all no-ops.

TBR=bjornv

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5556 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-15 04:22:49 +00:00
e2fc13e42f Refactoring common_audio/signal_processing: Removed two macros used by isac only.
Removed a macro for malloc() and one for free().  They are only used by the audio codec isac, where I replaced the macro with its implementation.
Further, the includes were updated with full paths and put in alphabetical order.

BUG=N/A
TESTED=trybots,module_tests,module_unittests
R=turaj@webrtc.org, turajs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5554 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-14 23:12:34 +00:00
9075d519a2 Adding a critical section missing in r5543.
This fixes a race caught by the linux tsan bot.

R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5551 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-14 09:45:58 +00:00
38bf249049 Initialize output_will_be_muted_.
TBR=aluebs

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5546 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-13 17:43:44 +00:00
8f690bc222 Increase overuse and normal use thresholds for Mac.
BUG=1577
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5544 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-13 14:43:18 +00:00