265 Commits

Author SHA1 Message Date
sakal
b0cf1a8916 Improve IP_PATTERN in DirectRTCClient in Android AppRTC Demo
Earlier, strings like "aaaa" and "1111" would be interpreted as IP
addresses, which is not optimal. This CL improves the IP_PATTERN and
adds a test for it.

Review-Url: https://codereview.webrtc.org/2009493002
Cr-Commit-Position: refs/heads/master@{#12887}
2016-05-25 09:26:29 +00:00
sakal
c00687ff5d Add an option to disable built-in AEC to AppRTC Android Demo
BUG=webrtc:5923

Review-Url: https://codereview.webrtc.org/2002093002
Cr-Commit-Position: refs/heads/master@{#12885}
2016-05-25 07:09:50 +00:00
sakal
05cdb85012 UI for AppRTC Android demo that doesn't require Design Support Library
For simplicity, this CL removes the need for Design Support Library.
UI is slightly changed for this to be possible. Floating Action Button
for adding favorite is removed and instead there's a button next to the
TextView.

Review-Url: https://codereview.webrtc.org/2003983002
Cr-Commit-Position: refs/heads/master@{#12861}
2016-05-24 07:18:18 +00:00
Honghai Zhang
da2ba4dcba Pass around the candidate removals events in IOS clients
When local candidates are removed, signal to RTCPeerConnection
and eventually send to the remote client.
When a candidate-removal message is received, notify the native PeerConnection.

BUG=
R=tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12852}
2016-05-23 18:53:26 +00:00
Stefan Holmer
9131efdb30 Read recv timestamps from socket (posix only).
This helps a lot on Android devices where the user threads can be scheduled with low priority when the app is in the background, causing spurious significantly delayed before a packet can be read from the socket. With this patch the timestamp is taken by the kernel when the packet actually arrives.

R=juberti@chromium.org
TBR=juberti@webrtc.org

BUG=webrtc:5773

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

Cr-Commit-Position: refs/heads/master@{#12850}
2016-05-23 16:19:37 +00:00
sakal
7268f28520 General cleanup on AppRTC Android Demo codebase
Review-Url: https://codereview.webrtc.org/1998483003
Cr-Commit-Position: refs/heads/master@{#12828}
2016-05-20 13:28:37 +00:00
sakal
f8312cb45a Convert LooperExecutorTest in AppRTC Demo into JUnit test
LooperExecutorTest now uses Robolectric instead of being instrumentation
test. This allows the test to be run faster and easier.

Review-Url: https://codereview.webrtc.org/1989813002
Cr-Commit-Position: refs/heads/master@{#12825}
2016-05-20 10:56:54 +00:00
sakal
2d285ca150 Remove AppRTCUtils.NonThreadSafe in AppRTC Android Demo
ThreadUtils.ThreadChecker in WebRTC does the same thing. No point in
having a duplicate implementation.

Review-Url: https://codereview.webrtc.org/1992813007
Cr-Commit-Position: refs/heads/master@{#12824}
2016-05-20 10:16:04 +00:00
sakal
7cf11476b9 Replace LooperExecutor with built-in class in Android AppRTC Demo
LooperExecutor is only truly needed in WebSocketChannelClient because of
WebSocketClient from autobanh requiring thread to have a looper. So
LooperExecutor was left there but replaced everywhere else with built-in
singleThreadExecutor/singleThreadScheduledExecutor.

Motivation behind this change is that built-in class behaves better
under testing environment and doesn't require hacky
RobolectricLooperExecutor.

Review-Url: https://codereview.webrtc.org/1992213002
Cr-Commit-Position: refs/heads/master@{#12823}
2016-05-20 09:41:08 +00:00
jansson
84f9b98450 Update AppRTCDemo AppRTC URL's on iOS to appr.tc
BUG=webrtc:5886

Review-Url: https://codereview.webrtc.org/1990903002
Cr-Commit-Position: refs/heads/master@{#12805}
2016-05-19 09:43:39 +00:00
sakal
f910ecdfc5 Add test for DirectRTCClient in AppRTC Demo for Android
Test is very simple but should test the basic sanity of the class.
Test is implemented as a JUnit test using Robolectric. Also
removed unused imports from TCPChannelClientTest.

Review-Url: https://codereview.webrtc.org/1989013003
Cr-Commit-Position: refs/heads/master@{#12804}
2016-05-19 07:00:49 +00:00
sakal
299ccdee0c Direct IP connect functionality for AppRTC Android demo.
This allows connecting between clients without using external servers, which is useful to OEMs if they are working in a network without internet connection. Implementation uses custom AppRTCClient that replaces WebSocketRTCClient if roomId looks like an IP. Instead of a web socket, this class uses direct TCP connection between peers as a signaling channel.

Review-Url: https://codereview.webrtc.org/1963053002
Cr-Commit-Position: refs/heads/master@{#12789}
2016-05-18 10:36:50 +00:00
sakal
ee3732622c JUnit test framework for AppRTC Android demo.
This allows creating tests for AppRTC Android demo that will be run on
the host machine instead of a device. These tests can mock Android APIs
through Robolectric. Because the tests are run on the host machine,
they run much faster.

BUG=webrtc:5896
NOTRY=True

Review-Url: https://codereview.webrtc.org/1985663002
Cr-Commit-Position: refs/heads/master@{#12769}
2016-05-17 10:22:38 +00:00
Sami Kalliomäki
970567cab2 Fixes a bug where AppRTC Android Demo crashes with empty roomId.
BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12759}
2016-05-16 14:24:23 +00:00
Sami Kalliomäki
57f95dcf9d New UI for AppRTC Android Demo that is easier to use and better follows
Android design guidelines.

BUG=
R=magjed@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12758}
2016-05-16 14:21:45 +00:00
kwiberg
fd8be3468a Remove webrtc/base/scoped_ptr.h
This is a re-land of https://codereview.webrtc.org/1942823002

TBR=tommi@webrtc.org
BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1966423002
Cr-Commit-Position: refs/heads/master@{#12750}
2016-05-15 02:44:18 +00:00
magjed
b9253060b8 Add magjed@ and perkj@ as webrtc/examples/ owners
NOTRY=true

Review-Url: https://codereview.webrtc.org/1969403002
Cr-Commit-Position: refs/heads/master@{#12698}
2016-05-12 10:48:26 +00:00
kwiberg
6ab3db249b Revert of Remove webrtc/base/scoped_ptr.h (patchset #3 id:100001 of https://codereview.webrtc.org/1942823002/ )
Reason for revert:
Breaks user code. Said code needs to stop using scoped_ptr!

Original issue's description:
> Remove webrtc/base/scoped_ptr.h
>
> BUG=webrtc:5520
>
> NOTRY=True
>
> Committed: https://crrev.com/65fc62e9dd8a8716db625aaef76ab92f542ecc5a
> Cr-Commit-Position: refs/heads/master@{#12684}

TBR=tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5520

Review-Url: https://codereview.webrtc.org/1965063003
Cr-Commit-Position: refs/heads/master@{#12686}
2016-05-11 12:07:33 +00:00
kwiberg
65fc62e9dd Remove webrtc/base/scoped_ptr.h
BUG=webrtc:5520

NOTRY=True

Review-Url: https://codereview.webrtc.org/1942823002
Cr-Commit-Position: refs/heads/master@{#12684}
2016-05-11 11:29:38 +00:00
kjellander@webrtc.org
aa551e66a2 Add test annotation to PeerConnectionClientTest.testLoopbackVp9DecodeToTexture test.
Adding the last test, which was missed in
https://codereview.webrtc.org/1962533002/

TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12666}
2016-05-09 17:15:24 +00:00
kjellander@webrtc.org
85d5108b0b Add test annotation to PeerConnectionClientTest.testLoopbackVp9 test.
Test annotations were added to all tests but
PeerConnectionClientTest.testLoopbackVp9 in
https://codereview.webrtc.org/1876233002.
Recent changes in the Chromium toolchain now makes
the test fail if annotations are missing.

TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12658}
2016-05-08 19:59:08 +00:00
tkchin
d251196d37 Provide isAudioEnabled flag to control audio unit.
- Also removes async invoker usage in favor of thread posting

BUG=

Review-Url: https://codereview.webrtc.org/1945563003
Cr-Commit-Position: refs/heads/master@{#12651}
2016-05-07 01:54:21 +00:00
Alex Glaznev
4f543d089e Remove Scanner usage from CPU Monitor.
TBR=wzh@webrtc.org

BUG=b/28560555

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

Cr-Commit-Position: refs/heads/master@{#12648}
2016-05-06 22:01:31 +00:00
Alex Glaznev
ef00ec1d4e Update CPU monitor to use moving averages.
And improve accuracy a little.

BUG=b/28560555
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12631}
2016-05-04 18:04:18 +00:00
Magnus Jedvert
d1d96b2508 VideoCapturerAndroid: Remove deprecated create function with egl context argument
R=glaznev@webrtc.org, perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12587}
2016-05-02 07:43:32 +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
skvlad
f3569c8a8f Added the API to create an RTCRtpSender to the Objective C wrapper.
Objective C applications can now create new RTCRtpSenders and change their tracks, which gives them more fine grained control than MediaStreams.

BUG=

Review-Url: https://codereview.webrtc.org/1888633002
Cr-Commit-Position: refs/heads/master@{#12570}
2016-04-29 22:30:24 +00:00
tkchin
9eeb6240c9 Build dynamic iOS SDK.
- Places most ObjC code into webrtc/sdk/objc instead.
- New gyp targets to build, strip and export symbols for dylib.
- Removes old script used to generate dylib.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12524}
2016-04-27 08:54:27 +00:00
jansson
dccbc5e946 Use the new appr.tc URL
BUG=none

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

Cr-Commit-Position: refs/heads/master@{#12380}
2016-04-15 14:16:19 +00:00
Peter Boström
7ace488f47 Remove field trial for scaling down MediaCodec.
This should be on everywhere.

BUG=webrtc:5678
R=glaznev@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12355}
2016-04-13 22:55:10 +00:00
kjellander
9c4fadc199 Add test annotations to AppRTCDemoTest.
After rolling in https://codereview.webrtc.org/1847963004 the AppRTCDemoTest
started running 0 tests due to https://crbug.com/601464. Adding test annotations
makes the tests being executed again.

BUG=chromium:601464
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#12325}
2016-04-12 04:27:40 +00:00
jansson
18d3d1e466 Update ice server provider response format in the Android AppRTCDemo app
BUG=None

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

Cr-Commit-Position: refs/heads/master@{#12310}
2016-04-11 09:42:20 +00:00
solenberg
0996a3a022 Add tommi@webrtc.org as OWNER of the peerconnection_client/peerconnection_server example.
BUG=webrtc:5630

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

Cr-Commit-Position: refs/heads/master@{#12271}
2016-04-06 23:25:32 +00:00
nisse
71a0c2f9a6 Deprecate GetWidth() and GetHeight() methods. Replaced by width() and height().
Delete GetChromaWidth, GetChromaHeight, and GetChromaSize.

Delete unused function VideoFrameEqual.

BUG=webrtc:5682

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

Cr-Commit-Position: refs/heads/master@{#12213}
2016-04-04 07:57:37 +00:00
tkchin
8b9ca953a4 Minor ObjC header updates.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#12183}
2016-03-31 19:08:12 +00:00
nisse
1509fa1aa9 Delete cricket::VideoRenderer.
TBR=glaznev@webrtc.org (deleting an #include in main_wnd.h)
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12101}
2016-03-23 11:06:05 +00:00
solenberg
de3185521b Add Mic Toggle button to AppRTCDemo (Android).
BUG=webrtc:5671

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

Cr-Commit-Position: refs/heads/master@{#12100}
2016-03-23 09:57:12 +00:00
Niels Möller
8f59762897 Delete VideoRendererInterface.
Use in chromium was deleted a few days ago.

BUG=webrtc:5426
R=magjed@webrtc.org, pbos@webrtc.org, perkj@webrtc.org, pthatcher@webrtc.org, tkchin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12099}
2016-03-23 09:33:19 +00:00
Tze Kwang Chin
f3cb49f3ef Refactor some ObjC API init methods.
initWithFactory: is clumsy and makes classes difficult to mock out in
tests. By keeping methods on the factory, we can simply mock out the
factory's methods instead.

We can consider adding regular Obj-C like ctors if we move to making
the factory a singleton, but that requires further discussion.

BUG=
R=haysc@webrtc.org, hjon@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12089}
2016-03-22 17:58:04 +00:00
Alex Glaznev
e56b99ed02 Update CPU Monitor to report CPU frequency and battery level.
R=wzh@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12081}
2016-03-21 23:24:48 +00:00
Tze Kwang Chin
307a0922c5 Support delayed AudioUnit initialization.
Applications can choose to decide when to give up control of the
AVAudioSession to WebRTC. Otherwise, behavior should be
unchanged.

Adds a toggle to AppRTCDemo so developers can see the different
paths.

BUG=
R=haysc@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12080}
2016-03-21 20:58:01 +00:00
perkj
9e083d2ac5 Reland of Delete empty API files and cleaned up includes. (patchset #1 id:1 of https://codereview.webrtc.org/1813083002/ )
Reason for revert:
New attempt. Cl for removing videosourceinterface.h dep in chrome is landed here: https://codereview.chromium.org/1810273003/

Original issue's description:
> Revert of Delete empty API files and cleaned up includes. (patchset #2 id:20001 of https://codereview.webrtc.org/1809053002/ )
>
> Reason for revert:
> Breaks Chromium build. Need to remove the references to the obsolete header files from Chromium and reland.
>
> Original issue's description:
> > Delete empty API files and cleaned up includes.
> >
> > TBR=glaznev@webrtc.org
> >
> > BUG=webrtc:5426
> >
> > Committed: https://crrev.com/c9022f508644dc33c01b05cb22ebfc2be145d6b2
> > Cr-Commit-Position: refs/heads/master@{#12039}
>
> TBR=nisse@webrtc.org,glaznev@webrtc.org,perkj@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:5426
>
> Committed: https://crrev.com/246b5273986d5a5b140b3d1a656baa8d40c36276
> Cr-Commit-Position: refs/heads/master@{#12042}

TBR=nisse@webrtc.org,glaznev@webrtc.org,deadbeef@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12065}
2016-03-20 16:38:44 +00:00
deadbeef
246b527398 Revert of Delete empty API files and cleaned up includes. (patchset #2 id:20001 of https://codereview.webrtc.org/1809053002/ )
Reason for revert:
Breaks Chromium build. Need to remove the references to the obsolete header files from Chromium and reland.

Original issue's description:
> Delete empty API files and cleaned up includes.
>
> TBR=glaznev@webrtc.org
>
> BUG=webrtc:5426
>
> Committed: https://crrev.com/c9022f508644dc33c01b05cb22ebfc2be145d6b2
> Cr-Commit-Position: refs/heads/master@{#12039}

TBR=nisse@webrtc.org,glaznev@webrtc.org,perkj@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12042}
2016-03-17 22:03:46 +00:00
perkj
c9022f5086 Delete empty API files and cleaned up includes.
TBR=glaznev@webrtc.org

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#12039}
2016-03-17 16:57:30 +00:00
honghaiz
8811b35960 Enable Continual gathering in apprtcdemo.
This will help test or debug the continual gathering policy.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12038}
2016-03-17 16:43:50 +00:00
kjellander@webrtc.org
94a23f04af Reland "Add check_deps rules in DEPS files."
Relanding https://codereview.webrtc.org/1796413002/
without the change to the openmax_dl include path
(which broke downstream code).

TBR=tommi@webrtc.org
BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

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

Cr-Commit-Position: refs/heads/master@{#12031}
2016-03-17 11:05:50 +00:00
solenberg
8ad582d83f Remove DeviceManager and DeviceInfo.
BUG=webrtc:5615, webrtc:5620

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

Cr-Commit-Position: refs/heads/master@{#12020}
2016-03-16 16:35:04 +00:00
kjellander
56cf60e717 Revert of Add check_deps rules in DEPS files. (patchset #2 id:60001 of https://codereview.webrtc.org/1796413002/ )
Reason for revert:
The openmax_dl include change breaks downstream projects.

Original issue's description:
> Add check_deps rules in DEPS files.
>
> Add fine-grained check_deps rules for all of WebRTC.
> This will help both maintaining sane dependencies and provides a way
> to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.
>
> Example:
> buildtools/checkdeps/graphdeps.py --root=. --format=png \
> --out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
> --excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'
>
> will produce a neat webrtc.png image showcasing the dependencies
> (according to the DEPS file) for the bitrate_controller module.
> Some dependencies are filtered out for readability.
>
> BUG=webrtc:5623
> TESTED=Passing runs using:
> buildtools/checkdeps/checkdeps.py --root=. talk
> buildtools/checkdeps/checkdeps.py --root=. webrtc
>
> R=tommi@webrtc.org
>
> Committed: https://crrev.com/086f851b7b9b4bcbd4fe507c3bf83b760bd7f4d9
> Cr-Commit-Position: refs/heads/master@{#12008}

TBR=tommi@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:5623

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

Cr-Commit-Position: refs/heads/master@{#12009}
2016-03-16 00:41:04 +00:00
kjellander@webrtc.org
086f851b7b Add check_deps rules in DEPS files.
Add fine-grained check_deps rules for all of WebRTC.
This will help both maintaining sane dependencies and provides a way
to visualize dependency graphs using the buildtools/checkdeps/graphdeps.py script.

Example:
buildtools/checkdeps/graphdeps.py --root=. --format=png \
--out=./webrtc.png --incl='^webrtc/modules/bitrate_controller->' \
--excl='chromium|base|external|testing|webrtc/test|\.h$|\.cc$'

will produce a neat webrtc.png image showcasing the dependencies
(according to the DEPS file) for the bitrate_controller module.
Some dependencies are filtered out for readability.

BUG=webrtc:5623
TESTED=Passing runs using:
buildtools/checkdeps/checkdeps.py --root=. talk
buildtools/checkdeps/checkdeps.py --root=. webrtc

R=tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#12008}
2016-03-16 00:22:53 +00:00
tkchin
e54467f73e Use RTCAudioSessionDelegateAdapter in AudioDeviceIOS.
Part 3 of refactor. Also:
- better weak pointer delegate storage + tests
- we now ignore route changes when we're interrupted
- fixed bug where preferred sample rate wasn't set if audio session
   wasn't active

BUG=

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

Cr-Commit-Position: refs/heads/master@{#12007}
2016-03-15 23:54:11 +00:00