18527 Commits

Author SHA1 Message Date
deadbeef
77a983185f Revert of Request keyframes more frequently on stream start/decoding error. (patchset #1 id:1 of https://codereview.webrtc.org/2993793002/ )
Reason for revert:
Broke downstream test that was waiting for 5 keyframes to be received within 10 seconds. Maybe the issue is that "stats_callback_->OnCompleteFrame(frame->num_references == 0, ..." was changed to "frame->is_keyframe()"?

Original issue's description:
> Request keyframes more frequently on stream start/decoding error.
>
> In this CL:
>  - Added FrameObject::is_keyframe() convinience function.
>  - Moved logic to request keyframes on decoding error from VideoReceived to
>    VideoReceiveStream.
>  - Added keyframe_required as a parameter to FrameBuffer::NextFrame.
>
> BUG=webrtc:8074
>
> Review-Url: https://codereview.webrtc.org/2993793002
> Cr-Commit-Position: refs/heads/master@{#19280}
> Committed: 26b4804358

TBR=terelius@webrtc.org,stefan@webrtc.org,noahric@chromium.org,philipel@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:8074

Review-Url: https://codereview.webrtc.org/2994043002
Cr-Commit-Position: refs/heads/master@{#19295}
2017-08-09 22:55:41 +00:00
zstein
03adb7c6dc objc wrapper for PeerConnection::SetBitrate
BUG=webrtc:7395

Review-Url: https://codereview.webrtc.org/2877933004
Cr-Commit-Position: refs/heads/master@{#19294}
2017-08-09 21:29:42 +00:00
buildbot
e5f8323711 Roll chromium_revision 25e65f0db2..8cd3b9f938 (492998:493075)
Change log: 25e65f0db2..8cd3b9f938
Full diff: 25e65f0db2..8cd3b9f938

Changed dependencies:
* src/base: cad33a8912..be731c9216
* src/build: 220748ca2c..4ad0f20d5a
* src/ios: db81b29d60..5327922376
* src/testing: c936071066..07bee3a59d
* src/third_party: ef7656f82f..0aca368632
* src/third_party/catapult: 1a1b45a572..868342d854
* src/third_party/libvpx/source/libvpx: c22b17dcef..cbb83ba4aa
* src/tools: 8f979f3825..c6359659c9
DEPS diff: 25e65f0db2..8cd3b9f938/DEPS

No update to Clang.

TBR=marpan@webrtc.org,
BUG=None

Review-Url: https://codereview.webrtc.org/2996763002
Cr-Commit-Position: refs/heads/master@{#19293}
2017-08-09 19:34:23 +00:00
brucedawson
452ea0d4d9 Workaround VC++ 2017 template bug
When compiling webrtc's call.cc with VC++ 2017 (is_clang = false) the
following compile error occurs:

sequence_number_util.h(90): error C2672: 'rtc::SafeLt': no matching
overloaded function found
note: see reference to class template instantiation
'webrtc::SeqNumUnwrapper<T,M>' being compiled

This error is not associated with any particular instantiation of
SeqNumUnwrapper (there isn't one) and this undefined nature of 'T' seems
to be what confuses the compiler. When it tries to locate SafeLt for an
undefined type 'T' it gets confused.

SafeLt is unnecessary in this context and changing it to use the '<'
operator directly avoids the problem.

The bug has been reported to Microsoft.

BUG=chromium:753488

Review-Url: https://codereview.webrtc.org/2997623002
Cr-Commit-Position: refs/heads/master@{#19292}
2017-08-09 17:00:11 +00:00
buildbot
ac7edaab8a Roll chromium_revision 3a490d6e5c..25e65f0db2 (492956:492998)
Change log: 3a490d6e5c..25e65f0db2
Full diff: 3a490d6e5c..25e65f0db2

Changed dependencies:
* src/base: bd80c7cd7f..cad33a8912
* src/ios: 161443f550..db81b29d60
* src/testing: fd0aa790dc..c936071066
* src/third_party: 623e61cb17..ef7656f82f
* src/third_party/catapult: 9d0d9fc455..1a1b45a572
* src/tools: 403a7e2d45..8f979f3825
DEPS diff: 3a490d6e5c..25e65f0db2/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2993343002
Cr-Commit-Position: refs/heads/master@{#19291}
2017-08-09 16:43:20 +00:00
deadbeef
7a24688f6f Adding comments explaining Java createSender and setTrack methods.
This has been a frequent source of confusion, especially since the
method names don't match anything in the standard exactly.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2994733002
Cr-Commit-Position: refs/heads/master@{#19290}
2017-08-09 15:40:10 +00:00
stefan
8497fdde43 Add functionality which limits the number of bytes on the network.
The limit is based on the bandwidth delay product, but also adds some additional slack to compensate for the sawtooth-like BWE pattern and the slowness of the encoder rate control. The delay is estimated based on the time from sending a packet until an ack is received. Since acks are received in bursts (feedback is only sent periodically), a min filter is used to estimate the rtt.

Whenever the in flight bytes reaches the congestion window, the pacer is paused, which in turn will result in send-side queues growing. Eventually the encoders will be paused as the pacer queue grows large (currently 2 seconds).

BUG=webrtc:7926

Review-Url: https://codereview.webrtc.org/2918323002
Cr-Commit-Position: refs/heads/master@{#19289}
2017-08-09 14:17:33 +00:00
buildbot
cac3ccc2de Roll chromium_revision 8fdcb934ee..3a490d6e5c (492714:492956)
Change log: 8fdcb934ee..3a490d6e5c
Full diff: 8fdcb934ee..3a490d6e5c

Changed dependencies:
* src/base: 03478efbcf..bd80c7cd7f
* src/build: c77c64e863..220748ca2c
* src/ios: c50724698f..161443f550
* src/testing: d367aa6305..fd0aa790dc
* src/third_party: 2daaafbee8..623e61cb17
* src/third_party/catapult: 6065b9274f..9d0d9fc455
* src/tools: 28ae9e65e5..403a7e2d45
DEPS diff: 8fdcb934ee..3a490d6e5c/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2995653002
Cr-Commit-Position: refs/heads/master@{#19288}
2017-08-09 13:55:42 +00:00
sprang
db2a9fc6ec Wire up RTP keep-alive in ortc api.
[This CL is work in progress.]

Wire up the rtp keep-alive in webrtc::Call::Config using new
SetRtpTransportParameters() method on RtpTransportInterface.

BUG=webrtc:7907

Review-Url: https://codereview.webrtc.org/2981513002
Cr-Commit-Position: refs/heads/master@{#19287}
2017-08-09 13:42:32 +00:00
srte
3e69e5c2c0 Renamed fields in rtp_rtcp_defines.h/RTCPReportBlock
Continues on https://codereview.webrtc.org/2992043002

BUG=webrtc:8033

Review-Url: https://codereview.webrtc.org/2994633002
Cr-Commit-Position: refs/heads/master@{#19286}
2017-08-09 13:13:45 +00:00
gustavogb
f1e08d0b58 Fix the video buffer size should take rtt into consideration
BUG=webrtc:8010

Review-Url: https://codereview.webrtc.org/2980413002
Cr-Commit-Position: refs/heads/master@{#19285}
2017-08-09 12:43:08 +00:00
sakal
5ca60cc91c Implement AndroidVideoBuffer::ToI420.
BUG=webrtc:7749, webrtc:7760

Review-Url: https://codereview.webrtc.org/2991633002
Cr-Commit-Position: refs/heads/master@{#19284}
2017-08-09 12:25:49 +00:00
mbonadei
e9a40732f5 Adding desugar as a dependency on android
BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2999713002
Cr-Commit-Position: refs/heads/master@{#19283}
2017-08-09 11:53:18 +00:00
Gustavo Garcia
eb94436b38 Modify VP8 RTP to always use 2 bytes for picture Id
Bug: webrtc:7877
Change-Id: Ic40a7e142918399d05d02e8858313fe9b62d042b
Reviewed-on: https://chromium-review.googlesource.com/596967
Reviewed-by: Danil Chapovalov <danilchap@webrtc.org>
Commit-Queue: Danil Chapovalov <danilchap@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#19282}
2017-08-09 11:17:48 +00:00
sakal
5a2c2b3c35 Remove maximum frametime to allow the camera to adjust based on the lighting conditions.
BUG=webrtc:7777

Review-Url: https://codereview.webrtc.org/2998683002
Cr-Commit-Position: refs/heads/master@{#19281}
2017-08-09 11:10:59 +00:00
philipel
26b4804358 Request keyframes more frequently on stream start/decoding error.
In this CL:
 - Added FrameObject::is_keyframe() convinience function.
 - Moved logic to request keyframes on decoding error from VideoReceived to
   VideoReceiveStream.
 - Added keyframe_required as a parameter to FrameBuffer::NextFrame.

BUG=webrtc:8074

Review-Url: https://codereview.webrtc.org/2993793002
Cr-Commit-Position: refs/heads/master@{#19280}
2017-08-09 10:33:59 +00:00
eladalon
445f1a1535 nit: Order CallTest's methods in the .cc according to their order in the .h file.
BUG=None

Review-Url: https://codereview.webrtc.org/2965373002
Cr-Commit-Position: refs/heads/master@{#19279}
2017-08-09 08:52:36 +00:00
deadbeef
3af63b0dc9 Fixing race between ~AsyncInvoker and ~AsyncClosure, using ref-counting.
The AsyncInvoker destructor waits for all invoked tasks to be complete
(in other words, all AsyncClosures to be destructed). They were using an
event to wake up the destructor, but a race made it possible for this
event to be dereferenced after it's destroyed.

This CL makes the event reference counted, such that if the destructor
runs right after AsyncClosure decrements "pending_invocations_",
setting the event will be a no-op, and the event will be destructed
in the AsyncClosure destructor.

This CL also fixes a deadlock that may occur for "re-entrant"
invocations. The deadlock occurs if the AsyncInvoker is destroyed on
thread A while a task on thread B is running, which AsyncInvokes a task
back on thread A.

This was causing pending_invocations_ to end up negative, because
an AsyncClosure that's never added to a thread's message queue (due to
the "destroying_" flag) caused the count to be decremented but not
incremented.

BUG=webrtc:7656

Review-Url: https://codereview.webrtc.org/2885143005
Cr-Commit-Position: refs/heads/master@{#19278}
2017-08-09 00:59:47 +00:00
qiangchen
42f96d53f3 Add Android Camera To Unity Plugin
The existing unity plugin (an example in webrtc codebase) does not support camera access on Android platform. This CL implements such functionality.

TBR=gyzhou@chromium.org

BUG=webrtc:8067

Review-Url: https://codereview.webrtc.org/2993273002
Cr-Commit-Position: refs/heads/master@{#19277}
2017-08-09 00:08:03 +00:00
braveyao
b2b803cb74 desktopCapture: minimized window shouldn't be treated as on-top on Win10
During window capture on Windows 10, if the selected window is minimized,
ShouldUseScreenCapturer() still thinks it's on top and continue to do a
screencapture which is meaningless.
This cl will set |.is_top_window| with false to minimized window,then we
can skip doing any capture to it.

BUG=chromium:568835

Review-Url: https://codereview.webrtc.org/2997493002
Cr-Commit-Position: refs/heads/master@{#19276}
2017-08-08 20:30:01 +00:00
buildbot
793fc2affa Roll chromium_revision 53b8036516..8fdcb934ee (492637:492714)
Change log: 53b8036516..8fdcb934ee
Full diff: 53b8036516..8fdcb934ee

Changed dependencies:
* src/base: a61aee0ab6..03478efbcf
* src/build: 0e747a989a..c77c64e863
* src/ios: cdff1f09b1..c50724698f
* src/testing: e52338f683..d367aa6305
* src/third_party: 34bf63fd76..2daaafbee8
* src/third_party/catapult: a1a4adff33..6065b9274f
* src/tools: bfc31b778d..28ae9e65e5
DEPS diff: 53b8036516..8fdcb934ee/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/3000553002
Cr-Commit-Position: refs/heads/master@{#19275}
2017-08-08 19:39:48 +00:00
agrieve
26622d3ff8 Audit of kConstants missing the const qualifier
Found via supersize query:
size_info.symbols.WhereFullNameMatches(r'\bk[A-Z]').WhereInSection('d')

This moves 90 symbols from .data -> .data.rel.ro (5.50kb)

BUG=chromium:747064

Review-Url: https://codereview.webrtc.org/2986163002
Cr-Commit-Position: refs/heads/master@{#19274}
2017-08-08 17:48:15 +00:00
zijiehe
f50fda9534 Ignore invalid mouse cursor image
A crash has been randomly detected across different versions. The NSImage
crashes the binary in its lockFocusFlipped() function. The suspicious issue is
that NSCursor::image() returns an invalid NSImage.

BUG=chromium:752036

Review-Url: https://codereview.webrtc.org/2993173003
Cr-Commit-Position: refs/heads/master@{#19273}
2017-08-08 17:35:11 +00:00
buildbot
1921bea4de Roll chromium_revision 6789f83945..53b8036516 (492603:492637)
Change log: 6789f83945..53b8036516
Full diff: 6789f83945..53b8036516

Changed dependencies:
* src/base: 0a0963b1f3..a61aee0ab6
* src/ios: 16259cd3da..cdff1f09b1
* src/testing: 8c59ae25eb..e52338f683
* src/third_party: 73b80e6e4b..34bf63fd76
* src/tools: 85685ddc28..bfc31b778d
DEPS diff: 6789f83945..53b8036516/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2998593003
Cr-Commit-Position: refs/heads/master@{#19272}
2017-08-08 16:14:20 +00:00
brandtr
07734a5995 Move ownership of webrtc::VideoCodec into TestConfig.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2995603002
Cr-Commit-Position: refs/heads/master@{#19271}
2017-08-08 15:35:53 +00:00
stefan
d7a418f93a Add an experiment for stricter pacing and ALR probing.
BUG=webrtc:8072

Review-Url: https://codereview.webrtc.org/2994623002
Cr-Commit-Position: refs/heads/master@{#19270}
2017-08-08 13:51:05 +00:00
buildbot
cf189c60d2 Roll chromium_revision ac04325a74..6789f83945 (492577:492603)
Change log: ac04325a74..6789f83945
Full diff: ac04325a74..6789f83945

Changed dependencies:
* src/base: a3015b8d15..0a0963b1f3
* src/ios: af108b6153..16259cd3da
* src/third_party: ef11a289c0..73b80e6e4b
* src/third_party/catapult: f216fdb54f..a1a4adff33
* src/tools: fa7e653e61..85685ddc28
DEPS diff: ac04325a74..6789f83945/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2993263002
Cr-Commit-Position: refs/heads/master@{#19269}
2017-08-08 13:44:54 +00:00
philipel
bb992e7159 Remove temporary VP9 pid/tl0 jump fix.
Earlier the pid/tl0 was incorrectly reinitialized upon encoder reconfiguration,
and this fix was implemented to mitigate that. This fix can however guess wrong
and cause a valid stream to be interupted.

BUG=webrtc:7920

Review-Url: https://codereview.webrtc.org/2969043002
Cr-Commit-Position: refs/heads/master@{#19268}
2017-08-08 13:18:56 +00:00
terelius
007d56229a Use default header extension map in rtc_event_log2text
Use defaults if the header extension map is missing from the config.

BUG=webrtc:6399

Review-Url: https://codereview.webrtc.org/2983283002
Cr-Commit-Position: refs/heads/master@{#19267}
2017-08-08 12:40:26 +00:00
buildbot
fe6d9ff891 Roll chromium_revision 034f09fb84..ac04325a74 (492556:492577)
Change log: 034f09fb84..ac04325a74
Full diff: 034f09fb84..ac04325a74

Changed dependencies:
* src/ios: 396453255b..af108b6153
* src/testing: 2ac626fe1d..8c59ae25eb
* src/third_party: 2429fc588b..ef11a289c0
* src/tools: eb0ff3f229..fa7e653e61
DEPS diff: 034f09fb84..ac04325a74/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2995613002
Cr-Commit-Position: refs/heads/master@{#19266}
2017-08-08 10:27:11 +00:00
buildbot
1cfa776ad5 Roll chromium_revision 485aca9051..034f09fb84 (492475:492556)
Change log: 485aca9051..034f09fb84
Full diff: 485aca9051..034f09fb84

Changed dependencies:
* src/base: fa5f3b1fee..a3015b8d15
* src/build: 4c0f95ff7a..0e747a989a
* src/ios: 27ee5a14f0..396453255b
* src/testing: 445f5e7937..2ac626fe1d
* src/third_party: 28176a6909..2429fc588b
* src/third_party/catapult: 33a9271eb3..f216fdb54f
* src/third_party/ffmpeg: bcaa258587..dbbdb1680b
* src/tools: 394917323e..eb0ff3f229
DEPS diff: 485aca9051..034f09fb84/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2998613002
Cr-Commit-Position: refs/heads/master@{#19265}
2017-08-08 07:33:39 +00:00
buildbot
2f1d4ac8ab Roll chromium_revision d28935b11f..485aca9051 (492424:492475)
Change log: d28935b11f..485aca9051
Full diff: d28935b11f..485aca9051

Changed dependencies:
* src/base: ea212b16c5..fa5f3b1fee
* src/build: 31f9b47aba..4c0f95ff7a
* src/ios: a42e866dda..27ee5a14f0
* src/testing: 6c15aa6a6a..445f5e7937
* src/third_party: c47cfc867e..28176a6909
* src/third_party/icu: 1fec0c83e9..98218d1e92
* src/tools: 822161a4de..394917323e
* src/tools/swarming_client: a56c2b39ca..42721e128d
DEPS diff: d28935b11f..485aca9051/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/3000443002
Cr-Commit-Position: refs/heads/master@{#19264}
2017-08-08 01:58:01 +00:00
Zijie He
b010a3242b Implement WindowUnderPoint() for Mac OSX and Windows
WindowUnderPoint() is a platform independent function to return the id of the
first window in z-order under a certain DesktopVector. It equals to
GetAncestor(WindowFromPoint(point), GA_ROOT)
on Windows.

This CL includes the change to Windows / Mac OSX only to control the size in a
reasonable range. Implementation for Linux will be added in a coming change.

Bug: webrtc:7950
Change-Id: I57e423294fc8aeaa12d05cb626a1912240b2d4d0
Reviewed-on: https://chromium-review.googlesource.com/595022
Commit-Queue: Zijie He <zijiehe@chromium.org>
Reviewed-by: Jamie Walch <jamiewalch@chromium.org>
Cr-Commit-Position: refs/heads/master@{#19263}
2017-08-08 01:30:38 +00:00
buildbot
3ac7b1edb7 Roll chromium_revision 761258229d..d28935b11f (492371:492424)
Change log: 761258229d..d28935b11f
Full diff: 761258229d..d28935b11f

Changed dependencies:
* src/base: d36d8a1d92..ea212b16c5
* src/build: a24caab3bb..31f9b47aba
* src/ios: ada794af54..a42e866dda
* src/testing: 50c58e8d4c..6c15aa6a6a
* src/third_party: a44e03102e..c47cfc867e
* src/tools: 9a005ffc36..822161a4de
DEPS diff: 761258229d..d28935b11f/DEPS

No update to Clang.

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2993213002
Cr-Commit-Position: refs/heads/master@{#19262}
2017-08-07 23:38:54 +00:00
buildbot
1b20dc4685 Roll chromium_revision 90a73c37c4..761258229d (491751:492371)
Change log: 90a73c37c4..761258229d
Full diff: 90a73c37c4..761258229d

Changed dependencies:
* src/base: 2d35e4db33..d36d8a1d92
* src/build: 6a89d4e8a6..a24caab3bb
* src/buildtools: 275b8c4816..f4bcb07d88
* src/ios: 0b47b862b0..ada794af54
* src/testing: d53e1530b7..50c58e8d4c
* src/third_party: 080716c2d3..a44e03102e
* src/third_party/catapult: 2857b6b6c8..33a9271eb3
* src/third_party/libyuv: 56022ef77f..27036e33e8
* src/third_party/usrsctp/usrsctplib: 2f6478eb8d..f4819e1b17
* src/tools: e511107f86..9a005ffc36
DEPS diff: 90a73c37c4..761258229d/DEPS

Clang version changed 308728:309984
Details: 90a73c37c4..761258229d/tools/clang/scripts/update.py

TBR=
BUG=None

Review-Url: https://codereview.webrtc.org/2993183002
Cr-Commit-Position: refs/heads/master@{#19261}
2017-08-07 19:55:14 +00:00
ehmaldonado
81cf5bbff9 Reland of move linux_internal from the autoroller CQ. (patchset #1 id:1 of https://codereview.webrtc.org/2990233002/ )
Reason for revert:
linux_internal buildbucket is broken

Original issue's description:
> Revert of Remove linux_internal from the autoroller CQ. (patchset #1 id:1 of https://codereview.webrtc.org/2985933002/ )
>
> Reason for revert:
> linux_internal now checks that the CL is authored by a googler before executing the tests
>
> Original issue's description:
> > Remove linux_internal from the autoroller CQ.
> >
> > The CQ no longer has permission to schedule builds in linux_internal.
> >
> > NOTRY=True
> > TBR=kjellander@webrtc.org
> > BUG=None
> >
> > Review-Url: https://codereview.webrtc.org/2985933002
> > Cr-Commit-Position: refs/heads/master@{#19178}
> > Committed: 5ba9730265
>
> TBR=mbonadei@webrtc.org,kjellander@webrtc.org,nodir@chromium.org
> BUG=None
> NOTRY=True
>
> Review-Url: https://codereview.webrtc.org/2990233002
> Cr-Commit-Position: refs/heads/master@{#19240}
> Committed: 367aaa7ca5

TBR=mbonadei@webrtc.org,kjellander@webrtc.org,nodir@chromium.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=None

Review-Url: https://codereview.webrtc.org/2997523002
Cr-Commit-Position: refs/heads/master@{#19260}
2017-08-07 18:39:10 +00:00
deadbeef
6327b6491e Adding deadbeef@ as owner of Objc-C PeerConnection-related headers.
deadbeef@'s team in Kirkland works on the C++ PeerConnection
implementation, and often makes changes to the Java/Obj-C binding code
as new features are added. But the general Obj-C/Android owners are in
Stockholm. So adding deadbeef@ as an owner of this code should help
expedite code reviews for simple API changes.

BUG=None
NOTRY=True

Review-Url: https://codereview.webrtc.org/2998443002
Cr-Commit-Position: refs/heads/master@{#19259}
2017-08-07 17:00:42 +00:00
ehmaldonado
62ad60561b Whitespace change.
NOTRY=True
TBR=kjelander@webrtc.org
BUG=None

Review-Url: https://codereview.webrtc.org/2994703002
Cr-Commit-Position: refs/heads/master@{#19258}
2017-08-07 15:52:12 +00:00
brandtr
c287c80781 Remove source file writer from VideoProcessor.
It serves a very limited purpose: converting from the input YUV
file to an output Y4M file. The experimenter can do this manually,
if this is of interest. (It is generally not.)

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2993063002
Cr-Commit-Position: refs/heads/master@{#19257}
2017-08-07 15:30:43 +00:00
brandtr
c409552052 Remove VideoProcessor interface.
BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2994613002
Cr-Commit-Position: refs/heads/master@{#19256}
2017-08-07 15:12:33 +00:00
magjed
73c0eb5014 ObjC: Implement HW codecs in ObjC instead of C++
The current ObjC HW encoder is implemented as a C++
webrtc::VideoEncoder. We then wrap it two times in the following way:
webrtc::VideoEncoder -> RTCVideoEncoder -> webrtc::VideoEncoder.
This was originally done to minimize the code diff when landing the
injectable encoder.

This CL removes the first wrapping and implements the ObjC HW encoder
as a RTCVideoEncoder directly. Similarly, the decoder is implemented
as a RTCVideoDecoder directly.

Based on andersc@ CL: https://codereview.webrtc.org/2978623002/.

BUG=webrtc:7924

Review-Url: https://codereview.webrtc.org/2987413002
Cr-Commit-Position: refs/heads/master@{#19255}
2017-08-07 13:55:28 +00:00
brandtr
bea36fdee8 Minor improvements to VideoProcessor and corresponding test.
- Make all overridden methods of VideoProcessorImpl public,
  in preparation of the removal of the VideoProcessor interface.
- Place corresponding method definitions in correct order
  in .cc file.
- Harmonize the stdout printing.
- Make timestamp calculations adhere to set frame rate.

Except for the last bullet, these changes should not lead to
different functionality.

BUG=webrtc:6634

Review-Url: https://codereview.webrtc.org/2995513002
Cr-Commit-Position: refs/heads/master@{#19254}
2017-08-07 10:36:54 +00:00
brandtr
669ea1917e Rename WEBRTC_VIDEOPROCESSOR_H264_TESTS define to WEBRTC_USE_H264.
This is the name used in other parts of the code.

BUG=none

Review-Url: https://codereview.webrtc.org/2996463003
Cr-Commit-Position: refs/heads/master@{#19253}
2017-08-07 10:35:13 +00:00
asapersson
60dfbdbf75 Remove unused members in MediaOptimization.
BUG=none

Review-Url: https://codereview.webrtc.org/2993703002
Cr-Commit-Position: refs/heads/master@{#19252}
2017-08-07 07:03:03 +00:00
deadbeef
5c3c104ba0 Make Port (and subclasses) fully "Network"-based, instead of IP-based.
For ICE, we want sockets that are bound to specific network interfaces,
rather than to specific IP addresses. So, a while ago, we added a
"Network" class that gets passed into the Port constructor, in
addition to the IP address as before.

But we never finished the job of removing the IP address field, such that
a Port only guarantees something about the network interface it's
associated with, and not the specific IP address it ends up with.

This CL does that, and as a consequence, if a port ends up bound to
an IP address other than the "best" one (returned by Network::GetBestIP),
this *won't* be treated as an error.

This is relevant to Android, where even though we pass an IP address
into "Bind" as a way of identifying the network, the socket actually
gets bound using "android_setsocknetwork", which doesn't provide any
guarantees about the IP address. So, if a network interface has multiple
IPv6 addresses (for instance), we may not correctly predict the one
the OS will choose, and that's ok.

This CL also moves "SetAlternateLocalAddress" from VirtualSocket to
VirtualSocketServer, which makes for much more readable test code.

The next step, if there is one, is to pass along the Network class all
the way to SocketServer::Bind. Then the socket server could do smart
things with the network information. We could even stick a platform-
specific network handle in the Network object, such that the socket
server could use it for the binding, or for "sendmsg", for example.
See bug 7026 for more context about the sendmsg idea.

BUG=webrtc:7715

Review-Url: https://codereview.webrtc.org/2989303002
Cr-Commit-Position: refs/heads/master@{#19251}
2017-08-04 22:01:57 +00:00
kthelgason
d48f56de1f Destroy compression session instead of reset it on release.
This will prevent one extra initialization of the encoder each time
it's recreated.

BUG=None

Review-Url: https://codereview.webrtc.org/2992233002
Cr-Commit-Position: refs/heads/master@{#19250}
2017-08-04 17:18:43 +00:00
philipel
227f8b9be8 Reland of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #1 id:1 of https://codereview.chromium.org/2990183002/ )
Reason for revert:
Revert to create fix CL.

Original issue's description:
> Revert of Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame. (patchset #5 id:80001 of https://codereview.chromium.org/2993513002/ )
>
> Reason for revert:
> Break performance bots.
>
> Original issue's description:
> > Fix off-by-one bugs in video_coding::PacketBuffer when the buffer is filled with a single frame.
> >
> > BUG=webrtc:8028
> >
> > Review-Url: https://codereview.webrtc.org/2993513002
> > Cr-Commit-Position: refs/heads/master@{#19209}
> > Committed: ee13e8919c
>
> TBR=stefan@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:8028
>
> Review-Url: https://codereview.webrtc.org/2990183002
> Cr-Commit-Position: refs/heads/master@{#19211}
> Committed: c18f1d7c94

TBR=stefan@webrtc.org
# Not skipping CQ checks because original CL landed more than 1 days ago.
BUG=webrtc:8028
TBR=stefan@webrtc.org

Review-Url: https://codereview.webrtc.org/2989313003
Cr-Commit-Position: refs/heads/master@{#19249}
2017-08-04 13:39:31 +00:00
eladalon
5daecca41b Reland of SSRC and RSID may only refer to one sink each in RtpDemuxer (patchset #1 id:1 of https://codereview.webrtc.org/2993633002/ )
Reason for revert:
Relanding

Original issue's description:
> Revert of SSRC and RSID may only refer to one sink each in RtpDemuxer (patchset #15 id:280001 of https://codereview.webrtc.org/2968693002/ )
>
> Reason for revert:
> Some internal tests keep failing after this change. Try to fix it by reverting it. Will reland it if this isn't the root cause.
>
> Original issue's description:
> > SSRC and RSID may only refer to one sink each in RtpDemuxer
> >
> > RTP demuxing should only match RTP packets with one sink.
> >
> > BUG=webrtc:7135
> >
> > Review-Url: https://codereview.webrtc.org/2968693002
> > Cr-Commit-Position: refs/heads/master@{#19233}
> > Committed: 7b7e06fd23
>
> TBR=nisse@webrtc.org,danilchap@webrtc.org,perkj@webrtc.org,stefan@webrtc.org,holmer@google.com,deadbeef@webrtc.org,pthatcher@webrtc.org,steveanton@webrtc.org,eladalon@webrtc.org
> # Skipping CQ checks because original CL landed less than 1 days ago.
> NOPRESUBMIT=true
> NOTREECHECKS=true
> NOTRY=true
> BUG=webrtc:7135
>
> Review-Url: https://codereview.webrtc.org/2993633002
> Cr-Commit-Position: refs/heads/master@{#19239}
> Committed: 59b603fbed

TBR=nisse@webrtc.org,danilchap@webrtc.org,perkj@webrtc.org,stefan@webrtc.org,holmer@google.com,deadbeef@webrtc.org,pthatcher@webrtc.org,steveanton@webrtc.org,zhihuang@webrtc.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=webrtc:7135

Review-Url: https://codereview.webrtc.org/2993053002
Cr-Commit-Position: refs/heads/master@{#19248}
2017-08-04 13:34:54 +00:00
srte
186d9c3873 Renamed fields in common_types.h/RtcpStatistics.
BUG=webrtc:8033

Review-Url: https://codereview.webrtc.org/2992043002
Cr-Commit-Position: refs/heads/master@{#19247}
2017-08-04 12:03:53 +00:00
mflodman
463d7ccb36 Remove video_coding/codecs/OWNERS.
video_coding/OWNERS/ should be enough.

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

Review-Url: https://codereview.webrtc.org/2992283002 .
Cr-Commit-Position: refs/heads/master@{#19246}
2017-08-04 10:58:25 +00:00