summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Adding input and output audio backend to Android.xians@chromium.org2012-04-0210-10/+828
| | | | | | | | | | | | | | This CL will totally add 117.2K bytes in size: Without this CL, media_unittests binary has size 30798296; with this CL, it increase to 30918316. BUG=116803 TEST=modified media_unittests Review URL: http://codereview.chromium.org/9655023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130174 0039d316-1c4b-4281-b951-d872f2087c98
* Remove DemuxerFactory and URL parameter from Pipeline.scherkus@chromium.org2012-04-0231-642/+283
| | | | | | | | | | | | Since Demuxers still require asynchronous initialization DemuxerFactory::Build() has been replaced with Demuxer::Initialize(). Since FFmpegDemuxer is the only Demuxer requiring a DataSource it is now passed in via FFmpegDemuxer's constructor. Now that Demuxer::set_host() is guaranteed to be called prior to initialization we're able to tighten up some code inside ChunkDemuxer. We should still nuke set_host() (see bug 111585) but I'll leave that for a future CL. BUG=110804, 110809 Review URL: https://chromiumcodereview.appspot.com/9860027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130165 0039d316-1c4b-4281-b951-d872f2087c98
* Remove shader_bench from "make all" target on ChromeOS.kinaba@chromium.org2012-03-311-1/+1
| | | | | | | | | | | | | | The current gyp drops shader_bench target only when OS!=mac. But it also fails to link on other "!win and !gtk" environments. This patch removes the target on such configuration. BUG=none TEST=manually check that GYP_DEFINES="chromeos=1"'ed ninja all didn't fail at shader_bench Review URL: http://codereview.chromium.org/9942005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130057 0039d316-1c4b-4281-b951-d872f2087c98
* Move DataSource::SetPreload() to BufferedDataSource.scherkus@chromium.org2012-03-3118-102/+1
| | | | | | | | | | Preload is a concept that only applies to HTML media elements and is only implemented by BufferedDataSource. Since the preload value is known when BufferedDataSource is created by WebMediaPlayerImpl, we can remove a lot of unnecessary plumbing in the media code. TEST=amount of data buffered (either visible on controls or via buffered attribute) is the same for each preload value (none, metadata, and auto). http://mastodon.sea/demos/preload contains a test page. Review URL: https://chromiumcodereview.appspot.com/9864022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130004 0039d316-1c4b-4281-b951-d872f2087c98
* Call VideoDecoder::set_host() now that VD is no longer part of CompositeFilter.fischman@chromium.org2012-03-301-0/+1
| | | | | | | | | | | | | | | r128289 moved VideoDecoder out of the CompositeFilter, but that caused it to silently lose the Filter::set_host() call it was getting from CompositeFilter::AddFilter() before. This CL restores that call in the renderer's Initialize() method. This makes decode errors correctly report to the Pipeline again, instead of crashing the renderer on a SEGV. BUG=121014 TEST=playback of misdecoded file no longer crashes renderer, just greys out controls. Review URL: https://chromiumcodereview.appspot.com/9957001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129977 0039d316-1c4b-4281-b951-d872f2087c98
* Make preprocessor directives clearertbreisacher@chromium.org2012-03-301-6/+4
| | | | | | | | | | CID=101617,101618 BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9871001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129967 0039d316-1c4b-4281-b951-d872f2087c98
* Fix h.264 Profile conversion between ppapi & media worlds (since they were ↵fischman@chromium.org2012-03-301-0/+1
| | | | | | | | off by one before). Review URL: https://chromiumcodereview.appspot.com/9864025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129951 0039d316-1c4b-4281-b951-d872f2087c98
* Expose decryptor to WebMediaPlayerImpl.scherkus@chromium.org2012-03-307-15/+41
| | | | | | | | | | | | With this patch, we can to pass AddKey from WebKit (via WebMediaPlayerImpl) to the real decryptor in FFmpegVideoDecoder. Patch by xhwang@chromium.org: https://chromiumcodereview.appspot.com/9706064/ BUG=117063 TEST=media_unittests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129922 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the unnecessary VDA::Profile typedef with media::VideoCodecProfilefischman@chromium.org2012-03-302-5/+2
| | | | | | | | | Originally landed as: http://src.chromium.org/viewvc/chrome?view=rev&revision=129752 Reverted in: http://src.chromium.org/viewvc/chrome?view=rev&revision=129765 Review URL: http://codereview.chromium.org/9863027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129816 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 129752 - Replace the unnecessary VDA::Profile typedef with ↵mihaip@chromium.org2012-03-302-2/+5
| | | | | | | | | | | media::VideoCodecProfile Review URL: http://codereview.chromium.org/9863027 TBR=fischman@chromium.org Review URL: https://chromiumcodereview.appspot.com/9937008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129765 0039d316-1c4b-4281-b951-d872f2087c98
* Replace the unnecessary VDA::Profile typedef with media::VideoCodecProfilefischman@chromium.org2012-03-302-5/+2
| | | | | | Review URL: http://codereview.chromium.org/9863027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129752 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid leaking memory in PostTaskAndReply by Run()'ing the message_loop.fischman@chromium.org2012-03-301-3/+6
| | | | | | | | | | | | Turns out that PostTaskAndReply to a runner that never Run()s triggers a leak. See http://crbug.com/120289 for details. BUG=119714 TEST=Cmd line that uses suppressions before this CL and doesn't after: ./tools/heapcheck/chrome_tests.sh --build_dir ninja/Debug --test media --gtest_filter=AudioInput* Review URL: http://codereview.chromium.org/9858027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129735 0039d316-1c4b-4281-b951-d872f2087c98
* Fix -Wnull-conversion warning in media.thakis@chromium.org2012-03-291-1/+2
| | | | | | | | | BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9911028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129700 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 129623, this was creating ~92 (test-only) heapcheck leak reports.rnk@chromium.org2012-03-291-5/+1
| | | | | | | | | | | | | | | | | | - Fixed Close() method of TestAudioInputController (callback on caller thread). It has been changed to make this test class work coherently with the mocked AudioInputController, according to the modifications made in CL 9858007 (which issue the callback from the caller thread, not from the audio thread anymore). BUG=120110, 120111 TEST=Run content_unittests. Review URL: https://chromiumcodereview.appspot.com/9864031 TBR=primiano@chromium.org,jhawkins@chromium.org Review URL: https://chromiumcodereview.appspot.com/9924025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129674 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Removed always-true ifgroby@chromium.org2012-03-291-10/+8
| | | | | | | | | | | | | WAVEINCAPS.szPname is an array, not a pointer --> always != NULL CID=103610 BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9873001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129657 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Fixed possible resource leakgroby@chromium.org2012-03-291-1/+1
| | | | | | | | | | | | | Return value of 0 from open is a valid (if uncommon) result. Current code would leak that CID=101985 BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9837091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129656 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Pass-by-val -> pass-by-refgroby@chromium.org2012-03-291-5/+6
| | | | | | | | | | | | CID=101489,101490,101491,101492 CID_COUNT=4 BUG= TEST= Review URL: https://chromiumcodereview.appspot.com/9873008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129654 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed Close() method of TestAudioInputController (callback on caller thread).primiano@chromium.org2012-03-291-1/+5
| | | | | | | | | | | It has been changed to make this test class work coherently with the mocked AudioInputController, according to the modifications made in CL 9858007 (which issue the callback from the caller thread, not from the audio thread anymore). BUG=120110, 120111 TEST=Run content_unittests. Review URL: https://chromiumcodereview.appspot.com/9864031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129623 0039d316-1c4b-4281-b951-d872f2087c98
* AUAudioOutputStream::Stop() first sets the source_ to NULL then calls ↵xians@chromium.org2012-03-292-2/+11
| | | | | | | | | | | | AudioOutputUnitStop(), since AudioOutputUnitStop() is called by AudioManager thread, it will do a synchronous stop which means that AUAudioOutputStream::Render() will keep running until it is done. so that it crashes when it hits source_ which has been set to NULL. The solution is to stop the HAL first and then set the source_ to NULL. BUG=120193 TEST=None TAB=tommi Review URL: https://chromiumcodereview.appspot.com/9834098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129590 0039d316-1c4b-4281-b951-d872f2087c98
* [Coverity] Fixed frame size wjia@chromium.org2012-03-282-2/+5
| | | | | | | | | It's wrong to use sizeof(pointer) to get the size of video frame. Need remember the frame size when it's allocated. CID=100299 Review URL: https://chromiumcodereview.appspot.com/9837095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129428 0039d316-1c4b-4281-b951-d872f2087c98
* Disable the TwoThreads unit test since it triggers the TSAN bot. This is a ↵tommi@chromium.org2012-03-281-1/+3
| | | | | | | | | | false positive since we're using a socket as a synchronization mechanism on posix but until we can tell tsan that, I'll disable the test. TBR=jhawkins Review URL: https://chromiumcodereview.appspot.com/9791069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129424 0039d316-1c4b-4281-b951-d872f2087c98
* Disable TwoNotifiersTwoThreads1000Signals as it trips off the TSAN bot.tommi@chromium.org2012-03-281-1/+3
| | | | | | | | TBR=jhawkins Review URL: https://chromiumcodereview.appspot.com/9874021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129420 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CrossProcessNotification class.tommi@chromium.org2012-03-286-0/+1049
| | | | | | | | | | | | | This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=129263 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129405 0039d316-1c4b-4281-b951-d872f2087c98
* Adds Analog Gain Control (AGC) to the WebRTC client.henrika@chromium.org2012-03-2825-37/+352
| | | | | | | | | | | | | | | | | | | | | | | The AGC functionality is as follows. It aims at maintaining the same speech loudness level from the microphone. This is done by both controlling the analog microphone gain and applying a digital gain. The microphone gain on the sound card is slowly increased/decreased during speech only. By observing the microphone control slider you can see it move when you speak. If you scream, the slider moves downwards and then upwards again when you return to normal. It is not uncommon that the slider hits the maximum. This means that the maximum analog gain is not large enough to give the desired loudness. Nevertheless, we can in general still attain the desired loudness. If the microphone control slider is moved manually, the analog adaptation restarts and returns to roughly the same position as before the change if the circumstances are still the same. When the input microphone signal causes saturation, the level is decreased dramatically and has to re-adapt towards the old level. The adaptation is a slowly varying process and at the beginning of a call this is noticed by a slow increase in volume. Smaller changes in microphone input level is leveled out by the built-in digital control. For larger differences we need to rely on the slow adaptation. BUG=115265 TEST=content_unittests Review URL: https://chromiumcodereview.appspot.com/9702019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129400 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 129263 - Add a CrossProcessNotification class.abodenha@google.com2012-03-276-1047/+0
| | | | | | | | | | | | | This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Review URL: https://chromiumcodereview.appspot.com/9605015 TBR=tommi@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129278 0039d316-1c4b-4281-b951-d872f2087c98
* Add a CrossProcessNotification class.tommi@chromium.org2012-03-276-0/+1047
| | | | | | | | | | | This class will be used to synchronize multiple audio objects with minimal thread and IPC socket usage. TEST=Several tests included. Run media unittests. BUG=114699 Review URL: https://chromiumcodereview.appspot.com/9605015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129263 0039d316-1c4b-4281-b951-d872f2087c98
* Make AddFilter void and remove bullshit fallback code.fischman@chromium.org2012-03-275-38/+19
| | | | | | Review URL: http://codereview.chromium.org/9863025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129259 0039d316-1c4b-4281-b951-d872f2087c98
* Don't report errors twice to pipeline clients.fischman@chromium.org2012-03-276-62/+34
| | | | | | | | Also convert Pipeline::Stop() to take a Closure instead of a PipelineStatusCB since the status is always OK for a Stop. Review URL: http://codereview.chromium.org/9863028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129256 0039d316-1c4b-4281-b951-d872f2087c98
* Replace size_t with int in a few media classes.scherkus@chromium.org2012-03-2726-225/+212
| | | | | | | | This addressed TODOs in DataSource::Read() and AudioRendererAlgorithmBase, which led to converting Buffer and SeekableBuffer as well. Review URL: https://chromiumcodereview.appspot.com/9854031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129140 0039d316-1c4b-4281-b951-d872f2087c98
* Renable hashing for the basic playback test.dalecurtis@chromium.org2012-03-271-3/+1
| | | | | | | | | | | | | | Now that hashing is fixed, trial turning it on again for the basic playback test. Tested as much as I can locally since there are no win_tsan, win_valgrind try bots. BUG=none TEST=valgrind, tsan, win_drmemory trybot. Review URL: http://codereview.chromium.org/9809031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129073 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 129018 - Revert 128993 - Refactor BaseTimer to avoid spamming the ↵jbates@chromium.org2012-03-272-7/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | MessageLoop with orphaned tasks. This change maintains the same API promises*, but instead of orphaning tasks when they are stopped, the BaseTimer_Helper class holds on to the task until either (1) it expires or (2) the user requests a delay that would arrive earlier than the pending task. If the user requests a longer delay than the pending task, a followup task will be posted when the pending task fires to span the remaining time. * The one change of usage is related to threading. The threading requirements are now more strict. It is not allowed to destruct a timer on a different thread than the one used to post tasks. A thread ID DCHECK is now in place that will help catch misuse. Some existing instances are changed as part of this CL. A side effect of this change is that the BaseTimer and DelayTimer are simplified to use features of BaseTimer_Helper (which is now called Timer). As suggested in timer.h, I ran the disabled TimerTest tests from linux, and they pass consistently. I also added some new tests to verify correct run states. BUG=117451,103667,119714,119750 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=128412 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=128506 Review URL: https://chromiumcodereview.appspot.com/9655006 TBR=jbates@chromium.org Review URL: https://chromiumcodereview.appspot.com/9791009 TBR=aa@chromium.org Review URL: https://chromiumcodereview.appspot.com/9860014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129062 0039d316-1c4b-4281-b951-d872f2087c98
* Add the output interface for the ChromeOS Audio Server(CRAS).dgreid@chromium.org2012-03-277-2/+723
| | | | | | | | | | | | | | | | | | Add cras_output.cc/h for talking to the server and cras_wrapper to allow unit testing. Code structure borrowed from alsa_output and mac/audio_low_latency_output. Introduce a gyp setting that can be used to enable cras_output. BUG=chromium-os:25409 TEST=New unit test for cras_output. Build and run on desktop linux and on mario. Signed-off-by: Dylan Reid <dgreid@chromium.org> Review URL: http://codereview.chromium.org/9374011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129055 0039d316-1c4b-4281-b951-d872f2087c98
* Forgot media/base/buffers_unittest.cc in r129038.scherkus@chromium.org2012-03-261-0/+89
| | | | | | Review URL: https://chromiumcodereview.appspot.com/9861009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129043 0039d316-1c4b-4281-b951-d872f2087c98
* Removed StreamSample as a shared base class between Buffer and VideoFrame.scherkus@chromium.org2012-03-269-104/+70
| | | | | | | | The only code we've had that depended on StreamSample was PtsHeap, which was removed in r118610. Review URL: https://chromiumcodereview.appspot.com/9809032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129038 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 128993 - Refactor BaseTimer to avoid spamming the MessageLoop with ↵aa@chromium.org2012-03-262-13/+7
| | | | | | | | | | | | | | | | | | | | | | | | | orphaned tasks. This change maintains the same API promises*, but instead of orphaning tasks when they are stopped, the BaseTimer_Helper class holds on to the task until either (1) it expires or (2) the user requests a delay that would arrive earlier than the pending task. If the user requests a longer delay than the pending task, a followup task will be posted when the pending task fires to span the remaining time. * The one change of usage is related to threading. The threading requirements are now more strict. It is not allowed to destruct a timer on a different thread than the one used to post tasks. A thread ID DCHECK is now in place that will help catch misuse. Some existing instances are changed as part of this CL. A side effect of this change is that the BaseTimer and DelayTimer are simplified to use features of BaseTimer_Helper (which is now called Timer). As suggested in timer.h, I ran the disabled TimerTest tests from linux, and they pass consistently. I also added some new tests to verify correct run states. BUG=117451,103667,119714,119750 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=128412 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=128506 Review URL: https://chromiumcodereview.appspot.com/9655006 TBR=jbates@chromium.org Review URL: https://chromiumcodereview.appspot.com/9791009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129018 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor BaseTimer to avoid spamming the MessageLoop with orphaned tasks.jbates@chromium.org2012-03-262-7/+13
| | | | | | | | | | | | | | | | | | | | This change maintains the same API promises*, but instead of orphaning tasks when they are stopped, the BaseTimer_Helper class holds on to the task until either (1) it expires or (2) the user requests a delay that would arrive earlier than the pending task. If the user requests a longer delay than the pending task, a followup task will be posted when the pending task fires to span the remaining time. * The one change of usage is related to threading. The threading requirements are now more strict. It is not allowed to destruct a timer on a different thread than the one used to post tasks. A thread ID DCHECK is now in place that will help catch misuse. Some existing instances are changed as part of this CL. A side effect of this change is that the BaseTimer and DelayTimer are simplified to use features of BaseTimer_Helper (which is now called Timer). As suggested in timer.h, I ran the disabled TimerTest tests from linux, and they pass consistently. I also added some new tests to verify correct run states. BUG=117451,103667,119714,119750 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=128412 Reverted: http://src.chromium.org/viewvc/chrome?view=rev&revision=128506 Review URL: https://chromiumcodereview.appspot.com/9655006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128993 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a couple of regressions that made it in before the weekend.tommi@chromium.org2012-03-264-16/+27
| | | | | | | | | | | | | | | 1) Since the 'closed' closure now runs on the calling thread and not the audio thread assertions in the callback failed. 2) output_buffer_size() was returning the input buffer size. now fixed. Also updating the output side to follow the same rule for the 'onclosed' callback. BUG=120110,120111 TEST=Run content_unittests. Review URL: http://codereview.chromium.org/9858007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128895 0039d316-1c4b-4281-b951-d872f2087c98
* Make Callback::Reset() return a copy to support use-cases where Run() ends ↵fischman@chromium.org2012-03-247-29/+14
| | | | | | | | | | | | | | up modifying |*this|. Callers can use cb.Reset().Run(args...); to avoid reentrancy-like bugs. Replace the special-purpose versions of ResetAndRunCB in the media/ codebase with this more-general facility. Review URL: http://codereview.chromium.org/9717021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128772 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race in AudioInputController::Close().fischman@chromium.org2012-03-233-21/+13
| | | | | | | | | | | | | | | | | | | Before this change, a reference to AudioInputController was bound into the Callback invoking DoClose(), which executes on the audio thread. If the audio thread is slow to delete that callback (after dispatching |closed_task|) then the main thread's reference to the AudioInputController might be released first, leading to AudioInputController being destructed on the audio thread, triggering a DCHECK in Timer::~Timer() (owned by the AudioInputController via DelayTimer). This race was exposed while working on http://codereview.chromium.org/9717021/ but isn't so much related to the content of that CL as to the fact that that CL twiddles callback lifetime/timing a bit. Review URL: http://codereview.chromium.org/9839051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128495 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incorrect VideoFrame::row_bytes() for RGB. Add tests.dalecurtis@chromium.org2012-03-232-1/+70
| | | | | | | | | | | | | Also converts the Copy*Plane methods in video_util.cc to use size_t instead of int. BUG=119156 TEST=Built chrome. Ran unittests. Review URL: http://codereview.chromium.org/9766007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128379 0039d316-1c4b-4281-b951-d872f2087c98
* Fix frame hashing to include all valid planes.dalecurtis@chromium.org2012-03-227-26/+63
| | | | | | | | | | | | | | | | | Moves the frame hashing code from PipelineIntegrationTestBase to VideoFrame per suggestions in: https://chromiumcodereview.appspot.com/9716008/ Also disables frame hashing for BasicPlayback since it's failing on the TSAN bots. The code is still enabled for ffmpeg_regression_tests. BUG=118688 TEST=media_unittests, ffmpeg_regression_tests. Review URL: http://codereview.chromium.org/9732016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128307 0039d316-1c4b-4281-b951-d872f2087c98
* Move VideoDecoder out of media pipeline.xhwang@chromium.org2012-03-2211-62/+79
| | | | | | | | | | | | | | This is the first step to move VideoDecoder out of Filter hierarchy. In this CL, VideoDecoder is removed from the pipeline and is owned by the VideoRenderBase now. All calls to Seek()/Pause()/Play() are removed. The video decoder is flushed or stopped from the VideoRenderBase instead of from the composite filter. In a follow-up CL, VideoDecoder will not be a Filter any more and Seek()/Pause()/Play() methods will be removed from its definition and all implementations. BUG=108340 TEST=media_unittest, content_unittest and some basic playing of html5 video. Review URL: http://codereview.chromium.org/9700006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128289 0039d316-1c4b-4281-b951-d872f2087c98
* sync the openbsd audio code with linuxrobert.nagy@gmail.com2012-03-221-4/+0
| | | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/9816012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128246 0039d316-1c4b-4281-b951-d872f2087c98
* Make AudioParameters a class instead of a structvrk@google.com2012-03-2138-285/+310
| | | | | | | | | | | | | Also collapses some long parameter lists into AudioParameters and moves some of the hardcoded values (e.g. 16 bit audio in AudioDevice) to more appropriate locations. BUG=115902 TEST=manually testing everything works out Review URL: https://chromiumcodereview.appspot.com/9655018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@128054 0039d316-1c4b-4281-b951-d872f2087c98
* Fix leaking AVPackets in AudioFileReader.dalecurtis@chromium.org2012-03-211-3/+2
| | | | | | | | | | | | | Fixes the leak in 112450_a. 112450_b is a completely different issue and I'll update and reassign the ticket as appropriate once this lands. BUG=112450 TEST=valgrind + webaudio tests. Review URL: http://codereview.chromium.org/9704042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127889 0039d316-1c4b-4281-b951-d872f2087c98
* Add software audio mixing to the audio utils.enal@chromium.org2012-03-203-4/+157
| | | | | | | | BUG=114701 Review URL: http://codereview.chromium.org/9641026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127709 0039d316-1c4b-4281-b951-d872f2087c98
* Merge FilterStatusCB into PipelineStatusCB.xhwang@chromium.org2012-03-1818-63/+53
| | | | | | | | | | BUG=none TEST=media_unittest,content_unittest Review URL: http://codereview.chromium.org/9718013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127397 0039d316-1c4b-4281-b951-d872f2087c98
* Add frame hashing to PipelineIntegrationTests.dalecurtis@chromium.org2012-03-179-75/+151
| | | | | | | | | | | | | | | | | | | | Also adds support for disabling frame dropping in the video renderer so we can be sure we've seen every frame coming out. Testing shows that there are issues with threading in the FFmpeg H264 decoder. Running with --video-threads=1 will yield different results than running multithreaded. We should probably increase the breadth of our basic playback testing once we've got a better handle on threaded decoding in FFmpeg. BUG=118688 TEST=media_unittests, ffmpeg_regression_tests. Review URL: http://codereview.chromium.org/9716008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127320 0039d316-1c4b-4281-b951-d872f2087c98
* Fix inconsistent line endings. No code changetommi@chromium.org2012-03-162-5/+5
| | | | | | | | TBR=henrika Review URL: https://chromiumcodereview.appspot.com/9705100 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127153 0039d316-1c4b-4281-b951-d872f2087c98
* Do not swizzle 5.0/5.1 audio layoutraymond.liu@intel.com2012-03-161-55/+0
| | | | | | | | | | BUG=117333 TEST=see bug Review URL: http://codereview.chromium.org/9700008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@127123 0039d316-1c4b-4281-b951-d872f2087c98