summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Random change to force a build. Fix style compliance. In theory, shouldn't ↵maruel@chromium.org2009-03-021-2/+2
| | | | | | | | | break the build. TBR=cpy Review URL: http://codereview.chromium.org/27331 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10701 0039d316-1c4b-4281-b951-d872f2087c98
* GYP it, GYP it good.mark@chromium.org2009-03-021-878/+0
| | | | | | | | Convert the Mac build to the new GYP-based Xcode build, and remove the old Xcode projects. Review URL: http://codereview.chromium.org/28305 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10693 0039d316-1c4b-4281-b951-d872f2087c98
* Added IsEndOfStream and IsDiscontiguous flags to buffers.ralphl@chromium.org2009-02-258-109/+169
| | | | | | Review URL: http://codereview.chromium.org/27120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10406 0039d316-1c4b-4281-b951-d872f2087c98
* Import .gyp files into the Chromium treemark@chromium.org2009-02-251-0/+90
| | | | | | Review URL: http://codereview.chromium.org/27158 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10380 0039d316-1c4b-4281-b951-d872f2087c98
* Added FFmpeg project to chrome, chrome_kjs and media solution files.scherkus@chromium.org2009-02-251-0/+10
| | | | | | Review URL: http://codereview.chromium.org/28011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10319 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored AudioRendererImpl and NullAudioRenderer into a new base class ↵scherkus@chromium.org2009-02-248-272/+376
| | | | | | | | | | | | AudioRendererBase. AudioRendererBase handles the threaded queueing of audio data and provides simplified interfaces and methods for subclasses. As the saying goes, "threads are hard" so reducing the amount of multi-threaded code people have to write is always a good thing. Review URL: http://codereview.chromium.org/28042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10309 0039d316-1c4b-4281-b951-d872f2087c98
* Add destruction to AudioManager singleton for windowscpu@google.com2009-02-242-6/+14
| | | | | | | | | -Current unit tests sufice Review URL: http://codereview.chromium.org/28036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10248 0039d316-1c4b-4281-b951-d872f2087c98
* Moved most functionality of video renderer into a base class ↵ralphl@chromium.org2009-02-249-0/+606
| | | | | | | | | (video_renderer_base) and implemented mock filter will full functionality execpt that it never draws anything. Review URL: http://codereview.chromium.org/20343 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10239 0039d316-1c4b-4281-b951-d872f2087c98
* Audio related IPC messages and handlers from browser tohclam@chromium.org2009-02-201-0/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | renderer 1. Added 4 IPC messages and corresponding handlers for audio: - RequestAudioPacket(int stream_id) Browser process is hungry for audio packet, notify renderer process to provide more. - NotifyAudioStreamCreated(int stream_id, SharedMemoryHandler buffer, int len) Notify stream created event and provide buffer for filling in the future. - NotifyAudioStreamStateChanged(int stream_id, enum state, nt info) The internal state of the audio stream has chagned, notify renderer process of the change. int info provides additional information of the change, e.g. platform specific error code. - NotifyAudioStreamVolume(int stream_id, double left, double right) Notify the current volume for the audio stream. 2. Added methods to RenderView for creating audio streams and delegate audio related requests to browser process with IPC. Now the registration and bookkeeping of AudioRendererImpl happens in RenderView (see audio_renderers_). The reason being that the code is almost just an base::IDMap that doesn't worth creating a new class. Review URL: http://codereview.chromium.org/20410 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10078 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes a bug in the media pipeline that resulted in the video dimensions ↵ralphl@chromium.org2009-02-194-54/+344
| | | | | | | | | never getting set. Includes a new unit test, along with new mocks for a video decoder and video renderer. Review URL: http://codereview.chromium.org/20326 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10006 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce the amount of included header files. Vast change like in "Oh God! ↵maruel@chromium.org2009-02-181-1/+0
| | | | | | | | This revision changes half of the source files!". Review URL: http://codereview.chromium.org/20378 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9958 0039d316-1c4b-4281-b951-d872f2087c98
* IPC messages definitions for audio related requests fromhclam@chromium.org2009-02-161-3/+5
| | | | | | | | | | | | renderer to browser. Defined IPC messages that maps to methods exposed by AudioRendererHost that serves audio related requests. Also with handlers in ResourceMessageFilter for the newly added IPC messages. Review URL: http://codereview.chromium.org/21340 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9864 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r9861 to fix buildhclam@chromium.org2009-02-161-5/+3
| | | | | | | | TBR=? Review URL: http://codereview.chromium.org/21399 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9862 0039d316-1c4b-4281-b951-d872f2087c98
* IPC messages definitions for audio related requests fromhclam@chromium.org2009-02-161-3/+5
| | | | | | | | | | | | renderer to browser. Defined IPC messages that maps to methods exposed by AudioRendererHost that serves audio related requests. Also with handlers in ResourceMessageFilter for the newly added IPC messages. Review URL: http://codereview.chromium.org/21340 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9861 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed NullAudioRenderer gcc break due to not including <cmath>.scherkus@chromium.org2009-02-131-0/+2
| | | | | | | | TBR=erikkay Review URL: http://codereview.chromium.org/20367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9782 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media::NullAudioRenderer, the equivalent of decoding to /dev/null.scherkus@chromium.org2009-02-134-0/+227
| | | | | | | | | | | | NullAudioRenderer effectively uses an extra thread to "throw away" the audio data at a rate resembling normal playback speed. NullAudioRenderer can also be used in situations where the client has no audio device or we haven't written an audio implementation for a particular platform yet. It supports any type of MediaFormat as long as the mime type has been set to audio/x-uncompressed. Playback rate is also supported and NullAudioRenderer will slow down and speed up accordingly. Review URL: http://codereview.chromium.org/20339 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9780 0039d316-1c4b-4281-b951-d872f2087c98
* A very basic implementation of a data source, which opens a file. ↵ralphl@chromium.org2009-02-1210-7/+579
| | | | | | | | Implementation of the DataSource media filter interface. Review URL: http://codereview.chromium.org/21111 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9642 0039d316-1c4b-4281-b951-d872f2087c98
* Almost complete implementation of the Chrome video renderer. Still needs to ↵ralphl@chromium.org2009-02-111-2/+14
| | | | | | | | implement color space conversion for final bitblt. Review URL: http://codereview.chromium.org/21037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9575 0039d316-1c4b-4281-b951-d872f2087c98
* Construct AudioRendererHost in BrowserRendererProcessHost, also constructhclam@chromium.org2009-02-115-0/+44
| | | | | | | | ResourceMessageFilter with pointer to it so we can delegate requests to it from IPC later. Review URL: http://codereview.chromium.org/20131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9551 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in default implementation of AudioRenderer interface, ↵scherkus@chromium.org2009-02-104-0/+306
| | | | | | | | AudioRendererImpl. Review URL: http://codereview.chromium.org/20123 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9489 0039d316-1c4b-4281-b951-d872f2087c98
* Could you guys get on this one ASAP. My video render code depends on these ↵ralphl@chromium.org2009-02-105-20/+216
| | | | | | | | methods. I also slipped in the critical section code stuff here too. Review URL: http://codereview.chromium.org/19547 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9466 0039d316-1c4b-4281-b951-d872f2087c98
* Added missing header include to buffers.h.scherkus@chromium.org2009-02-061-0/+1
| | | | | | | | We use DCHECK inside buffers.h, but weren't including base/logging.h. Review URL: http://codereview.chromium.org/21120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9302 0039d316-1c4b-4281-b951-d872f2087c98
* Updated pipeline unit test and added mocks for a full audio pipeline.ralphl@chromium.org2009-02-054-78/+369
| | | | | | Review URL: http://codereview.chromium.org/21061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9268 0039d316-1c4b-4281-b951-d872f2087c98
* Merged with latest media pipeline and cleaned up some style stuff.hclam@chromium.org2009-02-031-1/+1
| | | | | | | | Changed WebMediaPlayerDelegateImpl to contains a PipelineImpl object rather keeping a pointer to Pipeline interface. Also added code for task coordination between pipeline thread and main thread. Review URL: http://codereview.chromium.org/19481 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9069 0039d316-1c4b-4281-b951-d872f2087c98
* Changed media::Buffer interfaces to use base::TimeDelta.scherkus@chromium.org2009-01-315-28/+34
| | | | | | Review URL: http://codereview.chromium.org/19739 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9008 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed AssignableBuffer to use OwnerType instead of BufferType.scherkus@chromium.org2009-01-301-1/+1
| | | | | | | | TBR=cpu Review URL: http://codereview.chromium.org/19510 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8976 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media::Synchronizer, a utility class to facilitate A/V ↵scherkus@chromium.org2009-01-304-0/+162
| | | | | | | | synchronization. Review URL: http://codereview.chromium.org/19693 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8950 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed up the EOL style on all /src/media source files.scherkus@chromium.org2009-01-292-12/+12
| | | | | | | TBR=maruel Review URL: http://codereview.chromium.org/19641 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8903 0039d316-1c4b-4281-b951-d872f2087c98
* A minor change to the pattern for filter factories that makes the ↵ralphl@chromium.org2009-01-294-308/+388
| | | | | | | | | | | implementation more flexible, and prevents the use of templates by the client. Now, the filters themselves simply expose a static FilterFactory() method that returns a new factory object. The constructor and destructor of the class should be private and the FilterFactory object shuold be declarded as a friend. There is still a template factory, but the class uses this template class directly (if they want to us it) to implement their factory. Review URL: http://codereview.chromium.org/19435 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8894 0039d316-1c4b-4281-b951-d872f2087c98
* Moved RefCountedThreadSafe from AssignableBuffer to base type Assignable.scherkus@chromium.org2009-01-291-11/+25
| | | | | | | | Fixed some template naming and whitespace issues as well. Review URL: http://codereview.chromium.org/18854 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8867 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of Pipeline and FilterHost interfaces. This is a large ↵ralphl@chromium.org2009-01-2814-148/+969
| | | | | | | | | | | | change, but all of the objects are interrelated. I am also checking in a basic unit test that creates pipeline, and the data source hangs during initialization. The test sleeps one second and then stops the pipeline. Andrew has already done a first pass on this, and the code has come largely from our working experimental branch. Review URL: http://codereview.chromium.org/18546 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8805 0039d316-1c4b-4281-b951-d872f2087c98
* Generate additional .vcproj files in miscellaneous top-level components.sgk@google.com2009-01-264-29/+195
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also updates the .vcproj files themselves to fix minor stylistic incompatibilities with the rest. Affected .vcproj files: * No change (byte-for-byte identical): media\build\media.vcproj media\build\media_player.vcproj media\build\media_unittests.vcproj google_update\ondemand_updates.vcproj * Remove .\ prefix where inconsistent with the rest of a filelist: rlz\rlz.vcproj breakpad\breakpad_handler.vcproj * Add empty <ToolFiles>, <References> and <Globals> sections: breakpad\breakpad_sender.vcproj * Add explicit RootNamespace attribute: sdch\sdch.vcproj * Use Windows-canonical \ separators: sdch\sdch.vcproj * Remove unnecessary Filter and UniqueIdentifier attributes from <Filter> declarations: sdch\sdch.vcproj Additional cleanups along for the ride: * Split breakpad\SConscript logic into separate breakpad_{handler,sender}.scons files. * Add a media\media_player.scons configuration. Review URL: http://codereview.chromium.org/18717 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8644 0039d316-1c4b-4281-b951-d872f2087c98
* This is the frozen interface definition for the media pipeline, filters, and ↵ralphl@chromium.org2009-01-219-279/+346
| | | | | | | | | | | | | | filter hosts. It has been pre-code-reviewed by scherkus already. There is no actual implementation in this change -- only an empty skeleton for every public method is provided. The actual code is ready, but this change is intended to get buy-off for the public interface. I added pipeline_impl.cc to the media_lib.scons since it was missing (it was present in the .sln file already) Review URL: http://codereview.chromium.org/18380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8396 0039d316-1c4b-4281-b951-d872f2087c98
* Do not runsome PCM audio tests on the botscpu@google.com2009-01-192-3/+25
| | | | | | | | | | | | | | - They are flaky when somebody RDPs into the bots. The system somehow installs an audio device on the fly that goes bad. - I think this is the issue as well on the trybots TBR=nsylvain Review URL: http://codereview.chromium.org/18197 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8272 0039d316-1c4b-4281-b951-d872f2087c98
* Testing to determine why some trybots have issues with some PCMWave testing.cpu@google.com2009-01-171-2/+3
| | | | | | | | TBR=maruel Review URL: http://codereview.chromium.org/18188 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8254 0039d316-1c4b-4281-b951-d872f2087c98
* Removed Interface from the end of a bunch of media classes.scherkus@chromium.org2009-01-157-76/+74
| | | | | | | | Also added in missing "public" inheritance to FilterFactory. Review URL: http://codereview.chromium.org/18261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8114 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in filter factory code.scherkus@chromium.org2009-01-152-0/+140
| | | | | | | | Read the comments in media/base/factory.h for details. Review URL: http://codereview.chromium.org/17257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8071 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enable the audio tests that fail in the botscpu@google.com2009-01-144-4/+24
| | | | | | | | | - Basically skip some tests if the OS reports there is no audio device. Review URL: http://codereview.chromium.org/16811 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8047 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in basic pipeline interface and stubbed out media::PipelineImpl.scherkus@chromium.org2009-01-144-0/+207
| | | | | | | | This interface is going to be updated some more in the future, but I'd like to get the basics in first. Review URL: http://codereview.chromium.org/17299 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8046 0039d316-1c4b-4281-b951-d872f2087c98
* disable failing media unit teststc@google.com2009-01-141-4/+4
| | | | | | | | | | these don't work on my machine either TBR=cpu Review URL: http://codereview.chromium.org/18039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8000 0039d316-1c4b-4281-b951-d872f2087c98
* Low level windows audio support (part 2 of 2)cpu@google.com2009-01-134-9/+589
| | | | | | | | | | | | | - Implementation using the WaveXXXX windows API - Unit tests for the implementation and for the previous CL that had the sine wave simple source. This is the harder one :) I tried to add comments to illuminate the thinking. Review URL: http://codereview.chromium.org/17403 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7988 0039d316-1c4b-4281-b951-d872f2087c98
* Low level windows audio support (part 1 of 2)cpu@google.com2009-01-133-33/+125
| | | | | | | | | | | | | - Windows specific changes to AudioManager Allows testing for mock streams This this the first part of the code that adds support for audio using waveXXX API. Since is relatively lot of code I will do two CLs, unfortunately the complexity is not evenly split. Review URL: http://codereview.chromium.org/17401 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7987 0039d316-1c4b-4281-b951-d872f2087c98
* Call logging::InitLogging. The lack of this was causing some hangs (and ↵erikkay@google.com2009-01-131-2/+0
| | | | | | | | | | | possibly crashes) in ObserverListTest.BUG=6286 This CL has expanded to include some cleanup and refactoring of test_suite and related files, so that this logging change (and other improvements) are applied to all unit tests. Review URL: http://codereview.chromium.org/18003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7977 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media_player project, which is used for standalone media testing.scherkus@chromium.org2009-01-093-0/+172
| | | | | | | | It does nothing yet and is only included in media.sln. Review URL: http://codereview.chromium.org/17221 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7799 0039d316-1c4b-4281-b951-d872f2087c98
* Fix media.sln, I removed dmg_fp.vcproj a long time ago.tc@google.com2009-01-091-8/+0
| | | | | | Review URL: http://codereview.chromium.org/17290 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7794 0039d316-1c4b-4281-b951-d872f2087c98
* Removed FFmpeg constants from media::MediaFormat and media::mime_type.scherkus@chromium.org2009-01-072-10/+0
| | | | | | | | They're specific to the FFmpeg filters themselves and shouldn't be declared here. They're not used anywhere at the moment so removing them is fine for now. Review URL: http://codereview.chromium.org/17240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7699 0039d316-1c4b-4281-b951-d872f2087c98
* Update googletest (gtest) to 1.2.1maruel@chromium.org2009-01-071-2/+2
| | | | | | | The main new thing is the ability to print the test's duration. Review URL: http://codereview.chromium.org/17212 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7668 0039d316-1c4b-4281-b951-d872f2087c98
* Changed media::DataSourceInterface to use string instead of wstring.scherkus@chromium.org2009-01-071-1/+1
| | | | | | Review URL: http://codereview.chromium.org/16531 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7648 0039d316-1c4b-4281-b951-d872f2087c98
* Changed media::kRawAudio/Video constants to the correct ↵scherkus@chromium.org2009-01-071-2/+2
| | | | | | | | | | media::kUncompressedAudio/Video. They were previously changed in the header file but I forgot to change the source file. Review URL: http://codereview.chromium.org/17222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7646 0039d316-1c4b-4281-b951-d872f2087c98
* Updated media.xcodeproj to include filter_host_impl.cc,h.scherkus@chromium.org2009-01-061-0/+6
| | | | | | Review URL: http://codereview.chromium.org/17209 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7612 0039d316-1c4b-4281-b951-d872f2087c98