mallinath@webrtc.org
a5506690b4
Update libjingle to 50733053.
...
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2017004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4532 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 21:18:15 +00:00
pbos@webrtc.org
4ca7d3f9fe
Replace MapWrapper with std::map<>.
...
MapWrapper was needed on some platforms where STL wasn't supported, we
now use std::map<> directly.
BUG=2164
TEST=trybots
R=henrike@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2001004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4530 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 19:51:57 +00:00
fischman@webrtc.org
dd14b2add1
libjingle gyp: signal errors during gyp time to avoid cryptic failures during build time.
...
- $JAVA_HOME / java_home missing or not pointing to a JDK
- Multiple or zero mac codesigning identities
BUG=2206
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2012004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4527 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 18:06:29 +00:00
elham@webrtc.org
1928d0ef67
Updated WebRTC version to 3.39
...
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2014004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4525 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 17:12:44 +00:00
pbos@webrtc.org
468e19aa93
Signal when shutting down DirectTransport.
...
Avoids starting the network thread when there are no packets to be read.
This allows the transport to shut down directly, which makes tests using
it able to quit faster, and not have to wait up to 10ms.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2010004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4524 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:28:00 +00:00
wuchengli@chromium.org
0d94c2f81c
Avoid acquiring VCM::_receiveCritSect during decode callback.
...
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.
BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
Run libjingle_peerconnection_unittest.
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1997005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4523 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 14:20:49 +00:00
pbos@webrtc.org
9668467d87
Run loopback tests with network thread.
...
Running with a network thread provides a more realistic simulation. Like
a real network, packets are handed off to a socket, or buffer, and then
the call returns. This prevents weird scenarios when both the sending
side and receiving side are on the call stack simultaneously, which can
cause deadlocks as locks could otherwise be taken simultaneously in both
the sender and receiver order by the same thread.
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2000005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4522 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 12:59:04 +00:00
minyue@webrtc.org
ecbe0aa543
Added Opus stereo support
...
TESTED=git try
BUG=webrtc:1360
R=tina.legrand@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1868004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4521 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-12 06:48:09 +00:00
wu@webrtc.org
91053e7c5a
Update libjingle to 50654631.
...
R=mallinath@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2000006
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4519 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-10 07:18:04 +00:00
sergeyu@chromium.org
bf853f2732
Fix crash in screen capturer on Mac
...
BUG=crbug.com/247685
R=wez@chromium.org
Review URL: https://webrtc-codereview.appspot.com/2006004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4518 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-10 01:30:23 +00:00
pbos@webrtc.org
6cd9341801
Hand over loopback packets to a network thread.
...
This version of LoopBackTransport hands packets over to a network thread
which will deliver them instead. This allows SendRTP and SendRTCP to
always be able to return, preventing deadlocks in voe_auto_test. The
previous case did not represent actual network usage. Now the send and
receive side can run concurrently with the receiving side. Previously
the sender thread also drove the receiving side, which does not
represent the regular use case where packets are put on a network
socket.
BUG=1568,2081,2178
TEST=Ran VoiceEngine RtpRtcpTest.*, known for deadlocking, 100+ times.
R=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1985005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4516 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 21:11:57 +00:00
stefan@webrtc.org
80865fd611
Don't pace out packets or generate padding when the pacer is disabled.
...
TEST=trybots
R=pbos@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/2000004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4513 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 11:31:23 +00:00
pbos@webrtc.org
2ab209ef14
Remove include_dirs from test/test.gyp.
...
This is a cleanup step for having root-relative includes, include_dirs shouldn't be needed anymore.
BUG=1662
R=phoglund@webrtc.org , tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1984004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4512 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:49:48 +00:00
pbos@webrtc.org
a3b7406219
Remove unused unreferenced code in webrtc/
...
The code removed here are .c, .cc and .h files that are not referenced
from anywhere else. E.g. if git-grep showed no occurrence of the file
it's removed. This process was repeated until no more unreferenced
files were present.
BUG=
R=andrew@webrtc.org , henrike@webrtc.org , phoglund@webrtc.org , stefan@webrtc.org , turaj@webrtc.org , wu@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1945004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4511 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 08:47:51 +00:00
wuchengli@chromium.org
f4081ab8d8
Revert "Avoid acquiring VCM::_receiveCritSect during decode callback."
...
This reverts commit aa3528a9cd65b176b9d6f9d58cecb1068891dca4.
BUG=http://crbug.com/170345
TEST=libjingle_peerconnection_unittest
TBR=stefan,wu
Review URL: https://webrtc-codereview.appspot.com/1999004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4510 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 04:42:51 +00:00
wuchengli@chromium.org
a717ee9962
Avoid acquiring VCM::_receiveCritSect during decode callback.
...
When VideoDecoder::Decode, Reset, or Release is called,
VideoCodingModuleImpl::_receiveCritSect may have been
acquired. Decode callback needs to acquire the same lock
in ViEChannel::FrameToRender. It is not a problem for
SW decode because decode callback is run on the same
WebRTC decoding thread and the lock is re-entrant. But
for HW decode, decode callback is run on a thread different
from WebRTC decoding thread. Decode callback gets the locks
in the opposite order. Deadlock can happen.
BUG=http://crbug.com/170345
TEST=Try apprtc.appspot.com/?debug=loopback on ARM Chromebook Daisy.
R=stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1977004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4509 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-09 04:08:38 +00:00
mikhal@webrtc.org
64799da6c6
Allowing decoding with errors, when disabling nack.
...
BUG=1897
R=stefan@webrtc.org , wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1982004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4508 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:45:33 +00:00
niklas.enbom@webrtc.org
e270331481
Fix duplicate code
...
R=pwestin@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1993004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4507 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 22:23:48 +00:00
mallinath@webrtc.org
5a27e49f35
This CL will add support of passing all turn urls returned by the CEOD to PeerConnection object.
...
R=juberti@webrtc.org , vikasmarwaha@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1949004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4506 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 19:52:08 +00:00
pbos@webrtc.org
58d76cb635
Delete Channels without ChannelManager lock.
...
Triggered Helgrind error, as deleting a Channel will also unregister a
module which has called GetChannel(), resulting in a cyclic lock graph.
This change will also allow other threads to access the ChannelManager
instance while Channels are deleted.
R=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1946005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4505 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 17:32:21 +00:00
tina.legrand@webrtc.org
bd21fb5f8d
Adding call to Opus PLC
...
NetEq will call the PLC function in Opus only to set the decoder state. The actual PLC data will not be used.
BUG=https://code.google.com/p/webrtc/issues/detail?id=1181
R=tterribe@webrtc.org , turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1727004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4504 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 11:01:07 +00:00
agalusza@google.com
d177c10e2d
Added logic for kSelectiveErrors to VCMJitterBuffer and corresponding unit tests.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1943004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4503 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-08 01:12:33 +00:00
pbos@webrtc.org
676ff1ed89
Ref-counted rewrite of ChannelManager.
...
The complexity of the last ChannelManager and potentially usage of it as well caused race conditions and deadlocks in loopback voe_auto_test. This ref-counted solution takes no long-term locks, uses less locks overall and is significantly easier to understand.
ScopedChannel has been split up into a ChannelOwner with a reference to a channel and an Iterator over ChannelManager. Previous code was really used for both things. ChannelOwner is used as a shared pointer to a channel object, while an Iterator should work as expected.
BUG=2081
R=tommi@webrtc.org , xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1802004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4502 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07 17:57:36 +00:00
fischman@webrtc.org
825e9b0a9b
talk/objc/README: s/libjingle/webrtc/ in repository path.
...
TBR=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1985004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4501 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07 16:52:03 +00:00
pbos@webrtc.org
a165d9c0a4
Code formatting on files touched in r4447.
...
BUG=
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1979004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4500 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-07 14:17:05 +00:00
pwestin@webrtc.org
401ef361ac
Added configuration of max delay to ACM and NetEq
...
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1964004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4499 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 21:01:36 +00:00
fischman@webrtc.org
c883fdc273
PeerConnection.java: enable setting trace & log levels from Java
...
Replaces the hard-coded scheme that was there before and lets apps decide what
to log and to where.
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1969004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4498 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 19:00:53 +00:00
agalusza@google.com
c4e1ab515b
Added Decoding with errors API to video_coding.h and removed unused DecodeError enum.
...
R=marpan@google.com , mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1937004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4497 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 18:27:41 +00:00
turaj@webrtc.org
0fc2558503
Add turaj@webrtc.org to NetEq owners.
...
R=niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1980004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4496 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 17:07:18 +00:00
phoglund@webrtc.org
94aca5c7de
Disabled flaky HardwareTest.BuiltInWasapiAECWorksForAudioWindowsCoreAudioLayer.
...
TBR=xians@webrtc.org
BUG=2179
Review URL: https://webrtc-codereview.appspot.com/1955005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4495 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 08:20:47 +00:00
phoglund@webrtc.org
bd69d1beaf
Disabled SsrcPropagatesCorrectly on Linux.
...
BUG=2178
TBR=xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1975004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4494 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 08:03:16 +00:00
minyue@webrtc.org
7bb5436e5d
Better error treatment in NetEqImpl::InsertPacketInternal()
...
BUG=webrtc:1364
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1844004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4493 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:40:57 +00:00
minyue@webrtc.org
9721db799c
removed NetEq::EnableDtmf()
...
BUG=webrtc:1373
R=turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1822005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4492 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-06 05:36:26 +00:00
vikasmarwaha@webrtc.org
6e7c203aee
Modified apprtc demo code to detect browser by checking user_agent in apprtc.py. Now we will use Mozilla stun server if FF is detected as the browser. The CL is an improvement to r4388.
...
R=braveyao@webrtc.org , dutton@google.com
Review URL: https://webrtc-codereview.appspot.com/1928004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4491 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 22:05:20 +00:00
wu@webrtc.org
9dba525627
* Update libjingle to 50389769.
...
* Together with "Add texture support for i420 video frame." from
wuchengli@chromium.org .
https://webrtc-codereview.appspot.com/1413004
RISK=P1
TESTED=try bots
R=fischman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1967004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4489 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 20:36:57 +00:00
fischman@webrtc.org
f696f253b2
Invert dependency between webrtc_utility and media_file targets to reflect reality.
...
BUG=2166
R=henrike@webrtc.org , niklas.enbom@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1953004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4488 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 18:45:19 +00:00
elham@webrtc.org
9b8861c358
Updated WebRTC version number to 3.38
...
R=wu@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1965004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4487 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 17:19:16 +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
fischman@webrtc.org
c3d93c6921
talk/PRESUBMIT: Accept copyright years going back to 2004.
...
R=henrike@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1956004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4485 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 15:01:33 +00:00
pbos@webrtc.org
ccdcbae177
Fix implicit int->bool conversion in VideoSendStream::DeliverRtcp.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1963004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4484 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 13:25:51 +00:00
pbos@webrtc.org
4052370e89
Use RtpHeaderParser in VideoCall implementation.
...
BUG=1827
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1962004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4483 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 12:49:22 +00:00
pbos@webrtc.org
bbb07e69e5
Glue code and tests for NACK in new VideoEngine API.
...
The test works by randomly dropping small bursts of packets until enough
NACKs have been sent back by the receiver. Retransmitted packets are
never dropped in order to assure that all packets are eventually
delivered. When enough NACK packets have been received and all dropped
packets retransmitted, the test waits for the receiving side to send a
number of RTCP packets without NACK lists to assure that the receiving
side stops sending NACKs once packets have been retransmitted.
BUG=2043
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1934004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4482 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 12:01:36 +00:00
pbos@webrtc.org
7fb9ce0cf5
Fix send times in video_full_stack.
...
BUG=
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1947004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4481 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 09:29:50 +00:00
pbos@webrtc.org
735a7c8b93
Add back is.FrameProvider() call lost in r4194.
...
BUG=2119
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1946004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4480 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-05 09:03:03 +00:00
wu@webrtc.org
94349552de
Disable P2PTransportChannelTest.* on memcheck and tsan bots due to issue 1972.
...
TBR=mallinath
BUG=1972
RISK=P3
TEST=with below cmd lines and disabled tests won't run
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out/Debug --test libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest* --tool tsan
tools/valgrind-webrtc/webrtc_tests.sh --build_dir out/Debug --test libjingle_p2p_unittest --gtest_filter=P2PTransportChannelTest* --tool memcheck
Review URL: https://webrtc-codereview.appspot.com/1954004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4479 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 23:30:50 +00:00
andrew@webrtc.org
2cbb429323
Remove redundant conditions key.
...
Gives an error when gyp is run with CHROMIUM_GYP_SYNTAX_CHECK=1.
TBR=henrike
Review URL: https://webrtc-codereview.appspot.com/1952004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4478 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 20:52:54 +00:00
turaj@webrtc.org
7df9706a01
Add one API for implementing Initial delay.
...
R=minyue@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1939004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4475 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 18:07:13 +00:00
henrike@webrtc.org
89c674053e
Adds all unittests to android NDK-APK framework.
...
BUG=N/A
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1872004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4474 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 16:53:47 +00:00
pbos@webrtc.org
51b2459d37
Add some virtual and OVERRIDEs in webrtc/common_audio/
...
BUG=163
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1899004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4473 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 11:44:38 +00:00
pbos@webrtc.org
9162080527
Fix some chromium-style warnings in webrtc/modules/audio_processing/
...
BUG=163
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1902004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4472 4adac7df-926f-26a2-2b94-8c16560cd09d
2013-08-02 11:44:11 +00:00