Commit Graph

5260 Commits

Author SHA1 Message Date
stefan@webrtc.org
9b5f4d8a84 Fix build breakage introduce with r5665.
TBR=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5666 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 09:38:39 +00:00
stefan@webrtc.org
f9e7c9d865 Add option to bwe_rtp_to_text to output arrival times only in nanoseconds.
R=andresp@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5665 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-10 09:11:21 +00:00
fischman@webrtc.org
a01daf0359 RTCPeerConnectionTest(objc): deflake by ignoring ICECompleted.
Delivery of the state seems intermittent at best on OS/X so
ignore it until we can make it reliable.

BUG=1414,2993,chromium:348982
TBR=bemasc@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5664 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-08 03:17:55 +00:00
fischman@webrtc.org
13320ea3d3 PeerConnectionTest(objc): expect ICE Completed state post 61460797-p10
Also a few trivial cleanups:
- No need to use STUN for a loopback test
- Reduce test call duration 10s->2s for faster iteration
- Remove obviously-irrelevant Info.plist entries (copy/pasta from iOS)

BUG=1414,2993
R=noahric@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5663 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 22:15:30 +00:00
marpan@webrtc.org
781146964e Roll libvpx 251850:254609
R=andrew@webrtc.org
TBR=ajm@google.com

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5662 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 22:13:51 +00:00
jiayl@webrtc.org
11aab0edc2 Populate VoiceReceiverInfo::delay_estimate_ms, jitter_buffer_ms, and jitter_buffer_preferred_ms to getStats.
BUG=2665
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5661 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 18:56:26 +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
henrike@webrtc.org
cc08e3f9b1 Moves WEBRTC_POSIX define from header file to gyp-settings.
Makes WEBRTC_POSIX defined in the same place as the other OSs also this is needed to prevent excessive changes to talk/base files when migrating them to webrtc/base

BUG=N/A
R=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:30:21 +00:00
pbos@webrtc.org
3ecc162d01 Remove std:: prefixes from C functions in webrtc/.
std::memcpy -> memcpy for instance. This change was motivated by a
compile report complaining that std::rand() was used instead of rand(),
probably with a stdlib.h include instead of cstdlib. Use of C functions
without the std:: prefix is a lot more common, so removing std:: to
address this.

BUG=
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5658 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:23:34 +00:00
pbos@webrtc.org
371243dfa3 Remove std:: prefixes from C functions in talk/.
std::memcpy -> memcpy for instance. This change was motivated by a
compile report complaining that std::rand() was used instead of rand(),
probably with a stdlib.h include instead of cstdlib. Use of C functions
without the std:: prefix is a lot more common, so removing std:: to
address this.

BUG=
R=tommi@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5657 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 15:22:04 +00:00
minyue@webrtc.org
46509c8d58 adding FEC support to WebRTC Opus wrapper and tests.
BUG=
R=tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5656 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 11:49:11 +00:00
minyue@webrtc.org
04546884bf This CL is to add Opus complexity knob and to test it.
As a by-product, a generic tool for testing and comparing the complexity of codecs is added, and new audio files are added to the resources.

Three complexity tests are included
1. Default Opus complexity
2. Opus complexity knob
3. Default iSAC complexity (to compare with Opus)

The complexity tests are only meant for development reasons
and not to be run at bots.

The .isolate file is only needed for the APK packaging and test execution on Android.

TEST=passes all trybots

BUG=
R=kjellander@webrtc.org, tina.legrand@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5655 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-07 08:55:48 +00:00
wu@webrtc.org
ebdb0e3ad0 Help to land 7969005 on behalf of solenberg. The review and try is done in 7969005.
- Add ability to VoE to send Absolute Sender Time header extension.
- Refactor handling of RTP header extensions in VoE to work the same as in ViE.
- Add API to enable receiving Absolute Sender Time in VoE.

This is part of the work to include audio packets in bandwidth estimation, for
better accuracy in estimates.

BUG=
TBR=solenberg@webrtc.org,henrikg@webrtc.org,stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 23:49:08 +00:00
henrike@webrtc.org
79047f99c1 (Auto)update libjingle 62691533-> 62713454
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5653 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 23:46:59 +00:00
henrike@webrtc.org
2d213e450c (Auto)update libjingle 62550414-> 62691533
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5652 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 18:51:21 +00:00
pbos@webrtc.org
f714e7faea Remove abs() use in PseudoTcp::process.
Squelches a clang 3.5 compile error for using abs() with a long instead
of labs(). Updated affected code to use uint32:s to match the sign of
m_rx_srtt.

BUG=
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5651 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 18:31:08 +00:00
stefan@webrtc.org
45846977f9 Fixes a bug in the simulation framework where the time offset is accumulating as the packet trace is repeated, causing increasingly large gaps with no packets being transmitted.
R=solenberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5650 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 15:46:46 +00:00
henrik.lundin@webrtc.org
ed865b5d46 NetEq4: Changing the behavior of playout_timestamp_ update
The variable playout_timestamp_ was not updated to the latest decoded
timestamp while comfort noise was played. Instead, it was upadted using
dead reckoning, which caused it to drift away from the timestamps of the
incoming CNG packets. Now it is updated also during comfort noise
playout.

Since the change is only in NetEq4, this change also makes the test
PlaysOutAudioAndVideoInSync use both ACM1/NetEq3 and ACM2/NetEq4.

Re-enabling one NetEq unit test that is no longer failing thanks to this CL.

BUG=2932
R=stefan@webrtc.org, turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 10:28:07 +00:00
sprang@webrtc.org
60ad5fdadf Potential deadlock in VideoSendStreamTest::ProducesStats
VideoSendStream::GetStats() should not be called by
RtpRtcpObserver::OnSendRtcp(), as at this stage that thread will still
hold internal send locks.

Use an event and signal the test thread to call GetStats() instead.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5648 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 10:03:36 +00:00
henrik.lundin@webrtc.org
998cb8fcd0 Use DISABLE_ instead of commenting out tests
BUG=2636
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5647 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-06 09:12:00 +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
mflodman@webrtc.org
a0d11da359 Remove upper check for number of cores in VCM, I didn't find any good reasons for checking this.
BUG=2990
TEST=Manually adding a high number without any noticable change.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5645 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 15:18:45 +00:00
kjellander@webrtc.org
cf85f1cf3c Reorganize libjingle path variables.
BUG=chromium:343106
TEST=Trybots passing. I also successfully ran build/gyp_chromium and built Chromium with the talk/build/common.gypi modification in the checkout.
R=andrew@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5644 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 00:40:33 +00:00
jan.skoglund@webrtc.org
9f4d2125d7 adding sha1 files for audio classifier test
This needs to done in a separate CL since the Android APK
trybots cannot handle patches into the resources directory
due to the fact that they work from a Chromium checkout and
applies the patch into src/third_party/webrtc.

BUG=
R=turaj@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5643 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 00:27:24 +00:00
bjornv@webrtc.org
3e0b60f465 Switch to correct interpretation of int and float input data in audio_processing_unittest
BUG=N/A
TESTED=trybots
TBR=andrew@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5642 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-05 00:18:53 +00:00
andrew@webrtc.org
17e40641b3 Add a deinterleaved float interface to AudioProcessing.
This is mainly to support the native audio format in Chrome. Although
this implementation just moves the float->int conversion under the hood,
we will transition AudioProcessing towards supporting this format
throughout.

- Add a test which verifies we get identical output with the float and
int interfaces.
- The float and int wrappers are tasked with conversion to the
AudioBuffer format. A new shared Process/Analyze method does most of
the work.
- Add a new field to the debug.proto to hold deinterleaved data.
- Add helpers to audio_utils.cc, and start using numeric_limits.
- Note that there was no performance difference between numeric_limits
and a literal value when measured on Linux using gcc or clang.

BUG=2894
R=aluebs@webrtc.org, bjornv@webrtc.org, henrikg@webrtc.org, tommi@webrtc.org, turaj@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5641 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 20:58:13 +00:00
henrike@webrtc.org
b90991dade Update libjingle 62472237->62550414
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5640 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 19:54:57 +00:00
fischman@webrtc.org
7bd4a27502 VideoCaptureAndroid: don't deliver frames after stopCapture().
Because stopCapture() and onPreviewFrame() are called on different threads, and
are both synchronized, it's possible for onPreviewFrame() to commence execution
after stopCapture() has completed, causing a SEGV because the native code is no
longer prepared to accept frames.
Clarify the contract around synchronized methods in this class to hopefully
avoid similar bugs in future.

BUG=2947
R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5639 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 18:17:55 +00:00
henrik.lundin@webrtc.org
be50ab645a Including algorithm header to avoid VS2013 breakage
The header file <algorithm> must be included when std::min and std::max
are used.

R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5638 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 15:10:03 +00:00
kjellander@webrtc.org
52e898d7b9 Add .bin and .rx files to svn:ignore in resources
This will prevent these files to get reverted and
redownloaded each time, thus improving bot cycling
speeds.



git-svn-id: http://webrtc.googlecode.com/svn/trunk@5637 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 06:49:52 +00:00
pbos@webrtc.org
24dae9419a Add pthatcher@webrtc.org to talk/OWNERS.
pthatcher@ is a new member of the team with good libjingle knowledge.

BUG=
R=juberti@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5636 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 05:58:25 +00:00
kjellander@webrtc.org
a25a92e107 Add third_party dependencies to svn:ignore
Adding the following directories to svn:ignore:
* third_party\clang_format
* third_party\syzygy
* third_party\usrsctp

Also fixing the:
* third_party\winsdk_samples\src
since the previous ignore configuration for
it didn't have any effect.



git-svn-id: http://webrtc.googlecode.com/svn/trunk@5635 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-04 02:12:28 +00:00
jiayl@webrtc.org
db41b4dbcd Remove the deprecated GetStats method from PeerConnectionInterface.
R=fischman@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5634 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 21:30:06 +00:00
jiayl@webrtc.org
80bbf4c312 Enable test SSLStreamAdapterTestDTLS.TestDTLSConnectWithSmallMtu since it does not fail anymore.
BUG=2712
R=mallinath@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5633 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 18:41:27 +00:00
henrike@webrtc.org
40b3b68cdf Update libjingle 62364298->62472237
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5632 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 18:30:11 +00:00
henrike@webrtc.org
1bbfb57d71 Rollback of r5629 "(Auto)update libjingle 62364298-> 62368661".
BUG=N/A
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5631 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 17:37:52 +00:00
pbos@webrtc.org
0117d1c48c Fix compilation errors under clang 3.5.
Enables building tip-of-tree clang which introduces new warnings that
cause compilation errors in our code base (-Werror).

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5630 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 16:47:03 +00:00
henrike@webrtc.org
31413dc635 (Auto)update libjingle 62364298-> 62368661
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5629 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-03 16:47:01 +00:00
fischman@webrtc.org
10adbeff78 Exclude /out* instead of just /out from pylint checks.
This matches .gitignore's pattern, and avoids tons of presubmit errors when
building to multiple out directories (e.g. using
GYP_GENERATOR_FLAGS=output_dir=out_android)
R=andrew@webrtc.org, phoglund@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5628 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 02:09:36 +00:00
fischman@webrtc.org
2bd5944144 Re-enable libjingle_peerconnection_java_unittest since bug 2952 is fixed.
This was disabled in r5598.

BUG=2960
TESTED=test passes locally and runs & passes on git try --bot=linux_baremetal
R=henrike@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5627 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 00:07:08 +00:00
mallinath@webrtc.org
d3dc424fe5 Remove posting of ICE messages from WebRTCSession in PeerConnection to signaling thread.
These callbacks are called from signal thread already. There is no point
in posting messages on the same thread again.

BUG=2922
R=fischman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5626 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 00:05:52 +00:00
fischman@webrtc.org
bcfc1670d6 AppRTCDemo(android): don't send local SDP until it's set.
This fixes a race condition where the remote participant could receive the
offer, create & set its answer locally, send it back, and then try to set the
answer before the local set completed.  Observed intermittently in loopback
calls when setLocalDescription is intentionally delayed (debugging something
else).

R=henrike@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5625 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-03-01 00:02:27 +00:00
henrike@webrtc.org
b898ce9227 Revert of r5622 "disable unit tests" as it should be fixed in r5623.
BUG=2981
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5624 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-28 23:18:44 +00:00
henrike@webrtc.org
b8395ebe14 (Auto)update libjingle 62293974-> 62364298
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-28 21:57:22 +00:00
henrike@webrtc.org
eec3843596 TSAN only disable of two of libjingle's tests for atomic ops as they are failing for TSAN-bot.
BUG=2981
R=wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5622 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-28 18:06:42 +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
andrew@webrtc.org
56e4a05053 Remove ProcessingComponent's dependence on AudioProcessingImpl.
- Move needed accessors to AudioProcessing.
- Inject the crit directly as a dependency.
- Remove the now unneeded EchoCancellationImplWrapper.

BUG=2894
R=aluebs@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5620 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 22:23:17 +00:00
henrike@webrtc.org
806768a6ca (Auto)update libjingle 62281784-> 62293974
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5619 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 21:03:09 +00:00
henrike@webrtc.org
704bf9ebec (Auto)update libjingle 62063505-> 62278774
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5617 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 17:52:04 +00:00
jiayl@webrtc.org
f0fc72f70e Call PrintWindow for the first time of capturing to capture the window frames correctly.
This will fix artifacts on the captured window frames, especially for cmd, which
sometimes leaks glimpss of other window's content.

BUG=
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@5616 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-02-27 16:43:12 +00:00