summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Resubmit "RGB to YUV conversion using SSE2""hclam@chromium.org2011-02-037-0/+525
| | | | | | | | | | | Introduce SSE2 patch again. BUG=None TEST=None Review URL: http://codereview.chromium.org/6334029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73552 0039d316-1c4b-4281-b951-d872f2087c98
* Move src/gfx/ to src/ui/gfxsail@chromium.org2011-02-021-2/+2
| | | | | | | | | | | To reduce the size of this change I've left stub header files in src/gfx/. Once all includes have been updated I'll delete the stub files. BUG=71063 TEST=Still doing test builds. Review URL: http://codereview.chromium.org/6246027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73530 0039d316-1c4b-4281-b951-d872f2087c98
* media/audio/mac/audio_low_latency_output_mac.cc is missing an #include.mark@chromium.org2011-02-021-0/+2
| | | | | | | | | | | | | | | | | | audio_low_latency_output_mac.cc, new in r73058, uses the Mac OS X Component Manager. This includes the Component and ComponentDescription types, and the FindNextComponent, OpenAComponent, and CloseComponent calls. To use the Component Manager, #include <CoreServices/CoreServices.h> http://developer.apple.com/library/mac/#documentation/Carbon/Reference/Component_Manager/Reference/reference.html CoreServices.h is probably #included by something else when using the 10.5 SDK, but this caused a compilation failure with the 10.6 SDK. BUG=none TEST=none Review URL: http://codereview.chromium.org/6286056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73503 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent pending callbacks after an error from being interpreted as teardown ↵acolwell@chromium.org2011-02-023-13/+120
| | | | | | | | | | | | | | callbacks. - Moved teardown state transitions to use TeardownStateTransitionTask() so they can't be confused with normal playback transitions in FilterStateTransitionTask(). - Fixed code so seek callback is called if an error occurs during a Seek(). BUG=71087 TEST=PipelineImplTest.ErrorDuringSeek Review URL: http://codereview.chromium.org/6250092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73469 0039d316-1c4b-4281-b951-d872f2087c98
* NullVideoRenderer, the video equivalent to NullAudioRenderer.scherkus@chromium.org2011-02-013-0/+58
| | | | | | | | | | | Can eventually be used to construct media playback pipelines that don't render any pixels to the screen. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/6287034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73365 0039d316-1c4b-4281-b951-d872f2087c98
* Don't hold the lock when calling VideoRendererBase::OnFrameAvailable().scherkus@chromium.org2011-02-011-2/+7
| | | | | | | | | | | There's one instance of the code where we hold on to the lock when calling OnFrameAvailable(), which means if the subclass can crash if it calls a locked method such as GetCurrentFrame(). BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/6260052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73362 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "RGB to YUV conversion using SSE2"hclam@chromium.org2011-02-017-514/+0
| | | | | | | | Reverting patch because ARM build is broken. TBR=ctguil git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73341 0039d316-1c4b-4281-b951-d872f2087c98
* RGB to YUV conversion using SSE2hclam@chromium.org2011-02-017-0/+514
| | | | | | | | | | | | | This code uses SSE2 intrinsics with the feature of 2x2 subsampling for U and V. Performance compared to a pure C version is about 20% faster with better quality. BUG=None TEST=None Review URL: http://codereview.chromium.org/6268018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73339 0039d316-1c4b-4281-b951-d872f2087c98
* Rename Real* to Double* in values.* and dependent filesarv@chromium.org2011-02-011-2/+2
| | | | | | | | | BUG=None TEST=Compiles and passes all tests Review URL: http://codereview.chromium.org/6248026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73232 0039d316-1c4b-4281-b951-d872f2087c98
* Add a low-latency AudioOutputStream implementation for Mac OS X.crogers@google.com2011-01-297-12/+353
| | | | | | | | | BUG=none TEST=none (tested locally to verify this code plays audio with much lower latency than the current PCMQueueOutAudioOutputStream implementation) Review URL: http://codereview.chromium.org/6350019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73058 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a teardown hang caused by an Abort() call while there is a pending read.acolwell@chromium.org2011-01-261-1/+3
| | | | | | | | | BUG=64754 TEST=BufferedDataSourceTest.StopDoesNotUseMessageLoopForCallback , BufferedDataSourceTest.AbortDuringPendingRead Review URL: http://codereview.chromium.org/6342018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72668 0039d316-1c4b-4281-b951-d872f2087c98
* Return 0 instead of AVERROR_EOF for reads at or past the end of a file.scherkus@chromium.org2011-01-242-5/+5
| | | | | | | | | | | I'm not sure if it's because the files listed in the bug report were improperly muxed, but FFmpeg was attempting to read past the end of the file and apparently returning AVERROR_EOF instead of 0 makes a huge difference. BUG=47489 TEST=media_unittests, files linked in bug report Review URL: http://codereview.chromium.org/6249013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72350 0039d316-1c4b-4281-b951-d872f2087c98
* Fix frame-exact seeking again to stay within duration as opposed to rounding ↵scherkus@chromium.org2011-01-222-4/+4
| | | | | | | | | | | | | to the closest frame. Based on discussion from https://bugs.webkit.org/show_bug.cgi?id=52697 to be consistent with other WebKit ports. BUG=69499 TEST=media_unittests Review URL: http://codereview.chromium.org/6259012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72247 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-2119-109/+109
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Use midpoint calculation for frame-exact seeking.scherkus@chromium.org2011-01-182-50/+112
| | | | | | | | | | | Previously we would use a "good enough" frame without fully taking duration into account. BUG=69499 TEST=media_unittests Review URL: http://codereview.chromium.org/6321005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71676 0039d316-1c4b-4281-b951-d872f2087c98
* Remove MessageLoop methods from Filter interface toacolwell@chromium.org2011-01-1529-332/+321
| | | | | | | | | | | | | | separate Filter management from MessageLoop management. This sets the stage for filters to share threads in the future which will reduce resource consumption when multiple <video> tags are on the same page. BUG=69451 TEST=None Review URL: http://codereview.chromium.org/6171009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71548 0039d316-1c4b-4281-b951-d872f2087c98
* Replace MockFilterCallback with MockCallback and simplify unit tests.scherkus@chromium.org2011-01-1512-327/+184
| | | | | | | | | | | We had a ton of unnecessarily duplicated code, most of which could be solved by introducing NewExpectedCallback(). BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/6350001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71537 0039d316-1c4b-4281-b951-d872f2087c98
* Implement renderer AudioDevice API for low-latency audio outputcrogers@google.com2011-01-152-0/+31
| | | | | | | | | BUG=none TEST=none (I tested locally for Mac OS X, but we'll need further testing for Windows and Linux as we add real-time threads, etc.) Review URL: http://codereview.chromium.org/6002005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71521 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash in reading audio capture device name.satish@chromium.org2011-01-141-0/+3
| | | | | | | | | | | Relevant crash report: http://crash/reportdetail?reportid=c48906f8d604a9d5#crashing_thread BUG=69608 TEST=none Review URL: http://codereview.chromium.org/6333005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71434 0039d316-1c4b-4281-b951-d872f2087c98
* Clang: enable -Wbool-conversions and -Wunused-variables on Linux.hans@chromium.org2011-01-142-11/+11
| | | | | | | | | | | | | | | -Wbool-conversion warns about EXPECT_EQ(false, blah), so replace that with EXPECT_FALSE(blah). Do the same with EXPECT_EQ(true, blah) for good measure (even though that doesn't generate warnings). Also remove the one instance of an unused variable. BUG=69421 TEST=buildbots all compile and all tests pass Review URL: http://codereview.chromium.org/6300001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71431 0039d316-1c4b-4281-b951-d872f2087c98
* Fix flaky behavior in pipeline teardown.acolwell@chromium.org2011-01-132-53/+83
| | | | | | | | | BUG=61012 TEST=Covered by existing media tests. Review URL: http://codereview.chromium.org/6179006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71347 0039d316-1c4b-4281-b951-d872f2087c98
* Chromium build failed with heap leak checker, or configured withtony@chromium.org2011-01-131-3/+2
| | | | | | | | | | | | | | | | | 'gyp_chromium -Dlinux_use_heapchecker=1 -Dlinux_keep_shadow_stacks=1' parameters. This configuration set gcc option '-finstrument-functions' and cause 'control reaches end of non-void function' error in some sources. Some errors occur in WebKit, and this changelist doesn't include patches for WebKit sources. TEST=pass sync_unit_tests, browser_tests, net_unittests Original patch by Takashi Toyoshima <toyoshim@google.com> at http://codereview.chromium.org/5991005/ Review URL: http://codereview.chromium.org/6262002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71274 0039d316-1c4b-4281-b951-d872f2087c98
* Use the lock when accessing the buffer object.cevans@chromium.org2011-01-121-0/+1
| | | | | | | | | BUG=69195 TEST=play Z-Type for hours :) Review URL: http://codereview.chromium.org/6157007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71211 0039d316-1c4b-4281-b951-d872f2087c98
* Change CompositeFilter to use ScopedRunnableMethodFactory &acolwell@chromium.org2011-01-112-14/+22
| | | | | | | | | | | | make OnCallback() static to prevent the CompositeFilter from becoming owned by other filter threads. BUG=68784 TEST=None Review URL: http://codereview.chromium.org/6226001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71067 0039d316-1c4b-4281-b951-d872f2087c98
* Change #ifdef _DEBUG test to #ifndef NDEBUG test.tfarina@chromium.org2011-01-101-2/+2
| | | | | | | | | BUG=None TEST=trybots Review URL: http://codereview.chromium.org/5991010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70956 0039d316-1c4b-4281-b951-d872f2087c98
* Reland "Remove base/scoped_handle_win.h."tfarina@chromium.org2011-01-092-6/+7
| | | | | | | | | | | | | | | Fixed the problem with rlz library. Now should be fine to land this again. This reverts commit 3620d9501af7bff688862c54fdd60f7eb41797f3. Original Review URL: http://codereview.chromium.org/6126002/ BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6110005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70861 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Remove base/scoped_handle_win.h stub and fix up all callers to use ↵thakis@chromium.org2011-01-072-7/+6
| | | | | | | | | | the new location and namespace." This reverts r 70795, it broke the build. TBR=vandebo git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70802 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/scoped_handle_win.h stub and fix up all callers to use the new ↵tfarina@chromium.org2011-01-072-6/+7
| | | | | | | | | | | location and namespace. BUG=None TEST=trybots Review URL: http://codereview.chromium.org/6126002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70795 0039d316-1c4b-4281-b951-d872f2087c98
* Handle changes in video frame size.scherkus@chromium.org2011-01-072-33/+78
| | | | | | | | | BUG=67303 TEST=media_unittests Review URL: http://codereview.chromium.org/6034007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70703 0039d316-1c4b-4281-b951-d872f2087c98
* Don't uninitialize FFmpegVideoDecodeEngine if we haven't initialized it.scherkus@chromium.org2011-01-063-5/+13
| | | | | | | | | | | This was originally commited as r70077 but was accidentally reverted. BUG=67303 TEST=media_unittests Review URL: http://codereview.chromium.org/6046006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70669 0039d316-1c4b-4281-b951-d872f2087c98
* Fix indents. I am used to webkit style, so did it wrong in last commit.inferno@chromium.org2011-01-061-2/+2
| | | | | | | BUG=68244 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70637 0039d316-1c4b-4281-b951-d872f2087c98
* Turn the volume range check into a bail out return to prevent browser crash.inferno@chromium.org2011-01-061-3/+5
| | | | | | | | | BUG=68244 TEST=None Review URL: http://codereview.chromium.org/6133001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70635 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PipelineImpl to use CompositeFilter to manage Filter state transitions.acolwell@chromium.org2011-01-0510-123/+1764
| | | | | | | | | | | BUG=54110 TEST=media_unittests CompositeFilterTest.* Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=70267 Review URL: http://codereview.chromium.org/5744002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70527 0039d316-1c4b-4281-b951-d872f2087c98
* Move lots of GMock stuff out of line.erg@google.com2011-01-057-62/+137
| | | | | | | | | | | | | | Nico did some treemapping of our build time on Mac, and (surprise!) gmock unittests dominated. Gmock works with several large, heavy templates, and previous patches that out of line the ctors/dtors have significantly sped up compilation (e.g.GLMock) and have reduced thrashing. Nico says I should plug this again: http://www.chromium.org/developers/coding-style/cpp-dos-and-donts BUG=none TEST=none Review URL: http://codereview.chromium.org/6056008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70516 0039d316-1c4b-4281-b951-d872f2087c98
* check for codec null pointer when printing error messagefbarchard@chromium.org2011-01-041-2/+2
| | | | | | | | | BUG=68115 TEST=media_bench.exe --verbose=48 --stream=audio out.webm.68798.1929 should print Error: Could not open codec (NULL) for c:\work\out.webm.68798.1929 Review URL: http://codereview.chromium.org/6044008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70412 0039d316-1c4b-4281-b951-d872f2087c98
* Move CancellationFlag and WaitableEvent to the synchronization subdirectory.brettw@chromium.org2011-01-024-4/+4
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5977010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70369 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build by removing unused include.brettw@chromium.org2011-01-011-1/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70364 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/lock and base/condition_variable to base/synchronization/brettw@chromium.org2011-01-012-5/+5
| | | | | | | | | | | I kept a base/lock.h in place with a using statement to avoid updating all callers in one CL. TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6018013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70363 0039d316-1c4b-4281-b951-d872f2087c98
* Remove base/platform_thread.h stub and fix up all callers to use the new ↵brettw@google.com2011-01-019-27/+35
| | | | | | | | | location and namespace. TEST=none BUG=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70346 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-0110-10/+10
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70277 - Revert 70275 - Revert 70267 - Refactor PipelineImpl to use ↵acolwell@chromium.org2010-12-299-1706/+120
| | | | | | | | | | | | | | | | | | | CompositeFilter to manage Filter state transitions. BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/6026013 TBR=acolwell@chromium.org TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/5974011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70287 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70275 - Revert 70267 - Refactor PipelineImpl to use CompositeFilter ↵acolwell@chromium.org2010-12-299-120/+1706
| | | | | | | | | | | | | | | | to manage Filter state transitions. BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/6026013 TBR=acolwell@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70277 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70267 - Refactor PipelineImpl to use CompositeFilter to manage Filter ↵acolwell@chromium.org2010-12-299-1706/+120
| | | | | | | | | | | | | | state transitions. BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/6026013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70275 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PipelineImpl to use CompositeFilter to manage Filter state transitions.acolwell@chromium.org2010-12-299-120/+1706
| | | | | | | | | BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70267 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70077 - Don't uninitialize FFmpegVideoDecodeEngine if we haven't ↵skerner@chromium.org2010-12-233-13/+5
| | | | | | | | | | | | | | initialized it. BUG=67303 TEST=media_unittests Review URL: http://codereview.chromium.org/6046006 TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/5970011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70092 0039d316-1c4b-4281-b951-d872f2087c98
* Don't uninitialize FFmpegVideoDecodeEngine if we haven't initialized it.scherkus@chromium.org2010-12-233-5/+13
| | | | | | | | | BUG=67303 TEST=media_unittests Review URL: http://codereview.chromium.org/6046006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70077 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 70063 - Refactor PipelineImpl to use CompositeFilter to manage Filter ↵acolwell@chromium.org2010-12-239-1696/+120
| | | | | | | | | | | | | | state transitions. BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/6016011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70064 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor PipelineImpl to use CompositeFilter to manage Filter state transitions.acolwell@chromium.org2010-12-239-120/+1696
| | | | | | | | | BUG=54110 TEST=media_unittests CompositeFilterTest.* Review URL: http://codereview.chromium.org/5744002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70063 0039d316-1c4b-4281-b951-d872f2087c98
* Fix AudioManager shutdownacolwell@chromium.org2010-12-236-2/+30
| | | | | | | | | | | | | | | | | | This patch makes sure the audio thread is stopped before the AudioManager is destroyed. Under heavy load it is possible to have tasks still on the audio thread's message loop when the audio manager is destroyed. These were getting called when the Thread object is destroyed which happens after all of the AudioManager destructors are called. The new Cleanup() method stops the thread before any destruction occurs. BUG=67804 TEST=none Review URL: http://codereview.chromium.org/6026011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70034 0039d316-1c4b-4281-b951-d872f2087c98
* Set scoped IO access when closing the audio input thread to allow joining.leandrogracia@chromium.org2010-12-221-0/+11
| | | | | | | | | | | This is a fix for the crash problem described by issue 67806. The problem was caused by a new included IO access assertion that prevented the IO thread to join any other thread. This raised an error when trying to stop the audio recording thread. BUG=67806 TEST=none Review URL: http://codereview.chromium.org/6063004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69994 0039d316-1c4b-4281-b951-d872f2087c98