Commit Graph

2350 Commits

Author SHA1 Message Date
bd9c0920ec Skip encoding in fake VP8 encoder.
Broke memcheck, FakeEncoder::Encode doesn't produce valid VP8 frames.

BUG=3424
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6652 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 13:21:40 +00:00
7ae9108b60 Remove more unused tsan suppressions and fix call test passing the same decoder to multiple received streams.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6651 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 10:35:12 +00:00
91f1752f2d Support VP8 encoder settings in VideoSendStream.
Stop-gap solution to support VP8 codec settings in the new API until
encoder settings can be passed on to the VideoEncoder without requiring
explicit support for the codec.

BUG=3424
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6650 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 10:13:37 +00:00
8f1512140e Refactor registerable callbacks for FrameCountObserver from rtp_rtcp module into vie_channel.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 09:39:23 +00:00
5bde66e913 audio_processing: Updates aec_core_sse2.c with changes made to aec_common.h
The change of definitions moved to aec_common.h was done in CL17839005.

BUG=3131
TBR=kwiberg@webrtc.org
TESTED=builds locally

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6648 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:09:50 +00:00
555fc78f27 Neon version of SubbandCoherence()
The performance gain on a Nexus 7 reported by audioproc is ~1.4%

The output is NOT bit exact.  Any difference seen is +-1.

BUG=3131
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6647 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:03:11 +00:00
ac800c8004 Neon version of rftbsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~4.5%

The output is bit exact.

BUG=3131
TESTED=trybots and manually
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6646 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 07:53:13 +00:00
5ac876bae0 Revert "Remove remains of WEBRTC_NO_STL." (rev 6641).
Reason breaks linux_memcheck.

TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6645 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 07:41:59 +00:00
47d1c98a4e Remove remains of WEBRTC_NO_STL.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6641 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 20:18:28 +00:00
10ef8fe611 Create FullScreenChromeWindowDetector in DesktopConfigurationOptions::CreateDefault.
BUG=crbug/385294
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6640 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 19:41:32 +00:00
7af12be781 Thread annotations for vie_encoder.cc/.h
Review URL: https://webrtc-codereview.appspot.com/8739005

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6638 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 14:46:31 +00:00
045a9b17da Remove unnecessary race suppressions copied from chromium.
And added suppressions to allow to run tests with gtest_parallel in which case some new races were showing up.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6635 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 11:44:34 +00:00
b8e9e44eac Add full stack test cases with a fake network pipe.
R=pbos@webrtc.org
BUG=1872

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 11:29:06 +00:00
b753762ce6 delay_estimator: Increases test coverage and makes input spectrum const
Noticed lack in tests verifying initial state is not left if we have zero input spectra. This CL adds such a test and change input spectra to const at affected places.

BUG=N/A
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6631 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 06:40:09 +00:00
12b4efefdd Implement a work around for Chrome full-screen tab switch on Mac.
Chrome creates a new window in full-screen and minimizes the old window when a tab is switched to full-screen.
We try to find the new window to continue capturing for window sharing.

BUG=crbug/385294
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6629 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 22:05:24 +00:00
e55641d4f7 Neon version of rftfsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~3.3%

The output is bit exact.

BUG=3131
TESTED=trybots and manually on N7
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6628 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 21:12:23 +00:00
d11bec40b2 Refactor registerable callbacks for VideoBitrateObserver from rtp_rtcp module into vie_channel.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6626 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 14:32:58 +00:00
3d7da88e06 Refactor ramp-up tests to have separate help files for the test classes, to make things more reusable.
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6625 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 13:59:46 +00:00
ecb8723402 Change Timing::WallTimeNow to be static.
There's no need to construct a Timing object to call this method.
On Windows we were unnecessarily calling CreateWaitableTimer + CloseHandle but never actually using that waitable timer.

There's otherwise no change in functionality.

R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6624 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:48:29 +00:00
62bafae661 Some refactoring inside rtp_rtcp/.
Renaming ModuleRTPUtility -> RtpUtility.
Renaming RTPHeaderParser -> RtpHeaderParser.
Making RtpHeaderParser accept size_t instead of int for packet length.
Making RtpUtility::RtpHeaderParser accept size_t for packet length.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:10:51 +00:00
241a9b0b65 Fixing compile error.
Made a mistake in https://webrtc-codereview.appspot.com/13849004/,
fixing that here.

TBR=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6622 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 11:48:37 +00:00
22292df53b Adding explicit check for using dummy file devices.
Calling into the file device factory without being compiled with file
devices makes no sense and would cause hard-to-debug errors. Therefore
I'm adding an explicit check so this isn't allowed.

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 11:39:19 +00:00
33d110d8ea Tight data race suppressions around thread_posix.
BUG=3372,3549
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 10:36:39 +00:00
af38f4e511 Extract RTP-header SSRC inline in Call.
Prevents unknown-RTP-header-extension warnings to be flooding from the
RTP-header parsing as there's no way to register RTP extensions for the
parser in Call as they're allowed to differ between RTP streams.

RTP-header parsing should instead be done separately in every
VideoReceiveStream.

BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6619 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 07:38:12 +00:00
3c637cdaa5 Clean data races from system_wrappers_unittests.
- Remove unittest_utilities that are not used.
 - Remove SetLevelFilter that does not seems necessary and anyhow was racy.

BUG=3549
R=henrike@webrtc.org, henrike

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6617 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:37:39 +00:00
285e9bc84d Fix potential deadlock in webrtc/system_wrappers/source/logging_unittest.cc.
crit_ should not be held while calling Trace.

BUG=3003
R=henrike@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6616 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 20:27:33 +00:00
5f2c81c17f webrtc/base: Fixes miss in base.gyp for windows. See https://code.google.com/p/webrtc/source/browse/trunk/talk/libjingle.gyp?r=6503#764 for the corresponding condition.
BUG=3379
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6615 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 17:42:45 +00:00
161f808500 Add test for VideoEncoder setup/teardown.
Verifies that InitEncode and RegisterEncodeCompleteCallback gets
called before Encode is called. Also verifies that teardown is correctly
done during DestroyVideoSendStream().

BUG=2339
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6613 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 14:22:35 +00:00
2bb1bdab8d Preserve RTP states for restarted VideoSendStreams.
A restarted VideoSendStream would previously be completely reset,
causing gaps in sequence numbers and potentially RTP timestamps as well.
This broke SRTP which requires fairly sequential sequence numbers.
Presumably, were this sent without SRTP, we'd still have problems on the
receiving end as the corresponding receiver is unaware of this reset.

Also adding annotation to RTPSender and addressing some unlocked
access to ssrc_, ssrc_rtx_ and rtx_.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 13:06:48 +00:00
73823cafa4 Add initial gn build files for video_coding and video_processing.
BUG=
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6611 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 11:46:43 +00:00
03c817e405 Fix pacer to accept duplicate sequence numbers on different SSRCs.
BUG=3550
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6610 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 10:20:35 +00:00
b941fe8098 Fix data races related with traces in bitrate estimator test.
BUG=3549
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6609 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 08:50:48 +00:00
bd249bc711 Remove GetDefaultConfigs() from Call.
Defaults for configs are instead placed in the Config constructors.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6608 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 04:45:15 +00:00
7832648824 Add missing break introduced in r6603.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6607 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 17:04:00 +00:00
bee164a214 Fix test issues and a win compile error introduced with r6605.
Also changes the name of a variable which has been hijacked by windef.h (included by windows.h), which forces #define near and #define far upon us. This issue was introduced via the following inclusion chain:
bwe_test_framework_unittest.cc includes
  paced_sender.h
    tick_util.h
      windows.h
        windef.h

And causes EXPECT_NEAR(foo, bar, near); to expand to EXPECT_NEAR(foo, bar,); generating a very confusing compile error.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 17:00:06 +00:00
875ad49dee Revert conversion from TickTime to int64_t in paced sender.
Introduced with r6600, causing flakes in SuspendBelowMinBitrate. The reason for this flake is currently unknown.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6605 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 15:27:55 +00:00
8faa5db992 Add pbos@webrtc.org as owner for webrtc/test/.
BUG=
R=phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6604 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 13:49:17 +00:00
b9f5453e29 Add boilerplate code for H.264.
R=mflodman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6603 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 12:42:07 +00:00
20c1f56992 Configure RTX send status on new modules.
Fixes bug where newly-allocated modules wouldn't send payload-based
padding (or probably not send over RTX at all).

As the newly-added test exposed lock-inversions shown on tsan in
VideoReceiver, VideoReceiver was thread-annotated and locks taken less.
BUG=chromium:391085
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6601 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 10:58:12 +00:00
88e0dda475 Introduces PacedVideoSender to test framework and moves the Pacer to use Clock.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6600 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 09:20:42 +00:00
614000d638 Adding pbos as video/ owner and removing persons never working with this folder.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6599 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 08:50:14 +00:00
720964faac Fix memcheck error in r6594.
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6596 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 21:14:07 +00:00
11bea8977e GN: Implement BUILD.gn for common_video.
This adds copying of Chromium's third_party/BUILD.gn
to acommondate libyuv's BUILD.gn that imports the 'jpeg'
config from that file.

BUG=3441
TEST=trybots + local compile passing with:
gn gen out/Default --args="build_with_chromium=false" && ninja -C out/Default
gn gen out/Default --args="build_with_chromium=false build_libyuv=false" && ninja -C out/Default

R=niklas.enbom@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6595 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 17:04:12 +00:00
c8364539d3 Fix for FEC decoding with sequence number wrap-around.
BUG=3507
R=stefan@webrtc.org
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6594 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 16:49:30 +00:00
69ef9911e4 delay_estimator: Allows dynamically used history sizes
Gives the user a possibility to dynamically change the history size. The main advantage is, for example, that you now can start with a wide delay range and over time decrease the search window to lower complexity.

Adds
- two new APIs.
- and updates unit tests.
- a history_size member variable to BinaryDelayEstimator.
- two help function re-allocating buffer memory.

One thing that makes this a little complicated is that you are allowed to have multiple delay estimators with the same reference, so changing the buffer sizes at one place will automatically give you a mismatch at other places.

BUG=3532, 3504
TESTED=trybots and manually
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6593 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 14:59:03 +00:00
224a140339 Make experimental NS API not purely virtual
Because not all subclasses will want to bother overriding these methods.

R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:41:39 +00:00
c0ba4392f1 common_audio: Removes macro WEBRTC_SPL_SHIFT_W16
We should avoid macros in general (see style guide). This shift macro is not a severe one, since there is a check for negativity.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6591 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:38:53 +00:00
38214d53db EchoCancellationImpl::ProcessRenderAudio: Use float samples directly
This patch lets EchoCancellationImpl::ProcessRenderAudio ask the given
AudioBuffer for float sample data directly, instead of asking for
int16 samples and then converting manually.

Since EchoCancellationImpl::ProcessRenderAudio takes a const
AudioBuffer*, it was necessary to add some const accessors for float
data to AudioBuffer.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6590 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 09:47:33 +00:00
dfdaeb92d8 Removed old code and default implementations.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6588 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 07:35:21 +00:00
9c89e932c9 WebRTCDemo: set local SSRC for loopback test, otherwise receiver would reset it due to ssrc clash, which would cause delayed remote rendering.
(Including another fix here, https://review.webrtc.org/16779004/, to make the test run)

BUG=3500
TEST=Manual Test
R=glaznev@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6587 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 05:59:22 +00:00