summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Mark FakeAudioInputTest.BasicCallbacks as flaky.phajdan.jr@chromium.org2010-12-171-1/+2
| | | | | | | | | | TBR=satish BUG=49497 TEST=media_unittests Review URL: http://codereview.chromium.org/6018001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69554 0039d316-1c4b-4281-b951-d872f2087c98
* (Committing on behalf of Chris Rogers -- original CL ↵kbr@google.com2010-12-165-1/+367
| | | | | | | | | | | | | | | http://codereview.chromium.org/5550006/ ) Implement WebKitClientImpl::loadAudioResource() to decode in-memory audio file data for use by WebKit. Most of the interesting low-level code is being added in the media directory. BUG=NONE TEST=NONE (tested locally with web audio API loading files of format .wav .aif .mp3 .m4a 16bit 24bit In the longer term, WebKit layout tests will comprehensively exercise this code) Review URL: http://codereview.chromium.org/5880002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69458 0039d316-1c4b-4281-b951-d872f2087c98
* Ugh, one more scoped_refptr NewRunnableMethod.willchan@chromium.org2010-12-151-1/+1
| | | | | | | | | BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/5864002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69233 0039d316-1c4b-4281-b951-d872f2087c98
* Last few NewRunnableMethod scoped_refptr params to fix.willchan@chromium.org2010-12-151-1/+1
| | | | | | | | | BUG=28083 TEST=builds Review URL: http://codereview.chromium.org/5870001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69229 0039d316-1c4b-4281-b951-d872f2087c98
* Make members of Singleton<T> private and only visible to the singleton type. ↵satish@chromium.org2010-12-147-40/+50
| | | | | | | | | | | | | | | This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness. As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file. There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5682008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69107 0039d316-1c4b-4281-b951-d872f2087c98
* Deinline even more destructors.erg@google.com2010-12-1412-11/+45
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5794003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69084 0039d316-1c4b-4281-b951-d872f2087c98
* Even more virtual method deinlining.erg@google.com2010-12-132-3/+5
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5741001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69041 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 68932 - Make members of Singleton<T> private and only visible to the ↵satish@chromium.org2010-12-117-50/+40
| | | | | | | | | | | | | | | | | | singleton type. This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness. As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file. There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5682008 TBR=satish@chromium.org Review URL: http://codereview.chromium.org/5721005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68936 0039d316-1c4b-4281-b951-d872f2087c98
* Make members of Singleton<T> private and only visible to the singleton type. ↵satish@chromium.org2010-12-117-40/+50
| | | | | | | | | | | | | | | This enforces that the Singleton<T> pattern can only be used within classes which want singleton-ness. As part of this CL I have also fixed up files which got missed in my previous CLs to use a GetInstance() method and use Singleton<T> from the source file. There are a small number of places where I have also switched to LazyInstance as that was more appropriate for types used in a single source file. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5682008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68932 0039d316-1c4b-4281-b951-d872f2087c98
* Start deinlining non-empty virtual methods. (This will be automatically checkederg@google.com2010-12-095-3/+11
| | | | | | | | | | | for in the future.) BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5574006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68746 0039d316-1c4b-4281-b951-d872f2087c98
* Get rid of std::wstring version of HasSwitch.tfarina@chromium.org2010-12-081-1/+1
| | | | | | | | | BUG=24672 TEST=trybots Review URL: http://codereview.chromium.org/5649003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68650 0039d316-1c4b-4281-b951-d872f2087c98
* Add the "virtual" keyword on method overrides that are missing it.erg@google.com2010-12-081-1/+1
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5648004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68606 0039d316-1c4b-4281-b951-d872f2087c98
* Add a new GetInstance() method for singleton classes, take 2.satish@chromium.org2010-12-084-10/+18
| | | | | | | | | | | | | | | | | | This is a small step towards making all singleton classes use the Singleton<T> pattern within their code and not expect the callers to know about it. This CL includes all files except those under chrome/browser, chrome/net, chrome/service and third_party/WebKit (these will be done in future CLs). Suggested files to focus for reviewers: - joi@ for files under src/ceee - tommi@ for files under src/chrome_frame - maruel@ for the rest of the files. BUG=65298 TEST=all existing tests should continue to pass. Review URL: http://codereview.chromium.org/5581008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68577 0039d316-1c4b-4281-b951-d872f2087c98
* Move more code from headers to implementation.erg@google.com2010-12-074-10/+13
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5624002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68534 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize destinations variables before calling GL functionsgman@chromium.org2010-12-072-5/+5
| | | | | | | | | | | | because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5254006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68480 0039d316-1c4b-4281-b951-d872f2087c98
* Rename MediaFilter and MediaFilterCollection to Filter and FilterCollection, ↵scherkus@chromium.org2010-12-0323-125/+125
| | | | | | | | | | | respectively. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5527003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68115 0039d316-1c4b-4281-b951-d872f2087c98
* Added include rule for new tool to media/DEPSvrk@google.com2010-12-011-0/+1
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5498001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67900 0039d316-1c4b-4281-b951-d872f2087c98
* Benchmark tool for GPU-accelerated video renderingvrk@google.com2010-12-0116-0/+1153
| | | | | | | | | | | | | | | | | This is a benchmarking program that times how fast a shader can color-convert and render video frames to the screen. The program takes a file with raw YUV frames, the number of frames in the file, and the dimensions of the video file as parameters and outputs the max frames per second obtained when rendering the video using various painting/shading techniques. BUG=48633 TEST=compiles Review URL: http://codereview.chromium.org/4873002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67887 0039d316-1c4b-4281-b951-d872f2087c98
* Stopgap fix for crash in issue 53867 comment 15thakis@chromium.org2010-12-012-55/+69
| | | | | | | | | | | | | gwtquake lets the renderer create > 300 threads (one per audio element?), and eventually thread creation fails. This CL makes the media code more robust against thread creation failure (currently, it just crashes the renderer). The Real Fix probably is to have a thread pool for media stuff instead of one thread per media object. And maybe threads just leak under some circumstances. I will file a follow-up bug for that case, hopefully with a reduced test case. BUG=53867,61293 TEST=Completing the first level in gwtquake shouldn't crash the renderer. Review URL: http://codereview.chromium.org/5362003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67824 0039d316-1c4b-4281-b951-d872f2087c98
* Move audio output number limit to AudioManager.sergeyu@chromium.org2010-11-305-14/+97
| | | | | | | | | BUG=39825 TEST=None Review URL: http://codereview.chromium.org/5350003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67618 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 67293 BrowserTestCanLaunchWithOSMesa was consistently failing - ↵andybons@chromium.org2010-11-242-5/+5
| | | | | | | | | | | | | | | | | Initialize destinations variables before calling GL functions because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5305005 TBR=gman@chromium.org Review URL: http://codereview.chromium.org/5383001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67328 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented AudioOutputProxy.sergeyu@chromium.org2010-11-2414-2/+872
| | | | | | | | | | | | AudioOutputProxy implements AudioOutputStream interface, but opens audio device only when audio is playing. BUG=39825 TEST=Unittests. Review URL: http://codereview.chromium.org/5158003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67327 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize destinations variables before calling GL functionsgman@chromium.org2010-11-242-5/+5
| | | | | | | | | | | | because if the context is lost those variables will be uninitialized. TEST=ran chrome, conformance tests, unit tests and hand edited gles2_demo to test BUG=none Review URL: http://codereview.chromium.org/5305005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67293 0039d316-1c4b-4281-b951-d872f2087c98
* Fix clock update behavior at the end of stream.acolwell@chromium.org2010-11-237-22/+122
| | | | | | | | | | | | | | | | | | | | | | | | Sometimes the audio stream is slightly shorter than the video stream. This can result in no audio data being written to the audio device if you seek close to the end of the clip. This causes the pipeline to hang because the video stream hasn't ended, but the clock hasn't been started because no audio data is written to the device. This change makes sure that the clock gets started if the audio stream has ended and we are still waiting for a clock update. I've also included a fix for a related problem where all of the audio data gets written to the device, but clock updates don't occur on playback_delay changes. This was contributing to the issue mentioned above because up to a second worth of audio data can be covered by the playback_delay. If this happens while seeking to within a second of the clip end you won't get clock updates for the audio data. BUG=52887 TEST=PipelineImplTest.AudioStreamShorterThanVideo Review URL: http://codereview.chromium.org/5182008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67170 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unneeded headers from base/ (part 9)thestig@chromium.org2010-11-2015-14/+14
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/5091005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66873 0039d316-1c4b-4281-b951-d872f2087c98
* Fix compilation of audio_manager_win.cc in Win Release.tony@chromium.org2010-11-191-87/+91
| | | | | | | | | | Also fix line endings. TBR=satish@chromium.org Review URL: http://codereview.chromium.org/5099004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66792 0039d316-1c4b-4281-b951-d872f2087c98
* On windows, send audio hardware info with speech input requests if user ↵satish@chromium.org2010-11-195-1/+127
| | | | | | | | | | | | | consented. This may help identify quality issues. BUG=61677 TEST=none Review URL: http://codereview.chromium.org/4724001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66749 0039d316-1c4b-4281-b951-d872f2087c98
* Add shared macros for stringizing and converting ANSI string constantsjoi@chromium.org2010-11-181-6/+4
| | | | | | | | | | | | | | | | | | | | | (in particular defined by macros) to wide string constants. Convert existing locally-defined stringizing to use the shared macros. Unit tests for the shared macros. This also fixes a minor bug in ceee_module_util.cc where I accidentally quoted a string constant I only meant to convert to wide (this caused no bug, but was unintended, so the change in semantics in that file in the current change is intentional). BUG=none TEST=automated tests Review URL: http://codereview.chromium.org/5103001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66579 0039d316-1c4b-4281-b951-d872f2087c98
* Move FilterType into MediaFilterCollectionacolwell@chromium.org2010-11-1510-123/+151
| | | | | | | | | | | | | | | MediaFilterCollection is the only code that uses FilterType now so I'm moving the enum into that class and removing all references from the MediaFilter & derived classes. BUG=61823 TEST=No new functionality. Existing tests pass. Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=66125 Review URL: http://codereview.chromium.org/4653005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66182 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 66125 -- Broke Windows build - Move FilterType into MediaFilterCollectionlevin@chromium.org2010-11-159-141/+113
| | | | | | | | | | | | | | | | MediaFilterCollection is the only code that uses FilterType now so I'm moving the enum into that class and removing all references from the MediaFilter & derived classes. BUG=61823 TEST=No new functionality. Existing tests pass. Review URL: http://codereview.chromium.org/4653005 TBR=acolwell@chromium.org Review URL: http://codereview.chromium.org/4991003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66139 0039d316-1c4b-4281-b951-d872f2087c98
* Move FilterType into MediaFilterCollectionacolwell@chromium.org2010-11-159-113/+141
| | | | | | | | | | | | | MediaFilterCollection is the only code that uses FilterType now so I'm moving the enum into that class and removing all references from the MediaFilter & derived classes. BUG=61823 TEST=No new functionality. Existing tests pass. Review URL: http://codereview.chromium.org/4653005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66125 0039d316-1c4b-4281-b951-d872f2087c98
* Remove media::StreamSample::IsDiscontinuous() and friends.scherkus@chromium.org2010-11-127-77/+9
| | | | | | | | | | | We don't rely on samples identifying themselves as discontinuous and instead have the pipeline force a flush as part of a seek. BUG=54110 TEST=media_unittests and layout tests Review URL: http://codereview.chromium.org/4878001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@66005 0039d316-1c4b-4281-b951-d872f2087c98
* Rename media::StreamSample::kInvalidTimestamp to media::kNoTimestamp.scherkus@chromium.org2010-11-1215-60/+55
| | | | | | | | | | | Old name was overly verbose. BUG=54110 TEST=compiles Review URL: http://codereview.chromium.org/4877002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65989 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WriteableBuffer interface as DataBuffer is the only implementation.scherkus@chromium.org2010-11-124-26/+15
| | | | | | | | | | | Turns out we never needed multiple WritableBuffer implementations. BUG=54110 TEST=media_unittests Review URL: http://codereview.chromium.org/4824002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65988 0039d316-1c4b-4281-b951-d872f2087c98
* Delete media::Synchronizer since it's never been used.scherkus@chromium.org2010-11-123-151/+0
| | | | | | | | | | | Code is nearly two years old and has yet to be used anywhere. My original intention was to use it to extract the synchronizing code from VideoRendererBase, but looks like I never got around to it. BUG=54110 TEST=compiles Review URL: http://codereview.chromium.org/4823002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65987 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Pipeline & PipelineImpl so WebMediaPlayerImpl references a Pipeline ↵acolwell@chromium.org2010-11-114-42/+31
| | | | | | | | | | | instead of PipelineImpl BUG=54110 TEST=PipelineImplTest Review URL: http://codereview.chromium.org/4664005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65817 0039d316-1c4b-4281-b951-d872f2087c98
* roll ffmpeg to nov 4 to fix clang issuefbarchard@chromium.org2010-11-113-4/+5
| | | | | | | | | BUG=61931 TEST=none Review URL: http://codereview.chromium.org/4770001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65784 0039d316-1c4b-4281-b951-d872f2087c98
* Simplified AudioOutputStream interface.sergeyu@chromium.org2010-11-1146-404/+324
| | | | | | | | | | | | | 1. Removed packet_size parameter from Open(). 2. Removed OnClose() from the callback. Now the callback is guaranteed to be called only between Start() and Stop(). 3. Added samples_per_packet in the AudioParameters struct. BUG=39825 TEST=Unittests Review URL: http://codereview.chromium.org/4661001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65766 0039d316-1c4b-4281-b951-d872f2087c98
* Make sure that ffmpeg returning us an invalid stream cannot damage us toocevans@chromium.org2010-11-081-1/+6
| | | | | | | | | | | badly. BUG=62127 TEST=Added by Andrew Review URL: http://codereview.chromium.org/4619001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65346 0039d316-1c4b-4281-b951-d872f2087c98
* Adding a test case to ffmpeg_unittests for bug 62127.scherkus@chromium.org2010-11-051-0/+1
| | | | | | | | | BUG=62127 TEST=ffmpeg_unittests Review URL: http://codereview.chromium.org/4590003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65269 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor code so PipelineImpl doesn't rely on FilterType anymore.scherkus@chromium.org2010-11-044-121/+115
| | | | | | | | | | | | | - Replaced SupportsSetMessageLoop() & GetThreadName() with new methods in MediaFilter. - Reworked pipeline initialization logic so it keeps track of type references instead of downcasting based on filter_type(). Patch by acolwell@chromium.org: http://codereview.chromium.org/4397003/show BUG=61823 TEST=media_unittests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65129 0039d316-1c4b-4281-b951-d872f2087c98
* Initial StateMatrix idea using composition and void*scherkus@chromium.org2010-11-044-0/+143
| | | | | | | | | BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/3416001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65128 0039d316-1c4b-4281-b951-d872f2087c98
* Move MediaFilterCollection code into a class.scherkus@chromium.org2010-11-0313-158/+328
| | | | | | | | | | | | | Refactored FilterType usage a bit to remove the need to manually associate FilterType values to filter base classes. Patch by acolwell@chromium.org: http://codereview.chromium.org/4176006/show BUG=60778 TEST=media_unittests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64885 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 2thakis@chromium.org2010-11-022-3/+3
| | | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2826041 I then did quite a bit of manual editing to fix style issues. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4291001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64798 0039d316-1c4b-4281-b951-d872f2087c98
* Convert implicit scoped_refptr constructor calls to explicit ones, part 1thakis@chromium.org2010-11-0113-34/+34
| | | | | | | | | | | This CL was created automatically by this clang rewriter: http://codereview.appspot.com/2776043/ . I manually fixed a few rough spots of the rewriter output (doh1-3) and fixed all presubmit errors. BUG=28083 TEST=None Review URL: http://codereview.chromium.org/4192012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64573 0039d316-1c4b-4281-b951-d872f2087c98
* Rename UploadToVideoFrame to ConvertToVideoFrame.tfarina@chromium.org2010-10-303-5/+5
| | | | | | | | | | | (Note: This was a TODO for hclam). BUG=None TEST=trybots Review URL: http://codereview.chromium.org/4113006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64526 0039d316-1c4b-4281-b951-d872f2087c98
* media_bench output width and height of mediafbarchard@chromium.org2010-10-271-3/+8
| | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/4128006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64107 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Hopefully, the last ctor patch.erg@google.com2010-10-272-1/+3
| | | | | | | | | | | With this final patch, the chrome target compiles without my new warnings. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/4099006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64080 0039d316-1c4b-4281-b951-d872f2087c98
* Fix excessive IPCs by audio renderer.sergeyu@chromium.org2010-10-261-2/+7
| | | | | | | | | BUG=60353 TEST=see repro steps in the bug. Review URL: http://codereview.chromium.org/3973008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63909 0039d316-1c4b-4281-b951-d872f2087c98
* audio use table for channels to mask to allow more of the surround optionsfbarchard@chromium.org2010-10-261-19/+39
| | | | | | | | | BUG=60361 TEST=play audio with N channels and it should come out the proper speakers Review URL: http://codereview.chromium.org/4081001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63867 0039d316-1c4b-4281-b951-d872f2087c98