The idea is to have all frames not in use be stored in free_frames_, and whenever a packet from a new frame arrives we can just pop a frame from free_frames_. When a frame is grabbed for decoding it will be removed from all lists, and will be added to free_frames_ when it's returned to the jitter buffer.
We should be able to remove the state enum completely later, as their state is defined by the list they are in. But I'll keep it around for now to simplify the cl.
TEST=try bots and vie_auto_test --automated
R=mikhal@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1721004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4273 4adac7df-926f-26a2-2b94-8c16560cd09d
- A bug was introduced in r4234 causing no paced packets to be sent.
- Only update the sequence number counter if a padding packet is actually going to be sent, to avoid packet loss.
- Have all packets go through the pacer if pacing is enabled to avoid reordering.
- Fix race condition on reading capture_time_ms_/timestamp_ in rtp_sender.cc.
BUG=1837
TEST=trybots and vie_auto_test --automated
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1682004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4246 4adac7df-926f-26a2-2b94-8c16560cd09d
This connects the pacer-based padding with the RTP modules, which will
generate padding packets roughly according to what the pacer suggests.
It will only generate padding packets of maximum size to keep the number
off padding packets as small as possible. This also sets a limit of how much
padding + media bitrate which the pacer is allowed to "request" from the
RTP modules.
Padding will for now only be generated by the first sending RTP module.
BUG=1837
R=mflodman@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1612005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4234 4adac7df-926f-26a2-2b94-8c16560cd09d
A new test target named 'modules_integrationtests' is created
and the following test targets were merged into it:
* audio_coding_module_test
* test_fec
* video_coding_integrationtests
* vp8_integrationtests
A couple of other targets were merged into modules_unittests:
* audio_coding_unittests
* audioproc_unittest
* common_unittests
* video_coding_unittests
* video_processing_unittests
* vp8_unittests
I wasn't able to merge audio_decoder_unittests and neteq_unittests due to
conflicts with different defines in these tests.
Some tests that have special requirements aren't merged into
modules_integrationtests yet. I took the opportunity to rename them
since the bot configs will need to be update anyway:
* audio_device_test_api -> audio_device_integrationtests
* video_capture_module_test -> video_capture_integrationtests
* video_render_module_test -> video_render_integrationtests
Exclude files were added for modules_integrationtests to make sure
the memcheck and tsan bots doesn't tests that are too slow
(audio_coding_module_test and vp8_integrationtests were previously
disabled on those bots).
Suppressions for AudioCodingModuleTest needed to be added to get
modules_integrationtests to pass memcheck (even if the test is
excluded from execution).
BUG=1843
TEST=local execution on Linux and trybots (passing except the merged tests of course)
R=andrew@webrtc.org, tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1656004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4228 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL will lower the number of test targets in WebRTC by:
Add common_audio_unittests and merge the following targets into it (copied from http://review.webrtc.org/1584006):
* resampler_unittests
* signal_processing_unittests
* vad_unittests
Merge into modules_unittests:
* bitrate_controller_unittests
* desktop_capture_unittests
* media_file_unittests
* remote_bitrate_estimator_unittests
* rtp_rtcp_unittests
* paced_sender_unittests
Merge into test_support_unittests:
* channel_transport_unittests
channel_transport.gyp was also removed in favor for test.gyp.
I had to remove a main method from rtcp_format_remb_unittest.cc
since it caused the fileutils.h code to not be able to find the
right project root path in ordrer to provide correct paths
to test files.
Buildbot configuration update will be synced with the commit of this CL.
TEST=trybots
BUG=1843
R=andrew@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1639004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4213 4adac7df-926f-26a2-2b94-8c16560cd09d
Changes in this CL:
- CaptureCursor() scans the cursor to verify that it has alpha channel.
- The AND mask of the cursor is used to reconstruct transparency if the cursor does not have alpha channel.
- CaptureCursor() always outlines the cursor when a "screen reverse" pixel detected. Previously it was only done for black and while cursors.
Added desktop_capture_unittest.MouseCursorShapeTest to test the cursor conversion code.
BUG=chromium:223147
R=sergeyu@chromium.org
Review URL: https://webrtc-codereview.appspot.com/1627004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4210 4adac7df-926f-26a2-2b94-8c16560cd09d
Does not increase memory requirements. Adds an additional check to ensure
configurations requiring more memory per IO block than the input ring buffer
contains are rejected.
BUG=1904
TESTED=Using Soundflower (64 channels) at 48 kHz as input gives good quality.
Selecting a higher sample rate (96 kHz), which would otherwise give choppy
audio, instead results in an error.
R=henrika@webrtc.org, xians@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1628004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4198 4adac7df-926f-26a2-2b94-8c16560cd09d
This CL eliminates the webrtc_utility_unittests test target.
NOTICE: Upon committing, this test must be removed from the
Buildbot configuration.
BUG=1843
TEST=trybots passing. Compiled and ran modules_unittests, verified the
AudioFrameOperationsTest test executes and passes.
R=henrika@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1584004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4181 4adac7df-926f-26a2-2b94-8c16560cd09d
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1460
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1595004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4165 4adac7df-926f-26a2-2b94-8c16560cd09d
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1459
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1594004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4164 4adac7df-926f-26a2-2b94-8c16560cd09d
Having this failing test being disabled in code will make it
possible to add it on the bots again, and make thus no bot
configuration update needs to be communicated when it's fixed.
BUG=1458
TEST=Compiled with GYP_DEFINES=target_arch=x64 and ran the
test successsfully on Windows. Also ran regular trybots.
R=tina.legrand@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1593004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4163 4adac7df-926f-26a2-2b94-8c16560cd09d
DecodedImageCallback is allowed to be called on a thread different from decoding thread. To avoid the deadlock in VCMDecodedFrameCallback::Decoded, VCMDecodedFrameCallback::_critSect should not be held while calling VCMReceiveCallback::FrameToRender.
BUG=1832
R=stefan@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1570004
Patch from Wu-Cheng Li <wuchengli@chromium.org>.
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4162 4adac7df-926f-26a2-2b94-8c16560cd09d
* The old resampler was found to have a wraparound bug.
* Remove support for the old resampler from PushResampler.
* Use PushResampler in AudioCodingModule.
* The old resampler must still be removed from the file utility.
BUG=webrtc:1867,webrtc:827
TESTED=unit tests, Chrome using apprtc and voe_cmd_test to verify wrap-around is corrected, voe_cmd_test running through all supported codec sample rates and channels to verify good quality audio
R=henrika@webrtc.org, turaj@webrtc.org
Review URL: https://webrtc-codereview.appspot.com/1590004
git-svn-id: http://webrtc.googlecode.com/svn/trunk@4156 4adac7df-926f-26a2-2b94-8c16560cd09d