Commit Graph

5163 Commits

Author SHA1 Message Date
fischman@webrtc.org
e68102e046 iOS VideoEngine: move video_{capture,render} to ARC.
Replaces ye olde timey explicit release with teh hotness of automatic
reference counting.

This is the webrtc/ half; the talk/ half is in https://webrtc-codereview.appspot.com/10499005/

BUG=3054,3055
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5770 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 05:15:44 +00:00
sergeyu@chromium.org
e42b8ab129 Cleanups in libjingle to make it compile with chromium_code=1
Fixed all warnings that show up when compiling libjingle
in chromium with compiling with chromium_code=1.
chromium_code=1 enables various warnings that are off by
default. Most changes are for unused variables and consts.

R=pthatcher@google.com, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5769 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 00:31:35 +00:00
fischman@webrtc.org
7fa1fcb72c AppRTCDemo(ios): style/cleanup fixes following cr/62871616-p10
BUG=2168
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5768 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-25 00:11:56 +00:00
asapersson@webrtc.org
ce12f1fd32 Add configuration for ability to use the encode usage measure for triggering overuse/underuse.
BUG=1577
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5767 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 21:59:16 +00:00
andrew@webrtc.org
b70c8e9dfd Disable flaky WebRtcVideoMediaChannelTests on memcheck and tsan.
BUG=3096
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5766 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 20:57:42 +00:00
solenberg@webrtc.org
3fb8f7bbb0 Implement ViE forwarding to RBE of packets for BWE coming in through the ViENetwork::ReceivedBWEPacket API.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5765 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 20:28:11 +00:00
fischman@webrtc.org
c693a2a624 PeerConnection(iOS): fix case in #import statements.
We've been skating by on OS/X's default case-insensitive filesystem, but this
is a bit silly.

This change brought to you by:
sed -i '' 's/\+internal\.h/+Internal.h/g' $(git grep -l '+internal.h')

BUG=3088
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5764 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 18:56:37 +00:00
stefan@webrtc.org
9d4762e8b6 Have changes to REMB trigger RTCP to be sent immediately.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5763 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 17:13:00 +00:00
wu@webrtc.org
1e6cb2c5d2 (Auto)update libjingle 63560528-> 63648983
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5762 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 17:01:50 +00:00
bjornv@webrtc.org
28e83d1a56 DelayEstimator: Updates delay_quality and adds soft reset.
These changes are currently not used in webrtc/ but helps in using the delay estimator.
* The last_delay_quality() is updated with respect to robust_validation and changed to return float.
* Tests are updated wtih respect to above.
* Adds the possibility to make a soft reset based on external circumstances like a known delay shift has been made.
* The soft reset change the lookahead dynamically. An API to ask for current lookahead has been added as well.

BUG=N/A
TESTED=trybots, modules_unittest
R=aluebs@webrtc.org, andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5761 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 15:26:52 +00:00
tina.legrand@webrtc.org
92c0e29963 Run Opus with lower complexity setting on Android, iOS and/or ARM
This CL includes a call to Opus to set a lower complexity figure, if we are compiling for Android, iOS, or ARM (e.g. ChromeOS on ARM), where we know the devices are not powerful enough to run on higher complexity setting.

BUG=3093
R=minyue@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5760 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 14:38:36 +00:00
pbos@webrtc.org
3c412b24d9 Add targetBitrate to VideoCodec struct.
To be used by a codec implementation. Could for instance be interpreted
as trying to fit as much as possible on one temporal layer and send
everything that doesn't fit within target bitrate on another one.

Prevents an existing hack where startBitrate is used by a codec
implementation to signify target bitrate. This hack forces a reset of
bitrate estimation to target bitrate which creates bitrate dips.

BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5759 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 12:36:52 +00:00
stefan@webrtc.org
7e3ee8362b Disabled some of the remote bitrate estimator baseline tests.
These are disabled temporarily until updated.

R=solenberg@webrtc.org
TBR=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5758 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:45:13 +00:00
solenberg@webrtc.org
b1f5010075 VoE changes to allow forwarding of packets from VoE to ViE BWE.
BUG=
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5757 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:38:25 +00:00
aluebs@webrtc.org
37ca765650 Add fir_filter to common_audio
It has 3 implementation:
* fir_filter_c with no optimization
* fir_filter_sse which outperforms the C version by a factor of 3x
* fir_filter_neon which outperforms the C version by a factor of 2x

R=andrew@webrtc.org, bjornv@webrtc.org, johannkoenig@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5756 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 10:16:11 +00:00
stefan@webrtc.org
af839b28b0 Add AIMD option to BWE API.
TEST=trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5755 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-24 09:42:08 +00:00
tina.legrand@webrtc.org
ba5a6c3d89 ACM2/NetEq4 did not decode Opus in stereo
Two problems fixed in this CL:
- setting Opus decoder to stereo had no effect, and decoding always generated mono audio
- changing decoding setting from mono to stereo, or stereo to mono, for OPUS also had no effect (but required another change than the first one).

BUG=3082
R=henrik.lundin@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5754 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-23 09:58:48 +00:00
henrike@webrtc.org
152208adeb (Auto)update libjingle 63547048-> 63560528
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5753 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 21:43:26 +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
henrike@webrtc.org
be7e26d229 (Auto)update libjingle 63503990-> 63547048
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5751 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 16:40:18 +00:00
henrikg@webrtc.org
6f9c48348b Fixing crash in video_render_tests in release mode.
This is a test bug. Fixed usage of assert.

BUG=1917
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5750 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 14:41:27 +00:00
andresp@webrtc.org
16b75c2c7a Remove locks in SendSideBandwidthEstimation since those are only accessed while owning locks in
BitrateControllerImpl (excluding AvailableBandwidth).

 + Refactor BitrateController logic around LowRate allocation so access to SendSideBandwidthEstimation
is clear.
 + Refactor NormalRateAllocation away from OnNetworkChange.
 + Annotate BitrateController locks.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5749 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 14:00:51 +00:00
minyue@webrtc.org
b28bfa7efc Adding FEC support in NetEq 4.
R=henrik.lundin@webrtc.org, turaj@webrtc.org

TEST=passes all trybots

BUG=

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5748 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 12:07:40 +00:00
pbos@webrtc.org
0e65fdaa3b Fix "unreachable code" warnings (MSVC warning 4702) in webrtc.
BUG=chromium:346399
TEST=none
R=tommi@webrtc.org

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

Patch from Peter Kasting <pkasting@chromium.org>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5747 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 10:26:42 +00:00
mallinath@webrtc.org
0209e565de Adding operator== and != methods for CodecInst and VideoCodec structures.
R=juberti@google.com, mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5746 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 00:41:28 +00:00
fischman@webrtc.org
9c2bd2b288 Roll libvpx 254609:258445.
Picks up the suppression of -fstack-protector-all on iOS to avoid a crash.

BUG=3067
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5745 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-21 00:20:01 +00:00
mallinath@webrtc.org
0c6f0f94f1 Revert 5737 "Add system wrapper dependency to libjingle targets."
Adding additional dependency is not required for libjingle targets.

> Add system wrapper dependency to libjingle targets.
> This is necessary to handle usage of STR_CASE_CMP in
> common_types.h ( as in https://webrtc-codereview.appspot.com/10099005/)
> 
> TBR=wu@webrtc.org
> 
> Review URL: https://webrtc-codereview.appspot.com/10309004

TBR=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5744 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 23:07:03 +00:00
henrike@webrtc.org
5e83c65aee (Auto)update libjingle 63493960-> 63503990
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5743 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 22:33:30 +00:00
fbarchard@google.com
062e6e539f ARGBScale fix for bilinear down sampling overread when source size is odd.
BUG=chromium:352592
TESTED=drmemory on libyuv new unittest scaling unittest.
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5742 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 21:44:15 +00:00
henrike@webrtc.org
a8ebdb71e3 Revert "(Auto)update libjingle 63363208-> 63493960" (r5740)
BUG=N/A
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5741 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 20:27:25 +00:00
henrike@webrtc.org
5f768adc27 (Auto)update libjingle 63363208-> 63493960
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5740 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 20:18:06 +00:00
wu@webrtc.org
1faef7d084 Use codec width/height as the encoded_image width/height.
The raw_->w and raw_->h which are the stored image width/height may not be the encoded image size in the case when the incoming frame has a odd size.

R=marpan@google.com, marpan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5739 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 17:00:46 +00:00
henrik.lundin@webrtc.org
3ab57c514c Changing the buffer size (slots) to 1.5 seconds @ 30 ms packets
This is a relanding of r5725, now with a fix for the failing tests.

BUG=2935
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5738 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 15:09:38 +00:00
mallinath@webrtc.org
979f1f8235 Add system wrapper dependency to libjingle targets.
This is necessary to handle usage of STR_CASE_CMP in
common_types.h ( as in https://webrtc-codereview.appspot.com/10099005/)

TBR=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5737 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 15:09:09 +00:00
asapersson@webrtc.org
8a8c3ef2ae Add ability to configure cpu overuse options via an API.
BUG=1577
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5736 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 13:15:01 +00:00
henrik.lundin@webrtc.org
d66929995f Prevent playout delay wrap-around in VoiceEngine
In the case where a network glitch causes a packet to arrive so late
that the jitter buffer has gone into expand mode, the playout timestamp
could have been increased to a value that is larger than the RTP
timestamp of the late packet when it finally arrives. This causes
the difference to be negative, and would make the value wrap (unsigned).

With this fix, the difference is set to zero when the playout
timestamp is ahead of the incoming RTP timestamp. Further down in the
method, a zero-value will lead to the averaging filter not being updated.

BUG=3080
R=henrika@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5735 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 12:04:09 +00:00
henrika@webrtc.org
800b8dbda6 Removes error printout in voe_cmd_test which was caused by attempts to transmit RTCP packets even if a transport object was not registered.
BUG=none
R=xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5734 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 08:07:41 +00:00
andresp@webrtc.org
c14807959b Extend perf tests to perform rampup on single stream.
R=kjellander@webrtc.org, stefan@webrtc.org
BUG=3065

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5733 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 03:23:55 +00:00
jiayl@webrtc.org
c8ac17ca04 Adjust the captured window rect when the window is maximized.
GetWindowRect includes the window frames for maximized window even they are off screen, causing content outside the window being captured falsely. The fix is to remove the left/right/bottom window frame from the captured rect. Mouse capturing is adjusted accordingly as well.

BUG=3076
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5732 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-20 00:06:41 +00:00
henrike@webrtc.org
ffe2620c97 (Auto)update libjingle 63352036-> 63363208
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5731 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 22:20:10 +00:00
stefan@webrtc.org
16395228f5 Properly account for retransmitted packets when not using the pacer.
This regression was introduced in r5728.

TBR=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5729 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 19:34:07 +00:00
stefan@webrtc.org
7c6ff2da26 Fixes RTX related bugs.
- An RTX packet with no payload should be dropped prior to parsing RTX header since it doesn't have an RTX header. This can for example happen when sending padding-only packets over the RTX stream.
- The retransmit code path when the pacer is disabled doesn't properly update the abs-send-time and ts-offset header extensions.

TEST=trybots
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5728 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 18:14:52 +00:00
pbos@webrtc.org
9af85c4ac2 Disabling SendsSetSimulcastSsrcs.
Disabling as bots are turning red. This should be because
VideoSendStream::ReconfigureVideoCodec caps video_codec.startBitrate to
max bitrates and as the start bitrate is just enough to transmit there
might be some rounding errors here causing the top stream not to be
sent. Since no REMB is received (send-side test) this remains as the
transmit bitrate.

I need some more time to figure out if this is the case so I'm disabling
these for now to avoid reverting the big CL. VideoSendStreams aren't
used in production yet.

TBR=mflodman@webrtc.org
BUG=3078

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5727 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 15:49:18 +00:00
henrik.lundin@webrtc.org
1e98a15adb Revert "Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets"
Build bots turned red.

TBR=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5726 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 14:16:52 +00:00
henrik.lundin@webrtc.org
e5be877476 Changing the buffer size (in packets) to 1.5 seconds @ 30 ms packets
BUG=2935
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5725 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 13:36:58 +00:00
pbos@webrtc.org
add4073593 Disable flaky CanSwitchToUseAllSsrcs.
Test flakes on bots, disabling while investigating.

R=minyue@webrtc.org
TBR=mflodman@webrtc.org
BUG=3078

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5724 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 12:57:35 +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
pbos@webrtc.org
f577ae9eac Remove internal codecs from VideoSendStream.
Replaces VideoCodec in VideoSendStream::Config with an EncoderSettings
struct. The EncoderSettings struct uses an external encoder for all
codecs. This means that external users, such as libjingle, will provide
the encoders themselves, removing the previous distinction of internal
and external codecs.

For now VideoSendStream translates to VideoCodec internally. In the
interrim (before the corresponding change is implemented in
VideoReceiveStream) tests convert EncoderSettings to VideoCodecs.

Removes Call::GetVideoCodecs().

Disables RampUpTest.WithPacingAndRtx as its further exposed with changes
to bitrates used in tests.

BUG=2854,2992
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5722 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-19 08:43:57 +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
henrike@webrtc.org
8b61011b6f (Auto)update libjingle 63293120-> 63352036
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5720 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-18 21:39:10 +00:00