Commit Graph

429 Commits

Author SHA1 Message Date
2ffb149c2c Replace VideoFrameI420 with I420VideoFrame.
Gives one less struct/class for I420 video frames.

BUG=2657
R=mflodman@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5160 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 13:10:13 +00:00
9e85c01ec8 Add exception handling when configuring MediaCodc in order to prevent break in the new sdk release.
BUG=2603
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5158 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-22 02:49:17 +00:00
9fe3603dc1 Renaming ViEEncoderObserver::VideoSuspended
New name is ViEEncoderObserver::SuspendChange.

BUG=2436
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5157 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 23:00:40 +00:00
484ee962b5 Protect reads of ViEEncoder::video_suspended_.
Does not fix an immediate bug, since this is the only method writing to
it there are no concurrent writes, but this should be more future-proof
by protecting all accesses.

BUG=2606
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5156 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 18:44:23 +00:00
331d4402fc Connect pacer/padding to SuspendBelowMinBitrate
The suspend function must not be engaged unless padding is also enabled.
This CL makes the connection so that the pacer and padding is enabled
when SuspendBelowMinBitrate is.

Had to change the unit test to make it aware of the padding packets.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5153 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 14:05:40 +00:00
8d02f5dc71 Added API for enabling/disabling RTCP Receiver Reference Time extension.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5147 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 08:57:04 +00:00
54a05518e2 Increase run-time for full stack test for the rtt to be added reliably to the delay measurement.
BUG=2592
R=holmer@google.com, phoglund@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5146 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 07:45:08 +00:00
425e1d0fb9 Typo in vie_autotest_win.cc
BUG=2637
TEST=AutoTest
R=mflodman@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5145 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-21 02:17:01 +00:00
dc50aaeaa8 Interface changes to old api, for use by new api transition.
BUG=2589
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5142 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 16:47:07 +00:00
b24d33565c Added ViE API for getting overuse measure.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5141 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 13:51:40 +00:00
d29d4e9c08 Deliver I420VideoFrames from VideoRender module.
Performance issue and simplicity, this implementation skips conversion
to VideoEngine's frame format and then back again to I420VideoFrame.

BUG=2526
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5140 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 13:19:54 +00:00
1ae1d0c471 Add possibility to get the last processed RTT from the call stats class (to be used by RTP/RTCP module).
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5139 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-20 12:46:11 +00:00
ce8e0936d9 Rename AutoMute to SuspendBelowMinBitrate
Changes all instances throughout the WebRTC stack.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5130 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-18 12:18:43 +00:00
e8722856f9 Disable all vie_auto_tests on Linux for now (take 2)
Turns out OS_LINUX is not working in this context
(see http://review.webrtc.org/3539005/)
WEBRTC_LINUX is the right define to use.

TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5119 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:51:49 +00:00
c8489852ec Disable all automated vie_auto_tests on Linux for now
Since the switch from icewm to openbox window manager on
Linux in Chrome infra, causes the test to hang when
creating Windows.

TEST=trybots compile step
BUG=chromium:318760
TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5118 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:44:54 +00:00
9b82f5a6ed Fix for RTX in combination with pacing.
Retransmissions didn't get sent over RTX when pacing was enabled since
the pacer didn't keep track of whether a packet was a retransmit or not.

BUG=1811
TEST=trybots
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5117 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-13 15:29:21 +00:00
48df38114d Fix for making sure that the packet in order checks are done prior to updating the last received packet state.
Without this fix all packets are considered out-of-order by the rtp receiver, causing the last received state
in the rtp receiver to never get valid.

Also makes sure that only valid timestamps and receive times are used for audio/video sync.

BUG=2608
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5102 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-08 15:18:52 +00:00
5adc89747a Updated WebRTC version to 3.46
TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5093 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-06 22:27:51 +00:00
8bad50e845 Sending status fix for module.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5089 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-06 10:45:58 +00:00
766154aa1d Removed unused code.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5073 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-04 08:35:50 +00:00
5dd2ecb32d Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit f4ca3808bd9ec2293ec205f2f4a7d9739ce1f2df.

TBR=niklas.emblom@webrtc.org
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5071 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 23:41:04 +00:00
74e6e8458e Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
BUG=chromium:310271
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
TBR=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5070 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:48:16 +00:00
d705649edf Revert "Remove extra copy in VideoCaptureImpl::IncomingFrameI420"
This reverts commit 99f9743fe39066ba93b41f2b0a417696cbbd06fb.

Revert while build breakage is fixed.

BUG=None
TBR=niklas.emblom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5069 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 21:20:15 +00:00
1a4ed0d70c Remove extra copy in VideoCaptureImpl::IncomingFrameI420
Add support for aliasing a I420VideoFrame (and internally, a Plane) to an
existing memory buffer without taking ownership.  Use this to remove an extra
copy in VideoCaptureImpl::IncomingFrameI420.

BUG=1128
TEST=local build, run Chromium on ARM, build, run Chromium/unittests on Linux
R=fischman@webrtc.org, mflodman@webrtc.org, mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5068 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 20:32:28 +00:00
da2c37b759 Video bandwidth not reported correctly
ViEChannel::GetBandwidthUsage fails to aggregate video_bitrate_sent in
the same way as the total, fec and nack.

BUG=2579
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5062 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-31 09:49:03 +00:00
b7a171825b Drop ViEDecoderObserver::DecoderTiming impl now that WebRtcDecoderObserver rolled in r5038.
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5044 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 17:36:59 +00:00
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
1a3a6e5340 Removing the threshold from the auto-mute APIs
The threshold is now set equal to the minimum bitrate of the
encoder. The test is also changed to have the REMB values
depend on the minimum bitrate from the encoder.

BUG=2436
R=pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5040 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-28 10:16:14 +00:00
37bb4974e7 Expose VideoCodingModule's decoder stats up the stack from VCMTiming to chrome://webrtc-internals.
R=juberti@google.com, mikhal@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5027 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 23:59:45 +00:00
ba975e2078 Porting auto mute to new ViE API
This CL also includes tests for the auto mute function. A few minor lint
warnings were fixed too. Note that the auto mute function is still work
in progress.

The callback ViEEncoderObserver::VideoAutoMuted was not ported from the
old API. This is TBD; see issue 2457.

BUG=2436
R=holmer@google.com, mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5021 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-23 11:04:57 +00:00
31628aae7e Upgrade scoped_ptr to Chromium's latest version.
Analogous to the recent libjingle change: http://cl/54929753-p10.
This supports scoped_ptr<T[]> and scoped_ptr<C, FreeDeleter> rather
than scoped_array and scoped_ptr_malloc respectively.

- Add Chromium's template-based COMPILE_ASSERT. We didn't have this
previously in order to support the macro in C. Instead, move the
existing macro to compile_assert_c.h.
- Additionally copy the move.h and template_util.h depedencies and add
the WARN_UNUSED_RESULT macro.
- Leave scoped_array and scoped_ptr_malloc for now, but mark as
deprecated.
- Remove scoped_ptr foo(NULL) use. The default constructor handles it.
- Remove the now redundant COMPILE_ASSERT from peerconnection_jni.cc.
- Add a CHECK_ARRAY_SIZE macro to rtp_format_vp8_unittest.cc to remove
some repeated code.

TESTED=trybots
R=pbos@webrtc.org, tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-22 12:50:00 +00:00
9c735c4e25 Updated WebRTC version to 3.45
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5009 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 16:34:50 +00:00
29dd0de5b3 Changing the bitrate clamping in BitrateControllerImpl
This CL implements an alternative to the bitrate clamping that is done
in BitrateControllerImpl. The default behavior is unchanged, but if
the new algorithm is enabled the behavior is as follows:
When the new bitrate is lower than the sum of min bitrates, the
algorithm will give each observer up to its min bitrate, one
observer at a time, until the bitrate budget is depleted. Thus,
with this change, some observers may get less than their min bitrate,
or even zero.

Unit tests are implemented.

Also fixing two old lint warnings in the affected files.

This change is related to the auto-muter feature.

BUG=2436
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5007 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 14:00:01 +00:00
0d19ed9a06 AutoMute: Adding channel_id parameter to callback.
BUG=2436
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5006 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 12:37:13 +00:00
fe1ef935e7 Implement I420FrameCallbacks in Call.
BUG=2425
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5005 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 10:34:43 +00:00
e05362916c Make sure the first frame isn't dropped.
If frames were delivered within the same millisecond as VideoCaptureImpl
was created, or the timestamp weren't granular enough then the first
frame would be mistakenly dropped because of having the same timestamp
as a previous one, even though there was no previous one.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5004 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-21 09:02:30 +00:00
3e00505e9a Have padding decay to zero if no frames are being captured.
BUG=1837
TEST=trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4998 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-18 15:05:29 +00:00
c11148b352 Compound/reduced-size RTCP in VideoReceiveStream.
BUG=2424
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4987 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-17 14:14:42 +00:00
25fce9adc5 Fixed issue with how MTU is calculated.
BUG=
R=holmer@google.com, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4976 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 13:29:14 +00:00
b400aa7cd4 Don't pad if only one stream is sent, except if auto muted.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4975 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 13:03:10 +00:00
5d957e29f7 Wired up max packet size and added simple test.
BUG=2428
R=mflodman@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4973 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 11:37:54 +00:00
9401524211 Run FullStack tests without render windows.
Also disables test on valgrind platforms, it has no chance to keep up.

BUG=2278
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4972 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-16 11:05:37 +00:00
3555303cb0 Roll chromium_revision 226126:228675 and fix clang warnings
By request from thakis@chromium.org, I disabled the
-Wno-unused-const-variable setting that is set in Chromium's
common.gypi so we can prepare our code for it's removal.

This required some cleanup in order to get the code to compile
with Clang having the -Wunused-const-variable warning enabled.

TEST=all trybots passing
BUG=none
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4966 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 20:10:17 +00:00
266c7b330a Move ChromaGenerator to common_video/.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4964 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-15 09:15:47 +00:00
901ae77618 Android: Fixes WebRTCDemo build (missing Java code).
TBR=ajm@webrtc.org

BUG=N/A

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4961 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-14 21:46:53 +00:00
f53622d42e WebRTCDemo: Fixes warning for devices with pre-17 API level. Also fixes broken build build.xml and project.properties.
BUG=2083
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4951 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-11 21:28:26 +00:00
11e9cbc399 Updated WebRTC version to 3.44
TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4937 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-07 16:18:35 +00:00
3f9288f987 Add APK and isolate target for video_engine_tests
Add .isolate file and _run target for video_engine_tests.

Move tools/swarm_client to be untracked in all .isolate file,
so refactorings in swarm_client doesn't require us updating
all our .isolate files (similar to the changes for the
Chromium tests done in:
https://src.chromium.org/viewvc/chrome?view=rev&revision=218844)

Update modules_unittests.isolate with new NetEq4 reference files
needed.

TEST=trybots passing
I also setup a Chromium workspace where I patched third_party/webrtc
with the changes in this CL, followed by compiling with the settings
described in
https://code.google.com/p/webrtc/issues/detail?id=1882#c11
I then verified that the video_engine_tests_apk dir was created
in the output folder.
BUG=1916,2462
R=andrew@webrtc.org, henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4925 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-04 18:20:38 +00:00
6c82e04cee Android standalone: remove some usages of deprecated APIs and prevent further regressions.
Also:
- Fixed WebRTCDemo UI to say "SwitchToBack" at startup since default camera is front
- Rebuild WebRTCDemo APK when resources/layout/strings change

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4916 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:57:48 +00:00
4e65e07e41 VideoCaptureAndroid: rewrote the (standalone) implementation of video capture on Android.
Besides being ~40% the size of the previous implementation, this makes it so
that VideoCaptureAndroid can stop and restart capture, which is necessary to
support onPause/onResume reasonably on Android.

BUG=1407
R=henrike@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4915 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-03 18:23:13 +00:00