Commit Graph

1419 Commits

Author SHA1 Message Date
d212ffcfc6 Remove unnecessary build message.
R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6660 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 11:15:35 +00:00
4ef438e2de Remove the send-side cname getter APIs from voice and video engine.
These APIs aren't being used, and introduces deadlocks when using GetStats() in the new Call api. Having getters for cname at the send-side is pointless, as it's always the user who sets the cname.

R=henrika@webrtc.org, pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6659 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-11 09:55:30 +00:00
72491b9a90 Count total bytes sent in RTPSender::Bytes().
Previously only media bytes were included, this adds header bytes and
padding bytes to the calculation.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6654 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 16:24:54 +00:00
0422100818 Fix data race in VCMTiming::ResetDecodeTime.
Also thread annotating class.

BUG=
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6653 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 15:25:37 +00:00
8f1512140e Refactor registerable callbacks for FrameCountObserver from rtp_rtcp module into vie_channel.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6649 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 09:39:23 +00:00
5bde66e913 audio_processing: Updates aec_core_sse2.c with changes made to aec_common.h
The change of definitions moved to aec_common.h was done in CL17839005.

BUG=3131
TBR=kwiberg@webrtc.org
TESTED=builds locally

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6648 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:09:50 +00:00
555fc78f27 Neon version of SubbandCoherence()
The performance gain on a Nexus 7 reported by audioproc is ~1.4%

The output is NOT bit exact.  Any difference seen is +-1.

BUG=3131
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6647 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 08:03:11 +00:00
ac800c8004 Neon version of rftbsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~4.5%

The output is bit exact.

BUG=3131
TESTED=trybots and manually
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6646 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 07:53:13 +00:00
5ac876bae0 Revert "Remove remains of WEBRTC_NO_STL." (rev 6641).
Reason breaks linux_memcheck.

TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6645 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-10 07:41:59 +00:00
47d1c98a4e Remove remains of WEBRTC_NO_STL.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6641 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 20:18:28 +00:00
10ef8fe611 Create FullScreenChromeWindowDetector in DesktopConfigurationOptions::CreateDefault.
BUG=crbug/385294
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6640 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 19:41:32 +00:00
b753762ce6 delay_estimator: Increases test coverage and makes input spectrum const
Noticed lack in tests verifying initial state is not left if we have zero input spectra. This CL adds such a test and change input spectra to const at affected places.

BUG=N/A
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6631 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-09 06:40:09 +00:00
12b4efefdd Implement a work around for Chrome full-screen tab switch on Mac.
Chrome creates a new window in full-screen and minimizes the old window when a tab is switched to full-screen.
We try to find the new window to continue capturing for window sharing.

BUG=crbug/385294
R=sergeyu@chromium.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6629 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 22:05:24 +00:00
e55641d4f7 Neon version of rftfsub_128()
The performance gain on a Nexus 7 reported by audioproc is ~3.3%

The output is bit exact.

BUG=3131
TESTED=trybots and manually on N7
R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6628 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 21:12:23 +00:00
d11bec40b2 Refactor registerable callbacks for VideoBitrateObserver from rtp_rtcp module into vie_channel.
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6626 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 14:32:58 +00:00
62bafae661 Some refactoring inside rtp_rtcp/.
Renaming ModuleRTPUtility -> RtpUtility.
Renaming RTPHeaderParser -> RtpHeaderParser.
Making RtpHeaderParser accept size_t instead of int for packet length.
Making RtpUtility::RtpHeaderParser accept size_t for packet length.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6623 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 12:10:51 +00:00
241a9b0b65 Fixing compile error.
Made a mistake in https://webrtc-codereview.appspot.com/13849004/,
fixing that here.

TBR=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6622 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 11:48:37 +00:00
22292df53b Adding explicit check for using dummy file devices.
Calling into the file device factory without being compiled with file
devices makes no sense and would cause hard-to-debug errors. Therefore
I'm adding an explicit check so this isn't allowed.

R=henrika@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6621 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-08 11:39:19 +00:00
2bb1bdab8d Preserve RTP states for restarted VideoSendStreams.
A restarted VideoSendStream would previously be completely reset,
causing gaps in sequence numbers and potentially RTP timestamps as well.
This broke SRTP which requires fairly sequential sequence numbers.
Presumably, were this sent without SRTP, we'd still have problems on the
receiving end as the corresponding receiver is unaware of this reset.

Also adding annotation to RTPSender and addressing some unlocked
access to ssrc_, ssrc_rtx_ and rtx_.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6612 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 13:06:48 +00:00
73823cafa4 Add initial gn build files for video_coding and video_processing.
BUG=
R=kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6611 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 11:46:43 +00:00
03c817e405 Fix pacer to accept duplicate sequence numbers on different SSRCs.
BUG=3550
R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6610 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-07 10:20:35 +00:00
7832648824 Add missing break introduced in r6603.
R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6607 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 17:04:00 +00:00
bee164a214 Fix test issues and a win compile error introduced with r6605.
Also changes the name of a variable which has been hijacked by windef.h (included by windows.h), which forces #define near and #define far upon us. This issue was introduced via the following inclusion chain:
bwe_test_framework_unittest.cc includes
  paced_sender.h
    tick_util.h
      windows.h
        windef.h

And causes EXPECT_NEAR(foo, bar, near); to expand to EXPECT_NEAR(foo, bar,); generating a very confusing compile error.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6606 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 17:00:06 +00:00
875ad49dee Revert conversion from TickTime to int64_t in paced sender.
Introduced with r6600, causing flakes in SuspendBelowMinBitrate. The reason for this flake is currently unknown.

R=pbos@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6605 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 15:27:55 +00:00
b9f5453e29 Add boilerplate code for H.264.
R=mflodman@webrtc.org, niklas.enbom@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6603 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 12:42:07 +00:00
20c1f56992 Configure RTX send status on new modules.
Fixes bug where newly-allocated modules wouldn't send payload-based
padding (or probably not send over RTX at all).

As the newly-added test exposed lock-inversions shown on tsan in
VideoReceiver, VideoReceiver was thread-annotated and locks taken less.
BUG=chromium:391085
R=mflodman@webrtc.org, stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6601 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 10:58:12 +00:00
88e0dda475 Introduces PacedVideoSender to test framework and moves the Pacer to use Clock.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6600 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-04 09:20:42 +00:00
720964faac Fix memcheck error in r6594.
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6596 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 21:14:07 +00:00
c8364539d3 Fix for FEC decoding with sequence number wrap-around.
BUG=3507
R=stefan@webrtc.org
TBR=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6594 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 16:49:30 +00:00
69ef9911e4 delay_estimator: Allows dynamically used history sizes
Gives the user a possibility to dynamically change the history size. The main advantage is, for example, that you now can start with a wide delay range and over time decrease the search window to lower complexity.

Adds
- two new APIs.
- and updates unit tests.
- a history_size member variable to BinaryDelayEstimator.
- two help function re-allocating buffer memory.

One thing that makes this a little complicated is that you are allowed to have multiple delay estimators with the same reference, so changing the buffer sizes at one place will automatically give you a mismatch at other places.

BUG=3532, 3504
TESTED=trybots and manually
R=aluebs@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6593 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 14:59:03 +00:00
224a140339 Make experimental NS API not purely virtual
Because not all subclasses will want to bother overriding these methods.

R=bjornv@webrtc.org, kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6592 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:41:39 +00:00
c0ba4392f1 common_audio: Removes macro WEBRTC_SPL_SHIFT_W16
We should avoid macros in general (see style guide). This shift macro is not a severe one, since there is a check for negativity.

BUG=3348,3353
TESTED=trybots and manually
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6591 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 13:38:53 +00:00
38214d53db EchoCancellationImpl::ProcessRenderAudio: Use float samples directly
This patch lets EchoCancellationImpl::ProcessRenderAudio ask the given
AudioBuffer for float sample data directly, instead of asking for
int16 samples and then converting manually.

Since EchoCancellationImpl::ProcessRenderAudio takes a const
AudioBuffer*, it was necessary to add some const accessors for float
data to AudioBuffer.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6590 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-03 09:47:33 +00:00
93426cd2ff Implement BUILD.gn for desktop_capture.
BUG=3441
R=brettw@chromium.org, kjellander@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6584 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-02 15:47:12 +00:00
74bf7a6523 Add tkchin@ to OWNERS.
Adding myself to OWNERS of subdirectories containing iOS bits.  Added niklas.enbom@ for audio_device and wu@ for everything else.

R=niklas.enbom@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6578 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 18:38:28 +00:00
9138eb649b Fix compile error introduced with r6571.
TBR=mflodman@webrtc.org

BUG=3527

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6572 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 12:44:05 +00:00
5779ca478d Fixes a potential BWE clock mismatch bug.
Since libjingle provides a packet arrival timestamp to webrtc, and the clock in remote bitrate estimator and the clock used for packet arrival timestamp can be different. This can cause the bandwidth estimator to malfunction.

This CL changes the remote bitrate estimator so that packet arrival timestamps never are compared to the time taken from the internal clock.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6571 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 12:14:49 +00:00
6d21ddca5f audio_processing/aec: Refactors NonLinearProcessing to prepare for NEON optimizations
Puts functionality necessary to calculate sub-band coherences into a function.

BUG=3131
TESTED=trybots
R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6570 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-07-01 10:03:42 +00:00
59adb1dcd7 Neon version of cftmdl_128()
The performance gain on a Nexus 7 reported by audioproc is ~2.3

The output is bit exact.

R=bjornv@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6568 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 19:34:33 +00:00
9825afc3bd Add ExperimentalNs support in Config
R=andrew@webrtc.org, xians@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6567 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 17:39:53 +00:00
cd9b90ab53 Neon version of cft1st_128()
The performance gain on a Nexus 7 reported by audioproc is ~2%

See comments regarding the output.

R=bjornv@webrtc.org, cd@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6564 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 12:05:18 +00:00
ae7cfd7bc8 Make MediaOptimization thread-safe.
HW encoder posts the encode callback to libjingle worker
thread. It accesses MediaOptimization and is not protected
by the critial section of VideoSender. Make MediaOptimization
thread-safe to fix it.

BUG=chromium:367691
TEST=Run apprtc loopback with SW or HW encoders.
     Run module_unittests.

R=stefan@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6562 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-30 08:01:47 +00:00
c8e98187d1 Receiver bit-exactness test for AudioCoding Module
This CL introduces a bit-exactness test for the receive-side of the
AudioCoding Module. The main part of the test is done in the helper
class AcmReceiveTest. The test is executed from the test fixture
AcmReceiverBitExactness.

The test inserts packets from a pre-encoded RTP file. The output is
summed up into a checksum, which is verified versus a reference at the
end of the test. Alternatively, if the flag --generate_output is given,
the output is written to a file for subjective verification.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6549 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 19:07:04 +00:00
aa0e56e8e8 Fixes a bug causing NACKs to be dropped excessively at the send-side.
This was introduced in r6472 where the target bitrate was changed to be stored in bits/s instead of kbits/s, but the storage type was accidentally left as uint16_t. This caused the bitrate to be truncated, which at times causes NACKs to be dropped due to insufficient bitrate available.

BUG=3518
TEST=Tested in Chrome, trybots and verified that it fixes the bug in vie_auto_test loopback test.
R=mflodman@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6544 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-26 11:44:49 +00:00
fe526ff10f fix after r6472 in rtp_sender, comparison between signed and unsigned integer expressions.
BUG=N/A
R=pwestin@webrtc.org, wu@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6539 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 20:59:51 +00:00
3b84b3a58c Add RTCP packet types to packet builder:
REMB, TMMBR, TMMBN and
extended reports: RRTR, DLRR, VoIP metric.

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

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6537 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:22:17 +00:00
6568e97d10 This is to compare NetEq with various codecs under a shared packet loss pattern.
TEST=passed_all_trybots
R=henrik.lundin@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6536 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:17:41 +00:00
d5075bdbb5 Neon version of FilterFar()
The performance gain on a Nexus 7 reported by audioproc is ~3.5%.

The output is bit exact.

BUG=3131
TESTED=verified performance manually, passed trybots
R=bjornv@webrtc.org, cd@webrtc.org, kwiberg@webrtc.org

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

Patch from Scott LaVarnway <slavarnw@gmail.com>.

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6535 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 12:15:46 +00:00
1ed1af9b31 Remove payload duplication in AudioDecoderTest
This hack was made to come around issue 845. Now that is solved, and
the test code can be cleaned up.

BUG=845
R=kwiberg@webrtc.org, tina.legrand@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6534 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-25 07:59:40 +00:00
eecf5e6ba7 Removing neteq decode lock and friends
NetEq is thread-safe by virtue of it's own lock, and in r6404 the
ACMISAC class was made thread-safe. Therefore, the neteq decode lock
is no longer needed.

R=kwiberg@webrtc.org

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

git-svn-id: http://webrtc.googlecode.com/svn/trunk@6531 4adac7df-926f-26a2-2b94-8c16560cd09d
2014-06-24 13:11:22 +00:00