Commit Graph

4031 Commits

Author SHA1 Message Date
4ca7d3f9fe Replace MapWrapper with std::map<>.
MapWrapper was needed on some platforms where STL wasn't supported, we
now use std::map<> directly.

BUG=2164
TEST=trybots
R=henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4530 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 19:51:57 +00:00
0d94c2f81c Avoid acquiring VCM::_receiveCritSect during decode callback.
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.

BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
     Run libjingle_peerconnection_unittest.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4523 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:20:49 +00:00
ecbe0aa543 Added Opus stereo support
TESTED=git try
BUG=webrtc:1360
R=tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4521 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 06:48:09 +00:00
bf853f2732 Fix crash in screen capturer on Mac
BUG=crbug.com/247685
R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4518 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-10 01:30:23 +00:00
80865fd611 Don't pace out packets or generate padding when the pacer is disabled.
TEST=trybots
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4513 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 11:31:23 +00:00
2ab209ef14 Remove include_dirs from test/test.gyp.
This is a cleanup step for having root-relative includes, include_dirs shouldn't be needed anymore.

BUG=1662
R=phoglund@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4512 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:49:48 +00:00
a3b7406219 Remove unused unreferenced code in webrtc/
The code removed here are .c, .cc and .h files that are not referenced
from anywhere else. E.g. if git-grep showed no occurrence of the file
it's removed. This process was repeated until no more unreferenced
files were present.

BUG=
R=andrew@webrtc.org, henrike@webrtc.org, phoglund@webrtc.org, stefan@webrtc.org, turaj@webrtc.org, wu@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4511 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:47:51 +00:00
64799da6c6 Allowing decoding with errors, when disabling nack.
BUG=1897
R=stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4508 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:45:33 +00:00
e270331481 Fix duplicate code
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4507 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:23:48 +00:00
bd21fb5f8d Adding call to Opus PLC
NetEq will call the PLC function in Opus only to set the decoder state. The actual PLC data will not be used.

BUG=https://code.google.com/p/webrtc/issues/detail?id=1181
R=tterribe@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4504 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 11:01:07 +00:00
d177c10e2d Added logic for kSelectiveErrors to VCMJitterBuffer and corresponding unit tests.
R=marpan@google.com, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4503 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 01:12:33 +00:00
a165d9c0a4 Code formatting on files touched in r4447.
BUG=
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4500 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07 14:17:05 +00:00
401ef361ac Added configuration of max delay to ACM and NetEq
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4499 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 21:01:36 +00:00
c4e1ab515b Added Decoding with errors API to video_coding.h and removed unused DecodeError enum.
R=marpan@google.com, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4497 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 18:27:41 +00:00
0fc2558503 Add turaj@webrtc.org to NetEq owners.
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4496 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 17:07:18 +00:00
7bb5436e5d Better error treatment in NetEqImpl::InsertPacketInternal()
BUG=webrtc:1364
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4493 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:40:57 +00:00
9721db799c removed NetEq::EnableDtmf()
BUG=webrtc:1373
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:36:26 +00:00
9dba525627 * Update libjingle to 50389769.
* Together with "Add texture support for i420 video frame." from
wuchengli@chromium.org.
https://webrtc-codereview.appspot.com/1413004

RISK=P1
TESTED=try bots
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4489 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 20:36:57 +00:00
f696f253b2 Invert dependency between webrtc_utility and media_file targets to reflect reality.
BUG=2166
R=henrike@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4488 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 18:45:19 +00:00
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
2cbb429323 Remove redundant conditions key.
Gives an error when gyp is run with CHROMIUM_GYP_SYNTAX_CHECK=1.

TBR=henrike

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4478 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 20:52:54 +00:00
7df9706a01 Add one API for implementing Initial delay.
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4475 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 18:07:13 +00:00
89c674053e Adds all unittests to android NDK-APK framework.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +00:00
9162080527 Fix some chromium-style warnings in webrtc/modules/audio_processing/
BUG=163
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4472 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 11:44:11 +00:00
17758e96c5 Fix crash in DesktopRegion::Intersect().
BUG=crbug.com/266933
R=alexeypa@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4468 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 19:51:04 +00:00
a7e360e89b Removed lines preventing simultaneous kHardNack and decoding with errors. Also made changes recommended by gcl lint (with the exception of changing non-const references to pointers).
Propagated orthogonal API for decoding with errors from VideoCodingModule to VCMJitterBuffer.
Modified VCMJitterBuffer to allow three error modes: kNoErrors, kSelectiveErrors, kWithErrors.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4463 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-01 03:15:08 +00:00
8fff1f065e Merge r4394 from stable to trunk.
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.

Fixed the AGC and interface problems on the new path.

In order to make the AGC work properly, we need to cache the volume value passed
by the callback, compare it with the value returned by
shared->transmit_mixer()->CaptureLevel(). If they are the same, we need to
return 0 to indicate no volume needs changing, otherwise return the new volume.
By doing this, we avoid setting the volume all the same, which allows the users
to change the volume manually.

This patch also fixes some minor issues with the interfaces too: make the int
channel[] const, and correct the order of the input params in
channel::Demultiplex.

R=tommi@webrtc.org

BUG=[2134]
TEST=compile && manual AGC test

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4450 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:27:42 +00:00
2f84afad30 Merge r4326 from stable to trunk.
r4326 was mistakenly committed to stable, so this is to re-merge back to trunk.

Add new interface to support multiple sources in webrtc.
CaptureData() will be called by chrome with a flag |need_audio_processing| to
indicate if the data needs to be processed by APM or not. Different from the old
interface that will send the data to all voe channels, the new interface will
specify a list of voe channels that the data is demultiplexing to.

R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4449 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:23:37 +00:00
7126b38d8f Handel zero correlation if at the same time distortion is also zero.
This is the conversation I had with Henrik Lundin regarding this problem.

Me:
In Expand::AnalyseSignal() we compute correlation and distortion, then calculate the ratio of correlation to distortion. There if distortion is zero we expect that correlation to be zero. Although in practice this might be true, I suppose we rarely hit into absolutely periodic signal, but in one of the tests the assertion in line 455 of expand.cc was triggered. The distortion is computed over a shorter length of the signal, while correlation is computed over longer segments. Therefore, I guess, if the signal has just enough zeros at the beginning we can end up in situation that distortion is zero but not the correlation. Do you agree? I didn't have time to attempt to solve this, but if my line of thought is correct, we should not have that assert. Perhaps, if correlation is zero we set the ratio to 0, otherwise, ratio would be the largest value of its own type. Any thoughts?

Henrik:
I agree with you. Go ahead with your solution.

R=minyue@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4448 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 16:05:09 +00:00
2d1a55caed Add some virtual and OVERRIDEs in webrtc/modules/audio_coding/
BUG=163
TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4447 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:54:00 +00:00
e72428442d Fix some chromium-style warnings in webrtc/modules/desktop_capture/
BUG=163
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4446 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:32:43 +00:00
0193158634 Fix some chromium-style warnings in webrtc/modules/pacing/
BUG=163
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4445 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:18:19 +00:00
f3e4ceee47 Fix some chromium-style warnings in webrtc/modules/rtp_rtcp/
BUG=163
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4444 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:17:19 +00:00
8f23df51d4 Fix some chromium-style warnings in webrtc/modules/remote_bitrate_estimator/
BUG=163
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4443 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:16:52 +00:00
4fac8a4699 Fix some chromium-style warnings in webrtc/modules/bitrate_controller/
BUG=163
R=pwestin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4442 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 15:16:20 +00:00
0a4ca8f0bb Move internal aec_core defines out of header.
TBR=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4440 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-31 08:13:08 +00:00
fd7e3c52d8 Correcting Turaj's email.
TBR=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4432 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 17:25:07 +00:00
7f7162a003 Fix some chromium-style warnings in webrtc/modules/video_coding/
BUG=163
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4429 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 15:18:31 +00:00
096515b070 Fix some chromium-style warnings in webrtc/modules/audio_device/
BUG=163
R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4426 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-30 12:32:59 +00:00
d818dcb939 Sets up framework for decoding with errors: collects frame sizes (in number of packets) in JB and passes this information to VCMSessionInfo with rtt_ms as FrameData.
R=marpan@google.com, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4424 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 21:48:11 +00:00
d6134c7cfd PeerConnectionTest.java: make the test work for the bots' v4l2loopback.
- Make the test agnostic to the actual resolution used, since v4l2_file_player
  is playing a non-640x480 file (go/httfw)
- Teach DeviceInfoLinux::FillCapabilityMap() about I420 since that's what
  v4l2_file_player is feeding.

Requires https://gist.github.com/fischman/2e9a9b2efd2ad363ef82 be applied to the
v4l2loopback driver code.

BUG=1796
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4422 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 20:43:15 +00:00
7694562805 Land http://webrtc-codereview.appspot.com/1632005/
TBR=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4420 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-29 18:37:32 +00:00
f87177a757 To fix a bug in InverseFFTAndWindow() function in AECM.
It's a bufer overwritting issue, and thus Android AppRTCDemo app was broken (reported by Ami).
Tested with audioproc offline test. Bit-exact.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4415 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 23:43:33 +00:00
b6a6a24fda Updated WebRtcNsx_PrepareSpectrumNeon() in accordance with the new real FFT interface in APM. For reference, you can check https://webrtc-codereview.appspot.com/1830004/diff/92001/webrtc/modules/audio_processing/ns/nsx_core.c, line 594 "static void PrepareSpectrumC()".
Tested with audioproc. Bit exact.

R=andrew@webrtc.org, johannkoenig@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4411 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-26 16:24:34 +00:00
14c966c706 Fixes resources and data path in modules_unittests.isolate.
BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4407 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 22:44:04 +00:00
099b8c9e8e Update include paths in device_info_external.cc
TBR=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4401 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 18:41:43 +00:00
61e596fc49 Add a Config class interface to AudioProcessing for passing options.
Pass the Config down to all AudioProcessing components.

Also add an EchoCancellationImplWrapper to optionally create different
EchoCancellationImpls.

BUG=2117
TBR=turaj@webrtc.org
TESTED=git try

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4400 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 18:28:29 +00:00
8e3bbedacd Fix include path in video_capture_external.cc
Fix build error introduced in r4337

TBR=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4397 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-25 16:55:58 +00:00
fc8aaf02e1 Formalized Real 16-bit FFT for APM.
It also prepares for introducing Real 16-bit FFT Neon code from Openmax to SPL. CL https://webrtc-codereview.appspot.com/1819004/ takes care of that, but this CL is a prerequisite of that one.
Tested audioproc with an offline file. Bit exact.

R=andrew@webrtc.org, rtoy@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4390 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-24 17:38:23 +00:00
d102e66ef9 Fix ScreenCapturerLinux not to use XDamage when requested.
When moving this code to webrtc I added line "use_x_damage=true" for
debugging and forgot to remove it when landing this code, so the
capturer always tries to use XDamage.

BUG=crbug.com/263003
R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4387 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-23 20:05:42 +00:00