Commit Graph

1309 Commits

Author SHA1 Message Date
d2f366f28c StereoToMono: Remove useless call to WebRtcSpl_SatW32ToW16
The max value is ((2**15 - 1) + (2**15 - 1)) >> 1
              == (2**16 - 2) >> 1
              == 2**15 - 1
which doesn't overflow.

The min value is (-2**15 + -2**15) >> 1
              == -2**16 >> 1
              == -2**15
which doesn't overflow.

Since those two bracket all possible results, the call to
WebRtcSpl_SatW32ToW16 is redundant.

BUG=
R=andrew@webrtc.org, bjornv@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5929 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 12:17:39 +00:00
adaf809612 Removing AudioCoding duplicate tests
Reverting to using one version of ACM in ACM tests.

BUG=2996
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5924 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 08:29:10 +00:00
c0a15b7ddc Fix crashes due to dangling external decoder pointer.
When checking whether we need to release external decoder,
we have to do pointer comparison. We can't rely on payload
types, because payload types can be stale (e.g. before we
decode the first video frame after RegisterReceiveCodec).
This leaves a dangling pointer to external decoder, which
leads to crashes later, after we actually delete the
external decoder object.
This change has been verified in Chromecast code tree.

BUG=chromium:335539
R=stefan@webrtc.org

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

Patch from Sergey Volk <servolk@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5922 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-17 01:22:48 +00:00
c18729165a Set include_internal_video_capture=1 for video_capture_tests
Having this override in the .gypi file avoids having to set it for the bots, which I think is best if we can avoid.

This CL also reverts r5869 so video_capture_tests are compiled for Android again.

BUG=2974,3152
TEST=Successfully ran:
git try -t compile
git try --bot=win_baremetal,mac_baremetal,linux_baremetal -t video_capture_tests
git try --bot=android_apk,android_apk_rel
Verified the change in webrtc/build/apk_tests.gyp makes the build compile successfully from a Chromium+WebRTC configured checkout for Android APK tests.

R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5919 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-16 12:59:49 +00:00
7de47bce12 Remove use of tmpnam.
This solves compilation with the Mac SDK 10.9.

BUG=3120, 3151
TEST=git try -t modules_tests:VideoProcessorIntegrationTest*
R=fischman@webrtc.org, henrike@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5917 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-16 08:04:26 +00:00
2c3f1abb69 Replace flooding logs in rtp_sender.cc with a comment.
Started occurring after:
https://webrtc-codereview.appspot.com/11129004

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5916 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 21:26:34 +00:00
ca539bbed0 iOS: baby steps to being able to include_tests=1
- pull iossim in DEPS even when on mac (because bug 2152)
- fix audio_device_test_api.cc's use of bool instead of bool* (!)
- move unused-on-mobile message to non-mobile-only section of
  hardware_before_streaming_test.cc

BUG=3185
R=kjellander@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5914 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 20:26:41 +00:00
7c6e3d188a Moved voe_neteq_stats_unittest to audio_coding_module_unittest
The design of VoeNetEqStatsTest in voice_engine_unittests depended on
being able to inject a factory for the audio coding module into
voice engine. This functionality is now likely going away, which would
make this test fail to compile. Further, the functionality under test
is mostly ACM functionality, wherefore it makes better sense to test it
at ACM level.

BUG=2996
R=henrika@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5912 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 17:59:25 +00:00
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
2f8d5f3302 Check if a header extension is registered before updating it and fail silently if it's not.
BUG=
R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5909 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-15 12:28:46 +00:00
2c89b5cb27 Make everyone an OWNER for .gyp/.gypi add/delete purposes, non-talk/ edition.
This CL brought to you by:
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do echo -e "\n# These are for the common case of adding or renaming files. If you're doing\n# structural changes, please get a review from a reviewer in this file.\nper-file *.gyp=*\nper-file *.gypi=*" >> $d/OWNERS; done
$ for d in $(for f in $(git ls-files '*gyp' '*gypi'); do dirname $f; done|sort|uniq|grep -v '^\.$'); do git add $d/OWNERS; done

(and then removed the talk/ impact)

R=niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5903 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 20:08:03 +00:00
35ead381f8 Adding a config struct to NetEq
With this change, the parameters sent to the NetEq::Create method are
collected in one NetEq::Config struct. The benefit is that it is easier
to set, change and override default values, and easier to expand with
more parameters in the future.

BUG=3083
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5902 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 18:49:17 +00:00
810acbc93e New Packet and PacketSource classes for NetEq tests
These new classes are intended to replace the old NETEQTEST_RTPpacket
classes. The code in rtp_analyze.cc has been updated to use the new
classes; other test applications will follow.

BUG=2692
R=andrew@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5901 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 18:42:23 +00:00
5cf73962e6 Fix gyp for video_capture/ensure_initialized.cc.
This is a follow-up to
https://webrtc-codereview.appspot.com/11359004
which introduced an invalid dependency in the
chromium build when building without linker GC.

BUG=2974,3152,chromium:354405
R=andrew@webrtc.org, fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5898 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 17:26:31 +00:00
5692531f18 Added a new OnMoreData() interface which will not feed the playout data to APM.
BUG=3147
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5895 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-14 10:50:37 +00:00
8ce7c72456 Fix the captured screen rect conversion.
device_mode.dmPosition is already relative to the primary display's top-left, while the expected value of GetScreenRect() is also relative to the primary display's top-left.

TESTED=verified on Windows single monitor capturing and cursor capturing is fixed.

BUG=https://code.google.com/p/chromium/issues/detail?id=362631
R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5890 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 22:31:15 +00:00
8d1cdaa84e NetEq changes.
BUG=
R=henrik.lundin@webrtc.org, minyue@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5889 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 18:47:55 +00:00
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
8b2ec15d1e Convert WEBRTC_TRACE to LOG in utility.
BUG=3153
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5886 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-11 07:59:43 +00:00
2a770828d8 Remove usage of webrtc trace in video processing modules.
BUG=3153
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5880 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-10 11:30:49 +00:00
f93021430d Remove self-assignment hacks that were added to avoid unused variable warnings.
Instead, appear to use the variables.

BUG=3152
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5877 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 21:19:55 +00:00
0569d93db7 Move a chatty creation log in neteq to LS_VERBOSE.
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5876 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 17:48:48 +00:00
f4357f3530 Make Android-APK compile in release again.
BUG=3152
R=kjellander@webrtc.org
TBR=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5874 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 14:21:37 +00:00
b0b135e4c2 VideoCaptureAndroid: support multiple frame-rates per resolution.
Also enables running video_capture_tests_apk on the WebRTC/Chromium APK bots,
assuming GYP_DEFINES includes include_tests=1 and
include_internal_video_capture=1.
This required running VideoCaptureAndroid's camera capture on a dedicated thread, matching other platform's video_capture impls.

BUG=2974,3152
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5868 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 01:18:32 +00:00
74f6074ec1 Fix DesktopSize::is_empty() for the case when only width or only height is 0.
BUG=crbug.com/358909
R=wez@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5867 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-09 01:04:22 +00:00
f4c9444c65 VideoCaptureAndroid: stop referencing ViERenderer
To facilitate building video_capture's java code without video_render's java
code this reorganizes the local-preview hack to be driven by MediaEngine.
This is the "first step" in the linked bug.

BUG=3175
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5865 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 22:55:07 +00:00
984e4fbaaa video_capture(iOS): move stopCapture to background thread
Also suspend frame delivery on stopCapture() to avoid pause+onVideoError
during hangup.

BUG=3162
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5863 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 21:06:52 +00:00
dc80bae2a6 Convert logs in rtp rtcp module from WEBRTC_TRACE into LOG.
Clean some logs and add asserts in the way.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5861 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-08 11:06:12 +00:00
b287d968d9 New NetEq test to verify correct timestamp propagation
BUG=3154
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5860 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 21:21:45 +00:00
b08db28958 Clean up traces and logs in RemoteBitrateEstimator.
BUG=3153
R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5854 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 12:53:28 +00:00
36947bb635 Fix logging calls in bitrate_controller module.
BUG=3153
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5851 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-07 08:45:16 +00:00
f040bd8fa3 Fix a crash in WindowCapturereMac when capture() fails.
BUG=http://code.google.com/p/chromium/issues/detail?id=359985
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5846 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-04 20:26:41 +00:00
653c325af2 Fix the library path for android 64-bit build
BUG=359687
R=andrew@webrtc.org, fischman@webrtc.org, torne@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5844 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-04 04:44:19 +00:00
40ee3d07ed Consolidate audio conversion from Channel and TransmitMixer.
Replace the two versions with a single DownConvertToCodecFormat. As
mentioned in comments, this could be further consolidated with
RemixAndResample but we should write a full audio converter class in
that case.

Along the way:
- Fix the bug present in Channel::Demultiplex with mono input and a
stereo codec.
- Remove the 32 kHz max from the OnDataAvailable path. This avoids a
48 -> 32 -> 48 conversion when VoE is passed 48 kHz audio; instead we
get a straight pass-through to ACM. The 32 kHz conversion is still
needed in the RecordedDataIsAvailable path until APM natively supports
48 kHz.
- Merge resampler improvements from ACM1 to ACM2. This allows ACM to
handle 44.1 kHz audio passed to VoE and was originally done here:
https://webrtc-codereview.appspot.com/1590004
- Reuse the RemixAndResample unit tests for DownConvertToCodecFormat.
- Remove unused functions from utility.cc.

BUG=3155,3000,b/12867572
TESTED=voe_cmd_test using both the OnDataAvailable and
RecordedDataIsAvailable paths, with a captured audio format of all
combinations of {44.1,48} kHz and {1,2} channels, running through all
codecs, and finally using both ACM1 and ACM2.

R=henrika@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5843 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-03 21:56:01 +00:00
240eec3cd4 Delay Estimator: Minor refactoring and added a setter function.
* Replaced the lookahead input parameter at Create() with a setter. This makes it slightly more user friendly.
* Changed the buffer shifting in SoftReset... to become more readable.

TESTED=trybots, modules_unittests
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5836 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-03 08:11:47 +00:00
184b913eb5 Rename RTPanalyze to rtp_analyze and remove old version
The tool RTPanalyze (used to process an input RTP dump into a
text file of RTP header info) was present in both the neteq and
neteq4 folders. This change pulls in changes from the old to the new
and renames the source file and tool to rtp_analyze.

Removing special code for dummy-rtp files (it is supported without
special code), and making the RED payload type settable using flags.

Moving from test/ to tools/ folder.

BUG=2692
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5832 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 20:56:17 +00:00
c7c432aa9b Remove AudioDevice::{Microphone,Speaker}IsAvailable.
This was only used for logging, except on Mac, where the methods are
now private.

BUG=3132
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5831 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 16:49:26 +00:00
7549ff4257 This is to get rid of a bug relating to the return of NULL in calling GetDecoder when there are DTMF packets.
BUG=3140
TEST=trybots
R=henrik.lundin@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5830 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 15:03:01 +00:00
1092ea0192 Add format specification to output file names
This change facilitates running ApmTest.VerifyDebugDumpInt and
ApmTest.VerifyDebugDumpFloat in parallel, since they are not writing
to the same files any longer.

R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5829 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 07:46:49 +00:00
790385fee4 sink_filter_ds.cc: add lock to Receive procedure to Pause().
BUG=2233
TEST=AUTO Test
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5827 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-02 02:14:55 +00:00
f8f7c8b618 Added simulations of capacity variations and wifi recordings.
Also changes the packet sizes for the video sender and the trace based filter to match.

R=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5824 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-01 14:00:05 +00:00
a789f3720a VoiceEngine(iOS & Android): removed NOT_SUPPORTED
Also:
- removed underflow of a uint32 creating crazy-large delay values
- removed always-fail AudioDeviceIPhone::MicrophoneIsAvailable() impl (see
  bug 3132)
- removed unnecessary exclusion of features from iOS & Android builds

BUG=2050,3132
R=andrew@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5820 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-04-01 00:16:35 +00:00
caeae4680c Add tests for the RBE RemoveStream() API.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5812 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-31 13:33:39 +00:00
b13a7d5b1c Don't disable experimental AGC in audioproc.
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5798 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-27 00:11:11 +00:00
44caf01c34 Re-submit: rev5775
Modify bitrate controller to update bitrate based on process call and not
only whenever a RTCP receiver block is received.

Additionally:
 Add condition to only start rampup after a receiver block is received. This was same as old behaviour but now an explicit check is needed to verify process does not ramps up before the first block.

 Fix logic around capping max bitrate increase at 8% per second. Before it was only increasing once every 1 second and each increase would be as high as 8%. If receiver blocks had a different interval before it would lose an update or waste an update slot and not ramp up as much as a 8% (e.g. if RTCP received < 1 second).

 Did not touch decrease logic, however since it can be triggered more often it
 may decrease much faster and closer to the original written cap of once every
 300ms + rtt.

Note:
 rampup_tests.cc don't seem to be affected by this since there is no packet loss or REMB that go higher than expected cap.
 bitrate_controller_unittests.cc are don't really simulate a clock and the process thread, but trigger update by inserting an rtcp block.

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5794 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26 21:00:21 +00:00
7ee0c16edd Makes ScreenCapturerMac exclude the window specified in DesktopCapturer::SetExcludedWindow.
No behavior change for now since Chromium has not been updated to call SetExcludedWindow.

BUG=2789
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5792 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26 15:57:43 +00:00
4e65602886 Add API to allow deducting bitrate from incoming estimates before the capacity is distributed among outgoing video streams. For example, this can be used to reserve space for audio streams.
BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5791 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26 14:32:47 +00:00
d09d074827 Protect write of send_target_bitrate.
This issue was catch by tsan bot.

BUG=3065
R=stefan@webrtc.org, andrew

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5790 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-26 14:27:34 +00:00
440fa23553 Make RTPHeaderParser skip over unknown RTP header extensions rather than bail out.
BUG=2954
R=mflodman@webrtc.org, stefan@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5786 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 19:57:07 +00:00
6cd201cf31 Revert 5775 "Modify bitrate controller to update bitrate based o..."
This triggered an occasional TSAN failure in
CallTest.ReceivesPliAndRecoversWithNack e.g.:
http://build.chromium.org/p/client.webrtc/builders/Linux%20Tsan/builds/1444/steps/memory%20test%3A%20video_engine_tests/logs/stdio

I managed to reproduce this locally and verified that reverting this CL
corrected it.

> Modify bitrate controller to update bitrate based on process call and not
> only whenever a RTCP receiver block is received.
> 
> Additionally:
>  Add condition to only start rampup after a receiver block is received. This was same as old behaviour but now an explicit check is needed to verify process does not ramps up before the first block.
> 
>  Fix logic around capping max bitrate increase at 8% per second. Before it was only increasing once every 1 second and each increase would be as high as 8%. If receiver blocks had a different interval before it would lose an update or waste an update slot and not ramp up as much as a 8% (e.g. if RTCP received < 1 second).
> 
>  Did not touch decrease logic, however since it can be triggered more often it
>  may decrease much faster and closer to the original written cap of once every
>  300ms + rtt.
> 
> Note:
>  rampup_tests.cc don't seem to be affected by this since there is no packet loss or REMB that go higher than expected cap.
>  bitrate_controller_unittests.cc are don't really simulate a clock and the process thread, but trigger update by inserting an rtcp block.
> 
> BUG=3065
> R=stefan@webrtc.org, mflodman@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/10529004

TBR=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5785 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 19:42:39 +00:00