72 Commits

Author SHA1 Message Date
wuchengli@chromium.org
637c55f45b Add support of texture frames for video capturer.
This is a reland of r6252. The video_capture_tests failure on
builder Android Chromium-APK Tests should be flaky.

- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
are dropped in ViEEncoder for now.

Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352

BUG=chromium:362437
TEST=WebRTC video stream forwarding, video_engine_core_unittests,
     common_video_unittests and video_capture_tests_apk.
TBR=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6258 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-28 07:00:51 +00:00
wuchengli@chromium.org
89e8ffb395 Revert "Add support of texture frames for video capturer."
This reverts commit 83c89cd003be75d7d06ef9a2b139588f08d280ca.

Reason: The Buildbot has detected a new failure on builder
Android Chromium-APK Tests.

BUG=chromium:362437
TBR=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6253 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 14:12:58 +00:00
wuchengli@chromium.org
efe15355ee Add support of texture frames for video capturer.
- Add ViECapturer unittest.
- Add CloneFrame function in I420VideoFrame.
- Encoders do not support texture yet and texture frames
  are dropped in ViEEncoder for now.

Corresponding CLs:
https://codereview.chromium.org/277943002
http://cl/66620352

BUG=chromium:362437
TEST=WebRTC video stream forwarding. Run video_engine_core_unittests and common_video_unittests.
R=fischman@webrtc.org, perkj@webrtc.org, stefan@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6252 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-27 12:40:27 +00:00
stefan@webrtc.org
24bd364d3e Change GetEstimatedSend/RecvBandwidth to return the total bandwidth of a channel group instead of splitting it up among channels.
This fixes an issue where the user doesn't know which channels are "active" and therefore can't properly sum the estimates for all channels.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6041 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-05-02 12:35:37 +00:00
andrew@webrtc.org
8f69330310 Replace scoped_array<T> with scoped_ptr<T[]>.
scoped_array is deprecated. This was done using a Chromium clang tool:
http://src.chromium.org/viewvc/chrome/trunk/src/tools/clang/rewrite_scoped_ar...

except for the few not-built-on-Linux files which were updated manually.

TESTED=trybots
BUG=2515
R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5985 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-25 23:10:28 +00:00
wu@webrtc.org
6c75c98964 Propagate capture ntp timestamp from rtp to renderer.
Mostly the interface changes, the real implementation of ntp timestamp will come in a follow up cl.

TEST=new tests and try bots
BUG=3111
R=niklas.enbom@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5911 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 17:46:33 +00:00
stefan@webrtc.org
34c5da6b5e Cleaned up logging in video_coding.
Converted all calls to WEBRTC_TRACE to LOG(). Also removed a large number of less useful logs.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5887 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 14:08:35 +00:00
mflodman@webrtc.org
5574dacd1f Log Fixit for parts of video_engine folder.
BUG=3153
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5853 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 10:56:31 +00:00
andresp@webrtc.org
07bc734459 Refactor in BitrateController module.
- Move condition of 0 bps as max meaning 1gbps from SendSideBandwidthEstimation to BitrateController.
 - Remove condition on bitrate=0 meaning bandwidth estimation off as that could only happen when no observers existed
   and in which case the estimation would be ignored.
 - Add MaybeTriggerOnNetworkChanged which only runs rate allocation if any of the dependent variables has changed
   thus allowing to remove many of the bool returns that try to indicate if the estimation has changed which would not
   be aware if the observers have changed.
 - SendSideBandwidthEstimation now has a UpdateBitrate and has clear code paths to which calls update bitrate.
 - Changes in enforce_min_bitrate so the 10kbps min is set from the BitrateController and not from the outside this keep valid as observers are changed.

R=henrik.lundin@webrtc.org, stefan@webrtc.org
BUG=3065

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5752 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 16:51:01 +00:00
pbos@webrtc.org
709e29742e Simplify pacer interface.
New interface uses two bitrates (max/min). The pace multiplier is also
removed from the interface and instead utilized outside. Min bitrate
will be filled with padding if there's not enough media to transmit.

Also fixes a bug in minimum transmission bitrate that made it ignore
REMBs. A regression test has been added to catch it.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5723 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 10:59:52 +00:00
wuchengli@chromium.org
ac4b87c258 Fix a deadlock in ViEEncoder::DeliverFrame.
The deadlock can happen when using HW encoder. HW encoder calls
the encode complete callback on libjingle worker thread instead
of ViECaptureThread. The capture thread can hold VieEncoder::|data_cs_|
and wait for ModuleRtpRtcpImpl::|critical_section_module_ptrs_|.
When libjingle worker thread runs encode complete callback, it
can hold ModuleRtpRtcpImpl::|critical_section_module_ptrs_| and
wait for VieEncoder::|data_cs_|.

|default_rtp_rtcp_| is not guarded by |data_cs|. So move it out of
the critical section to avoid the deadlock.

BUG=chromium:352567
TEST=Run apprtc loopback on CrOS.
Run apprtc between CrOS and Linux.
Run vie_auto_test.

R=henrik.lundin@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5721 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 03:44:20 +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
fischman@webrtc.org
64e0405552 Avoid crash in ViEEncoder::DeRegisterExternalEncoder().
BUG=chromium:348222
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5660 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 18:00:05 +00:00
henrik.lundin@webrtc.org
845862f279 Adding a new ramp-up-down-up test
The new test is based upon the exisiting rampup test, but also adds
a low-rate period. The main purpose of the test is to verify the
SuspendBelowMinBitrate functionality, which must be enabled for the
test to pass.

The CL also adds a change to the min bitrate in the send-side bandwidth
estimator when SuspendBelowMinBitrate is enabled.

An anonymous namespace is added around the StreamObserver classes
in the test to avoid silent linker conflicts that could happen
otherwise.

Note: this CL depends on https://webrtc-codereview.appspot.com/9049004/

BUG=2636
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5646 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 07:19:28 +00:00
jiayl@webrtc.org
9fd8d87ff5 Adds APIs for reporting pacer queuing delay.
BUG=2775
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:32:40 +00:00
stefan@webrtc.org
9075d519a2 Adding a critical section missing in r5543.
This fixes a race caught by the linux tsan bot.

R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5551 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-14 09:45:58 +00:00
stefan@webrtc.org
ae2563ae2f Fixes a race when writing to send_padding_.
TEST=trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5543 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-13 13:48:38 +00:00
pbos@webrtc.org
8118f1861f Set pacing bitrates in SetEncoder.
Before the change no padding was allowed before the first remote bitrate
estimation was received. This bitrate estimation is based on what's
actually sent. In tests I set codec.startBitrate to 300 instead of
325, which incidentally means that only the first layer gets encoded.
As we only send ~150kbps instead of 300, the first REMB will
significantly pull down the remote bitrate estimate instead of keeping
the existing rate, even though there's no problem with the link.

This was detected in RampUpTest.PacingWithRtx,
(send_config.codec.startBitrate=300), which caused the tests to become a
lot slower, and flake out more. By allowing padding initially we're able
to keep our initial bitrate estimate.

R=stefan@webrtc.org
TEST=Running RampUpTest.WithPacingAndRtx with startBandwidth=300.
BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5534 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-12 14:50:29 +00:00
andresp@webrtc.org
5b51ebc179 Removing DropDeltaAfterKey functionality which is unused.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5214 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-12-04 15:53:24 +00:00
stefan@webrtc.org
19a40ff05b Ensure that no packet stays in the pacer queue for longer than 2 seconds.
BUG=2682
TEST=trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5182 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-27 14:16:20 +00:00
sprang@webrtc.org
4070935f4f Implement and test EncodedImageCallback in new ViE API.
R=mflodman@webrtc.org, pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5179 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-11-26 11:41:59 +00:00
henrik.lundin@webrtc.org
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
pbos@webrtc.org
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
henrik.lundin@webrtc.org
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
henrik.lundin@webrtc.org
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
stefan@webrtc.org
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
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
henrik.lundin@webrtc.org
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
andrew@webrtc.org
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
henrik.lundin@webrtc.org
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
pbos@webrtc.org
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
stefan@webrtc.org
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
stefan@webrtc.org
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
henrik.lundin@webrtc.org
7ea4f24ea5 Piping AutoMuter interface through to ViE API
This is a piece of the AutoMuter effort. A second CL will follow containing modifications to the new API, and tests.

BUG=2436
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4899 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-10-02 13:34:26 +00:00
stefan@webrtc.org
b2c8a952a7 Improving padding rules and breaking out bw allocation to ViEEncoder.
BUG=1837
TESTS=vie_auto_test --automated, trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4693 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-09-06 13:58:01 +00:00
wu@webrtc.org
822fbd8b68 Update talk to 50918584.
Together with Stefan's http://review.webrtc.org/1960004/.

R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4556 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-15 23:38:54 +00:00
pbos@webrtc.org
12dc1a38ca Switch C++-style C headers with their C equivalents.
The C++ headers define the C functions within the std:: namespace, but
we mainly don't use the std:: namespace for C functions. Therefore we
should include the C headers.

BUG=1833
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4486 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 16:22:53 +00:00
mflodman@webrtc.org
6879c8adad Hooking up first simple CPU adaptation version.
BUG=
R=pbos@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4384 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-23 11:35:00 +00:00
tnakamura@webrtc.org
aa4d96a134 Revert r4301
R=mikhal@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4357 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-16 19:25:04 +00:00
hclam@chromium.org
1a7b9b94be Cleanup WebRTC tracing
The goal of this change is to:
1. Remove unused tracing events.
2. Organize tracing events to facilitate measurement of end to end latency.

The major change in this CL is to use ASYNC_STEP such that operation
flow can be traced for the same frame.

R=marpan@webrtc.org, pwestin@webrtc.org, turaj@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4308 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-08 21:31:18 +00:00
stefan@webrtc.org
66b2e5c05a Breaking out receive-stats, rtp-payload-registry and rtp-receiver from the
rtp_rtcp implementation.

This refactoring significantly reduces the receive-side RTP parser and receiver
complexity, and makes it possible to implement RTX correctly by having two
instances of receive-statistics.

With this change the dead-or-alive and packet timeout APIs are removed.

TEST=trybots, vie_auto_test, voe_auto_test
BUG=1811
R=mflodman@webrtc.org, pbos@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4301 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-07-05 14:30:48 +00:00
mflodman@webrtc.org
1c986e7c89 Removed ViE file API.
R=asapersson@webrtc.org, niklas.enbom@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4267 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-26 09:12:49 +00:00
hclam@chromium.org
2e402ce873 Enqueue packet in pacer if sending fails
If a packet cannot be sent while pacer is in use it should be
queued. This avoid packet loss due to congestion.

BUG=1930
R=pwestin@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4250 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-20 20:18:31 +00:00
stefan@webrtc.org
508a84b255 Wire up pacer-based padding.
This connects the pacer-based padding with the RTP modules, which will
generate padding packets roughly according to what the pacer suggests.
It will only generate padding packets of maximum size to keep the number
off padding packets as small as possible. This also sets a limit of how much
padding + media bitrate which the pacer is allowed to "request" from the
RTP modules.

Padding will for now only be generated by the first sending RTP module.

BUG=1837
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4234 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-17 12:53:37 +00:00
stefan@webrtc.org
c3cc375499 Add support for padding in pacer.
This improves pacer-based padding by making sure it limits padding according to:
- Never pad more than 800 kbps.
- Padding + media should not go above a given target bitrate.

Also adds appropriate unittests to make sure we reach the given targets.

BUG=1837
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4168 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-06-04 09:36:56 +00:00
solenberg@webrtc.org
cb9cff0c71 Add functions to ViE API to enable/disable the absolute send time header extension.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4065 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-20 12:00:23 +00:00
pbos@webrtc.org
f5d4cb1958 Include files from webrtc/.. paths in video_engine/
BUG=1662
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4056 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-17 13:44:48 +00:00
hclam@chromium.org
b3e5acfb66 Cleanup traces in WebRTC
Remove some unused traces and add a trace counter for encoded video size.

R=holmer@google.com, mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4050 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-16 21:13:02 +00:00
justinlin@chromium.org
7bfb3a3227 Add more tracing for key frames.
R=mallinath@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@4015 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-05-13 22:59:00 +00:00
andresp@webrtc.org
7707d060bb Wiring down config from video engine until video coding and remote bitrate estimator modules instantiation.
R=mflodman@webrtc.org

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

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