Commit Graph

11877 Commits

Author SHA1 Message Date
51542be8ce Introduce struct MediaConfig, with construction-time settings.
Pass it to MediaController constructor and down to WebRtcVideoEngine2
and WebRtcVoiceEngine.

Follows discussion on https://codereview.webrtc.org/1646253004/

TBR=pthatcher@webrtc.org
BUG=webrtc:5438

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

Cr-Commit-Position: refs/heads/master@{#11595}
2016-02-12 10:27:12 +00:00
d73c99cf22 Initial cleanup of cricket::VideoFrame.
Deleted GetRotation (old alias for GetVideoRotation).
Deleted CopyToBuffer.
Deleted Sizeof.
Deleted Write.
Demote CopyToPlanes to protected status.

BUG=webrtc:5426

Committed: https://crrev.com/4d575b0d4276422bdf7b595d92c57c4f0f8ce0e9
Cr-Commit-Position: refs/heads/master@{#11564}

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

Cr-Commit-Position: refs/heads/master@{#11594}
2016-02-12 09:01:15 +00:00
65c7f67f09 Fix license headers in webrtc/pc
This was not done in https://codereview.webrtc.org/1691463002/
in order to preserve Git history when moving the files.

BUG=webrtc:5419
TBR=pthatcher@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11593}
2016-02-12 08:05:07 +00:00
9b8df25c73 Move talk/session/media -> webrtc/pc
The libjingle_p2p target is renamed to rtc_pc.
The libjingle_p2p_unittest test will be renamed in a
separate follow-up CL, to make it possible to run all
trybots successfully for this CL.

BUG=webrtc:5419
R=deadbeef@webrtc.org, pthatcher@webrtc.org, tommi@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11592}
2016-02-12 05:48:10 +00:00
5ad129741c Rename webrtc/media/webrtc -> webrtc/media/engine
BUG=webrtc:5420
NOTRY=True
R=pthatcher@google.com, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11591}
2016-02-12 05:39:50 +00:00
f396f6085f Update API for Objective-C RTCPeerConnection.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11590}
2016-02-12 00:19:10 +00:00
404686a337 Use std::vector in the PayloadRouter interface.
Prevents copying a vector to a list that gets copied back to a vector,
which makes calling code a bit easier.

BUG=webrtc:5494
R=danilchap@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11589}
2016-02-11 22:37:36 +00:00
8fb3557052 rtc::Buffer: Replace an internal rtc::scoped_ptr with std::unique_ptr
We'd like to completely replace rtc::scoped_ptr with std::unique_ptr.
This is a first trial CL to see if using unique_ptr causes any
problems.

(As a side effect of removing the scoped_ptr.h include in buffer.h,
I had to fix broken includes in no less than three files.)

BUG=webrtc:5520

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

Cr-Commit-Position: refs/heads/master@{#11588}
2016-02-11 21:36:57 +00:00
9b7a289301 Roll chromium_revision 8974515..c9db86b (374881:374913)
Change log: 8974515..c9db86b
Full diff: 8974515..c9db86b

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11587}
2016-02-11 21:07:40 +00:00
af71655b68 Revert of Android: Remove VideoCapturer (patchset #2 id:20001 of https://codereview.webrtc.org/1684403002/ )
Reason for revert:
Breaks downstream compilation. Please reland in a non-breaking fashion.

Original issue's description:
> Android: Remove VideoCapturer
>
> This CL makes PeerConnectionFactory.createVideoSource() and nativeCreateVideoSource work directly with VideoCapturerAndroid instead of going via VideoCapturer. The native part is now created in nativeCreateVideoSource() instead of doing it immediately in VideoCapturerAndroid.create().
>
> BUG=webrtc:5519
> R=perkj@webrtc.org
>
> Committed: https://crrev.com/09eab315fddc3432c19d8f662f4b9360f2a58010
> Cr-Commit-Position: refs/heads/master@{#11582}

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

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

Cr-Commit-Position: refs/heads/master@{#11586}
2016-02-11 20:21:48 +00:00
73e2373af2 Fix negative shift exponent in WPDTree
BUG=webrtc:5510

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

Cr-Commit-Position: refs/heads/master@{#11585}
2016-02-11 19:03:04 +00:00
66d2481106 Fix division by zero errors in IntelligibilityEnhancer
BUG=webrtc:5509
R=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11584}
2016-02-11 18:37:23 +00:00
6ecee07bab Fixing bug in MediaStream.java that caused double disposal of track.
Also fixing an issue with the Java PeerConnection unit test.
It wasn't correctly waiting for 10 video frames to be received.

And fixed an issue with the video engine, where generated
black frames don't get any rotation.

BUG=webrtc:5128

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

Cr-Commit-Position: refs/heads/master@{#11583}
2016-02-11 17:57:29 +00:00
09eab315fd Android: Remove VideoCapturer
This CL makes PeerConnectionFactory.createVideoSource() and nativeCreateVideoSource work directly with VideoCapturerAndroid instead of going via VideoCapturer. The native part is now created in nativeCreateVideoSource() instead of doing it immediately in VideoCapturerAndroid.create().

BUG=webrtc:5519
R=perkj@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11582}
2016-02-11 17:25:18 +00:00
9f35d55c58 Added accessor and Parse function.
Create function merged into one.

BUG=webrtc:5260

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

Cr-Commit-Position: refs/heads/master@{#11581}
2016-02-11 16:19:06 +00:00
ca8352541a Move the decoder thread into VideoReceiveStream.
BUG=webrtc:5494
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11580}
2016-02-11 15:10:40 +00:00
Per
8e16e61d64 Added empty files for VideoBroadcaster so adding them don't break Chrome.
Cl where implementation is added: https://codereview.webrtc.org/1689923002/

TBR=kjellander@webrtc.org

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11579}
2016-02-11 14:57:06 +00:00
d3d8b6720a iOS: Remove MB and Goma for GYP builders.
This reverts "iOS: Add mb_type config for GYP builders."
and also removes Goma from these builders, as it will not work for WebRTC
since MB's GYP mode is hardcoded to use gyp_chromium.
MB should be working for GN since it's a stand-alone tool.

Goma doesn't work since $(goma_dir) in the JSON throws an error during
compile. So let's turn off Goma for these bots for now.

BUG=chromium:498746
NOTRY=True
TBR=smut@google.com

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

Cr-Commit-Position: refs/heads/master@{#11578}
2016-02-11 14:48:08 +00:00
67ca0e1650 Revert of Add tools/mb to setup_links.py (patchset #1 id:1 of https://codereview.webrtc.org/1692543002/ )
Reason for revert:
Doesn't solve the problem and MB is actually hardcoded to use gyp_chromium when running in GYP mode, so it's better to clean this up for now.

Original issue's description:
> Add tools/mb to setup_links.py
>
> I believe this is needed in order to setup the iOS simulator bots
> using the ios recipe module. We'll also most likely use MB in the future
> when moving over from GYP to GN (since that's the sole purpose of the tool:
> to make such a migration easier).
>
> BUG=chromium:498746
> NOTRY=True
> TBR=phoglund@webrtc.org
>
> Committed: https://crrev.com/68da769ab9579cac98fe4da7fb5da6dbb3842216
> Cr-Commit-Position: refs/heads/master@{#11575}

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

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

Cr-Commit-Position: refs/heads/master@{#11577}
2016-02-11 14:36:45 +00:00
1f7d77f60c Extract send-side ViEReceiver calls.
Removes ViEChannel hop for DeliverRtcp and GetRemoteSsrc calls.

BUG=webrtc:5494
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11576}
2016-02-11 14:30:24 +00:00
68da769ab9 Add tools/mb to setup_links.py
I believe this is needed in order to setup the iOS simulator bots
using the ios recipe module. We'll also most likely use MB in the future
when moving over from GYP to GN (since that's the sole purpose of the tool:
to make such a migration easier).

BUG=chromium:498746
NOTRY=True
TBR=phoglund@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11575}
2016-02-11 14:18:21 +00:00
4af8061e40 Roll chromium_revision 825c18d..8974515 (374845:374881)
Change log: 825c18d..8974515
Full diff: 825c18d..8974515

Changed dependencies:
* src/buildtools: e27b1f1..ef3e530
DEPS diff: 825c18d..8974515/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11574}
2016-02-11 13:43:52 +00:00
a7584c9f75 iOS: Add mb_type config for GYP builders.
Our first build that passed the configuration reading step
failed because of the $(goma_dir) variable. I compared the JSON and
the recipes between ours and the builders in chromium.mac and this was
the only thing I could easily identify, so I'm going to try it out.

Example failing build: https://build.chromium.org/p/client.webrtc.fyi/builders/iOS64%20Simulator%20Debug/builds/97

BUG=chromium:498746
NOTRY=True
TBR=smut@google.com

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

Cr-Commit-Position: refs/heads/master@{#11573}
2016-02-11 13:36:05 +00:00
569cf942c0 PRESUBMIT: Add check for JSON parse errors + fix JSON
The PRESUBMIT code is basically a stripped-down copy of the code in
Chromium's src/PRESUBMIT.py.

BUG=chromium:498746
TESTED=I verified with 'git cl presubmit' that the existing
error was found. Then I ran it again after fixing it, with
presubmit passing.
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11572}
2016-02-11 13:03:05 +00:00
8c66a00a37 Initialize VideoSendStream members in constructor.
Removes scoped_ptrs and provides clearer lifetime between objects.

BUG=webrtc:5494
R=stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11571}
2016-02-11 12:51:18 +00:00
1e01660899 Add support for rtx with h264.
BUG=chromium:500605,webrtc:5516

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

Cr-Commit-Position: refs/heads/master@{#11570}
2016-02-11 12:14:02 +00:00
07c51e3f79 Fix two UBSan warnings in NetEq
Both were related to very large jumps in RTP timestamps.

BUG=webrtc:5488

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

Cr-Commit-Position: refs/heads/master@{#11569}
2016-02-11 11:35:51 +00:00
162c3393be Revert of Make cricket::VideoCapturer implement VideoSourceInterface (patchset #14 id:300001 of https://codereview.webrtc.org/1655793003/ )
Reason for revert:
Needs to revert again unfortunately.
There are multiple implementations in Chrome of cricket::VideoCapturer.

One is ./../remoting/protocol/webrtc_video_capturer_adapter.cc...

https://build.chromium.org/p/chromium.webrtc.fyi/builders/Mac%20Builder/builds/9581/steps/compile/logs/stdio

Fun times - I will have to modify this cl after trying it manually out in Chrome.

Original issue's description:
> This cl introduce a VideoSourceInterface and let cricket::VideoCapturer implement it.
> Further more, it adds a VideoBroadcaster than is used for delivering frames to multiple sinks.
>
> BUG=webrtc:5426
> R=nisse@webrtc.org, pthatcher@webrtc.org
>
> Committed: https://crrev.com/4d19c5b010473615fa181afa84c6f4b3104e3171
> Cr-Commit-Position: refs/heads/master@{#11567}

TBR=pthatcher@google.com,nisse@webrtc.org,pthatcher@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/1690893002

Cr-Commit-Position: refs/heads/master@{#11568}
2016-02-11 10:56:41 +00:00
Per
4d19c5b010 This cl introduce a VideoSourceInterface and let cricket::VideoCapturer implement it.
Further more, it adds a VideoBroadcaster than is used for delivering frames to multiple sinks.

BUG=webrtc:5426
R=nisse@webrtc.org, pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11567}
2016-02-11 10:06:19 +00:00
f9b59c4f30 Revert of Initial cleanup of cricket::VideoFrame. (patchset #3 id:40001 of https://codereview.webrtc.org/1688643003/ )
Reason for revert:
There appears there were some uses left of cricket::VideoFrame::GetRotation (to be replaced by GetVideoRotation). Investigating.

Original issue's description:
> Initial cleanup of cricket::VideoFrame.
>
> Deleted GetRotation (old alias for GetVideoRotation).
> Deleted CopyToBuffer.
> Deleted Sizeof.
> Deleted Write.
> Demote CopyToPlanes to protected status.
>
> BUG=webrtc:5426

TBR=perkj@webrtc.org,pbos@webrtc.org,pthatcher@webrtc.org,pthatcher@google.com
# 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/1688953003

Cr-Commit-Position: refs/heads/master@{#11566}
2016-02-11 09:39:00 +00:00
4b2a5a8095 Revert of Make cricket::VideoCapturer implement VideoSourceInterface (patchset #12 id:260001 of https://codereview.webrtc.org/1655793003/ )
Reason for revert:
Somehow breaks Chromium FYI....
https://build.chromium.org/p/chromium.webrtc.fyi/builders/Win%20Builder/builds/3483/steps/compile/logs/stdio

Original issue's description:
> This cl introduce a VideoSourceInterface and let cricket::VideoCapturer implement it.
> Further more, it adds a VideoBroadcaster than is used for delivering frames to multiple sinks.
>
>
> BUG=webrtc:5426

TBR=pthatcher@google.com,nisse@webrtc.org,pthatcher@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/1687273002

Cr-Commit-Position: refs/heads/master@{#11565}
2016-02-11 09:20:24 +00:00
4d575b0d42 Initial cleanup of cricket::VideoFrame.
Deleted GetRotation (old alias for GetVideoRotation).
Deleted CopyToBuffer.
Deleted Sizeof.
Deleted Write.
Demote CopyToPlanes to protected status.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11564}
2016-02-11 09:17:42 +00:00
2f21789b4b This cl introduce a VideoSourceInterface and let cricket::VideoCapturer implement it.
Further more, it adds a VideoBroadcaster than is used for delivering frames to multiple sinks.

BUG=webrtc:5426

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

Cr-Commit-Position: refs/heads/master@{#11563}
2016-02-11 07:55:25 +00:00
43fcd57408 Roll chromium_revision afdce76..825c18d (374697:374845)
Change log: afdce76..825c18d
Full diff: afdce76..825c18d

Changed dependencies:
* src/third_party/libsrtp: 9cc4f2f..8eecac0
DEPS diff: afdce76..825c18d/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11562}
2016-02-11 04:08:15 +00:00
42d8aa77d8 Fix IntelligibilityEnhancerTest.TestRenderUpdate test
TBR=henrik.lundin@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11561}
2016-02-11 00:10:37 +00:00
4ed324da5d Roll chromium_revision b17dd83..afdce76 (374637:374697)
Change log: b17dd83..afdce76
Full diff: b17dd83..afdce76

Changed dependencies:
* src/tools/gyp: 66bbdf4..5170bfd
DEPS diff: b17dd83..afdce76/DEPS

No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11560}
2016-02-10 21:33:40 +00:00
c466badd86 Using the NS noise estimate for the IE
Review URL: https://codereview.webrtc.org/1672343002

Cr-Commit-Position: refs/heads/master@{#11559}
2016-02-10 20:03:05 +00:00
3123cbc489 Associate "score" attribute with SSIM so that future perf graphs know that an increase in SSIM should be considered an improvement.
BUG=chromium:582009

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

Cr-Commit-Position: refs/heads/master@{#11558}
2016-02-10 19:21:58 +00:00
84d1f126d3 Remove VideoFormat from WebRtcVideoEngine2.
No longer used since SendStreamFormat has been removed.

BUG=webrtc:5332
R=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11557}
2016-02-10 19:12:58 +00:00
9c6a0c7f6d Added A/V sync tests with drifting clocks.
adding 30% drift to media generator (e.g. audio frame generated every 7ms instead of promised 10ms) works fine
adding 2% drift to video ntp-timestamp-stamper makes A/V sync fail.

BUG=webrtc:5504
R=pbos@webrtc.org,stefan@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11556}
2016-02-10 18:54:52 +00:00
a75339c40d Set rtc_prefer_fixed_point to true on arm64 to match GYP
BUG=None
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11555}
2016-02-10 18:21:11 +00:00
541f1869ca Cleanup temporary files created by tests.
This CL removes some temporary files created by OptionsFileTest and
TransientFileUtilsTest.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11554}
2016-02-10 17:10:00 +00:00
448468d575 Experimental patch for adapting adaptation to CPU count on Mac.
BUG=

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

Cr-Commit-Position: refs/heads/master@{#11553}
2016-02-10 16:12:04 +00:00
b24317bfda Fix license headers in webrtc/api.
In addition to the code moved from talk/app/webrtc
there were some files in webrtc/api/objctests that still
had the libjingle license header.

BUG=webrtc:5418
TBR=tkchin@webrtc.org
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11552}
2016-02-10 15:54:53 +00:00
e2812e74fb Cleanup after talk/media move.
More work remains, but is less urgent.
webrtc/media/base/mediacommon.h could not be deleted since
the constants are used in multiple places.

BUG=webrtc:5420
TBR=pthatcher@webrtc.org

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

Cr-Commit-Position: refs/heads/master@{#11551}
2016-02-10 15:30:51 +00:00
168529559c Roll chromium_revision 8fff44b..b17dd83 (374588:374637)
Change log: 8fff44b..b17dd83
Full diff: 8fff44b..b17dd83

No dependencies changed.
No update to Clang.

TBR=

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

Cr-Commit-Position: refs/heads/master@{#11550}
2016-02-10 13:18:31 +00:00
abedbbd09a Suppress UBSan errors from iSAC
BUG=webrtc:5513
NOTRY=true

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

Cr-Commit-Position: refs/heads/master@{#11549}
2016-02-10 13:01:44 +00:00
c6344aac47 Remove java_home GYP variable from webrtc/build/common.gypi
The java_home variable is no longer used since
https://codereview.webrtc.org/1652123002 so it can be removed.
This is also needed to make it possible to roll
https://codereview.webrtc.org/1610243002/ into Chromium.

TBR=perkj@webrtc.org
BUG=webrtc:5418
NOTRY=True

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

Cr-Commit-Position: refs/heads/master@{#11548}
2016-02-10 12:27:33 +00:00
1147b75b52 Moved buffering of farend into the EchoSubtraction method.
This makes sense since the buffered data is only used by
the echo subtraction method. Furthermore, it simplifies the
upcoming modifications to the echo subtraction method since
the way the buffering is done can then be specific for the
echo subtraction implementation used.

The change is bitexact and this was verified using a fairly
extensive bitexactness suite.

BUG=

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

Cr-Commit-Position: refs/heads/master@{#11547}
2016-02-10 11:55:38 +00:00
6608d9a1aa NetEq: Fix a negative shift value
In some rare occations (very low energy signal), a shift value happened
to be negative. This is now fixed by using the WEBRTC_SPL_SHIFT_W32,
which in essence checks the sign of the number of shifts and performs a
right or left shift accordingly.

The fix reverts to how the code was written in old NetEq; see
4d363ae305/webrtc/modules/audio_coding/neteq/normal.c (165).

BUG=webrtc:5490

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

Cr-Commit-Position: refs/heads/master@{#11546}
2016-02-10 10:47:56 +00:00