30 Commits

Author SHA1 Message Date
kwiberg
ac9f876bc0 Sort #includes that got unsorted when gmock.h and gtest.h moved to webrtc/test/
gmock.h and gtest.h were moved (or rather, got wrappers so that we
could put some icky compatibility hacks in one place instead of 500)
in this CL: https://codereview.webrtc.org/2358993004/

NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2381013002
Cr-Commit-Position: refs/heads/master@{#14464}
2016-10-01 05:29:53 +00:00
kwiberg
77eab70470 Enable the -Wundef warning for clang
NOPRESUBMIT=true
BUG=webrtc:6398

Review-Url: https://codereview.webrtc.org/2358993004
Cr-Commit-Position: refs/heads/master@{#14425}
2016-09-29 00:42:08 +00:00
kwiberg
bfefb03ec1 Replace scoped_ptr with unique_ptr everywhere
But keep #including scoped_ptr.h in .h files, so as not to break
WebRTC users who expect those .h files to give them rtc::scoped_ptr.

BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1937693002
Cr-Commit-Position: refs/heads/master@{#12581}
2016-05-01 21:53:55 +00:00
Peter Boström
5811a39f14 Replace EventWrapper in video/, test/ and call/.
Makes use of rtc::Event which is simpler and can be used without
allocating additional objects on the heap.

Does not modify test/channel_transport/.

BUG=
R=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1487893004 .

Cr-Commit-Position: refs/heads/master@{#10968}
2015-12-10 12:03:00 +00:00
Peter Boström
7623ce4aeb Reland of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:300001 of https://codereview.webrtc.org/1507903005/ )
Reason for revert:
Bot breakage caused by TickTime::UseFakeClock has been removed.

Original issue's description:
> Revert of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:20001 of https://codereview.webrtc.org/1506773002/ )
>
> Reason for revert:
> Breaks Dr Memory Light https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/4643 and all the Android Tests bots.
>
> Original issue's description:
> > Merge webrtc/video_engine/ into webrtc/video/
> >
> > BUG=webrtc:1695
> > R=mflodman@webrtc.org
> >
> > Committed: https://crrev.com/03ef053202bc5d5ab43460eebf5403232f157646
> > Cr-Commit-Position: refs/heads/master@{#10926}
>
> TBR=mflodman@webrtc.org,pbos@webrtc.org
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:1695
>
> Committed: https://crrev.com/8237abf563bf4782ee104408b53cc8e55ce44518
> Cr-Commit-Position: refs/heads/master@{#10937}

BUG=webrtc:1695
TBR=mflodman@webrtc.org,kjellander@webrtc.org
NOPRESUBMIT=true

Review URL: https://codereview.webrtc.org/1510183002 .

Cr-Commit-Position: refs/heads/master@{#10948}
2015-12-09 11:13:40 +00:00
kjellander
8237abf563 Revert of Merge webrtc/video_engine/ into webrtc/video/ (patchset #2 id:20001 of https://codereview.webrtc.org/1506773002/ )
Reason for revert:
Breaks Dr Memory Light https://build.chromium.org/p/client.webrtc/builders/Win%20DrMemory%20Light/builds/4643 and all the Android Tests bots.

Original issue's description:
> Merge webrtc/video_engine/ into webrtc/video/
>
> BUG=webrtc:1695
> R=mflodman@webrtc.org
>
> Committed: https://crrev.com/03ef053202bc5d5ab43460eebf5403232f157646
> Cr-Commit-Position: refs/heads/master@{#10926}

TBR=mflodman@webrtc.org,pbos@webrtc.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:1695

Review URL: https://codereview.webrtc.org/1507903005

Cr-Commit-Position: refs/heads/master@{#10937}
2015-12-08 15:12:11 +00:00
Peter Boström
03ef053202 Merge webrtc/video_engine/ into webrtc/video/
BUG=webrtc:1695
R=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1506773002 .

Cr-Commit-Position: refs/heads/master@{#10926}
2015-12-08 08:09:07 +00:00
Henrik Kjellander
ff761fba82 modules: more interface -> include renames
This changes the following module directories:
* webrtc/modules/audio_conference_mixer/interface
* webrtc/modules/interface
* webrtc/modules/media_file/interface
* webrtc/modules/rtp_rtcp/interface
* webrtc/modules/utility/interface

To avoid breaking downstream, I followed this recipe:
1. Copy the interface dir to a new sibling directory: include
2. Update the header guards in the include directory to match the style guide.
3. Update the header guards in the interface directory to match the ones in include. This is required to avoid getting redefinitions in the not-yet-updated downstream code.
4. Add a pragma warning in the header files in the interface dir. Example:
#pragma message("WARNING: webrtc/modules/interface is DEPRECATED; "
                "use webrtc/modules/include")
5. Search for all source references to webrtc/modules/interface and update them to webrtc/modules/include (*.c*,*.h,*.mm,*.S)
6. Update all GYP+GN files. This required manual inspection since many subdirectories of webrtc/modules referenced the interface dir using ../interface etc(*.gyp*,*.gn*)

BUG=5095
TESTED=Passing compile-trybots with --clobber flag:
git cl try --clobber --bot=win_compile_rel --bot=linux_compile_rel --bot=android_compile_rel --bot=mac_compile_rel --bot=ios_rel -m tryserver.webrtc

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

Review URL: https://codereview.webrtc.org/1417683006 .

Cr-Commit-Position: refs/heads/master@{#10500}
2015-11-04 07:32:04 +00:00
Stefan Holmer
1295297153 Register header extensions in RtpRtcpObserver to avoid log spam.
BUG=webrtc:5118
R=pbos@webrtc.org

Review URL: https://codereview.webrtc.org/1416783006 .

Cr-Commit-Position: refs/heads/master@{#10450}
2015-10-29 14:13:35 +00:00
stefan
f116bd0d7a Call OnSentPacket for all packets sent in the test framework.
Required a bit of refactoring to make it possible to pass a Call to DirectTransport on construction. This also lead to me having to remove the shared lock between PacketTransport and RtpRtcpObserver. Now RtpRtcpObserver has a SetTransports method instead of a SetReceivers method.

BUG=webrtc:4173

Review URL: https://codereview.webrtc.org/1419193002

Cr-Commit-Position: refs/heads/master@{#10430}
2015-10-27 15:29:47 +00:00
stefan
1d8a506405 Add a PacketOptions struct to webrtc::Transport.
This allows us to pass packet meta data, such as transport sequence
number, to libjingle and further down to the socket implementation. A
similar struct already exist in libjingle, see rtc::PacketOptions in asyncpacketsocket.h.

BUG=4173

Review URL: https://codereview.webrtc.org/1376673004

Cr-Commit-Position: refs/heads/master@{#10144}
2015-10-02 10:39:40 +00:00
pbos
2d566686a2 Unify Transport and newapi::Transport interfaces.
BUG=webrtc:1695
R=stefan@webrtc.org
TBR=mflodman@webrtc.org

Review URL: https://codereview.webrtc.org/1369263002

Cr-Commit-Position: refs/heads/master@{#10096}
2015-09-28 16:59:36 +00:00
stefan
4fbd145dce Fix suspend below min bitrate in new API by making it possible to set min bitrate at the receive-side.
In addition to this the ramp-up tests are refactored to use a receive call instead of only a remote bitrate estimator, and to make use of BaseTest.

BUG=webrtc:4836

Review URL: https://codereview.webrtc.org/1368943002

Cr-Commit-Position: refs/heads/master@{#10087}
2015-09-28 10:57:23 +00:00
Peter Boström
f2f828374c Use rtc::CriticalSection in webrtc/video/.
Removes heap allocation from CriticalSection creation.

BUG=
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#9126}
2015-05-01 14:25:53 +00:00
kjellander@webrtc.org
14665ff7d4 Roll chromium_revision e144d30..6fdb142 (318658:318841) + remove OVERRIDE macro
Clang version changed 223108:230914
Details: e144d30..6fdb142/tools/clang/scripts/update.sh

Removes the OVERRIDE macro defined in:
* webrtc/base/common.h
* webrtc/typedefs.h

The majority of the source changes were done by running this in src/:
perl -0pi -e "s/virtual\s([^({;]*(\([^({;]*\)[^({;]*))(OVERRIDE|override)/\1override/sg" `find {talk,webrtc} -name "*.h"  -o -name "*.cc*" -o -name "*.mm*"`

which converted all:
virtual Foo() OVERRIDE
functions to:
Foo() override

Then I manually edited:
* talk/media/webrtc/fakewebrtccommon.h
* webrtc/test/fake_common.h

Remaining uses of OVERRIDE was fixed by search+replace.

Manual edits were done to fix virtual destructors that were
overriding inherited ones.

Finally a build error related to the pure virtual definitions of
Read, Write and Rewind in common_types.h required a bit of
refactoring in:
* webrtc/common_types.cc
* webrtc/common_types.h
* webrtc/system_wrappers/interface/file_wrapper.h
* webrtc/system_wrappers/source/file_impl.cc

This roll should make it possible for us to finally re-enable deadlock
detection for TSan on the buildbots.

BUG=4106
R=pbos@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8596}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8596 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-03-04 13:04:54 +00:00
kwiberg@webrtc.org
00b8f6b364 Use base/scoped_ptr.h; system_wrappers/interface/scoped_ptr.h is going away
BUG=
R=andrew@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#8517}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8517 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-26 14:43:50 +00:00
pbos@webrtc.org
d5ce2e63df Remove EventWrapper::Reset().
This simplifies the event wrapper which we've recently found issues in.
Also refactoring EndToEndTest.RespectsNetworkState to not depend on it.

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

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

Cr-Commit-Position: refs/heads/master@{#8366}
git-svn-id: http://webrtc.googlecode.com/svn/trunk@8366 4adac7df-926f-26a2-2b94-8c16560cd09d
2015-02-13 14:58:38 +00:00
pbos@webrtc.org
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
pbos@webrtc.org
994d0b7229 Refactor Call-based tests.
Greatly reduces duplication of constants and setup code for tests based
on the new webrtc::Call APIs. It also makes it significantly easier to
convert sender-only to end-to-end tests as they share more code.

BUG=3035
R=kjellander@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6551 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-27 08:47:52 +00:00
pbos@webrtc.org
de1429e9ad Add thread annotations to Call API.
Also constified a lot of pointers and reordered members to make
protected members more grouped together.

R=kjellander@webrtc.org, stefan@webrtc.org
BUG=2770

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5998 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-28 13:00:21 +00:00
pbos@webrtc.org
3349ae0cdc Implement minimum transmit bitrate.
Utilizing minimum transmission bitrate prevents low remote bitrate
estimates (bitrate estimation dips) when encoding non-complex content
such as screenshare of a static image even though there's nothing wrong
with the link.

Requires pacing to be enabled for now, pending issue 3036.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5694 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-13 12:52:27 +00:00
pbos@webrtc.org
c279a5d72c Wire up RTX in VideoReceiveStream.
Also adds a test to make sure that a retransmitted frame is actually
received and decoded on the remote side. The previous NACK test checked
retransmission, but not that the receiver actually takes care of the
retransmitted packet.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5422 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-01-24 09:30:53 +00:00
stefan@webrtc.org
faada6e604 Integrate fake_network_pipe into direct_transport.
TEST=trybots
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5321 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-18 20:28:25 +00:00
pbos@webrtc.org
13d38a13e3 Set up SSRCs correctly after switching codec.
Before SSRCs were not set up correctly, as the old VideoEngine API
doesn't support setting additional SSRCs before a codec with as many
streams are set.

No test was in place to catch this, so two tests are added to make sure
that we send the SSRCs that are set, and also that we can switch from
using one to using all SSRCs, even though initially not all of them are
set up.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5188 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-28 11:59:31 +00:00
pbos@webrtc.org
b3cc78de28 Add -Wnon-virtual-dtor warning for C++ code.
BUG=2659
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5149 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 11:42:02 +00:00
pbos@webrtc.org
27326b6a42 Rename newapi::Transport::SendRTP()->SendRtp().
Also fit rampup_tests.cc to use internal::TransportAdapter instead of
implementing its own.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5138 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 12:17:04 +00:00
stefan@webrtc.org
28bf50f0ec Fix test broken with r5128.
TBR=pbos@webrtc.org
BUG=2530

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5129 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 11:58:24 +00:00
stefan@webrtc.org
b082ade3db Hook up audio/video sync to Call.
Adds an end-to-end audio/video sync test.

BUG=2530, 2608
TEST=trybots
R=henrika@webrtc.org, mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5128 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 11:45:11 +00:00
stefan@webrtc.org
69969e2e2f Improve Call tests for RTX.
Also does some refactoring to reuse RtpRtcpObserver.

BUG=1811
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5126 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-15 12:32:15 +00:00
pbos@webrtc.org
16e03b7bd8 Separate Call API/build files from video_engine/.
BUG=2535
R=andrew@webrtc.org, mflodman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5042 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 16:32:01 +00:00