summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* FFmpegDemuxer now uses a thread to handle demuxing.scherkus@chromium.org2009-03-314-43/+84
| | | | | | | | | | Since FFmpegDemuxer no longer uses the pipeline thread to demuxer, I had to add a WaitableEvent to TestReader to make sure the read completed (or not!). Downside is that the test for when a read is never completed now waits 500ms before timing out. Oh well :( Review URL: http://codereview.chromium.org/55047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12831 0039d316-1c4b-4281-b951-d872f2087c98
* Enable streaming in ffmpeg based on data sourcemedia::DataSource interface ↵hclam@chromium.org2009-03-305-9/+26
| | | | | | | | has IsSeekable() method to decideon runtime whether the data source is seekable or not. Thisinformation is provided to FFmpeg to decide whether to dostreaming or not. In the case of streaming, FFmpeg does notsupport seeking. Review URL: http://codereview.chromium.org/57015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12802 0039d316-1c4b-4281-b951-d872f2087c98
* FFmpeg Audio decoder glue codehclam@chromium.org2009-03-303-7/+90
| | | | | | | | | | Implementation of FFmpegAudioDecoder which is the glue code providing access to ffmpeg decoder functions for the media pipeline. Review URL: http://codereview.chromium.org/56035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12800 0039d316-1c4b-4281-b951-d872f2087c98
* Exclude ffmpeg_* files that don't build on Linux, too.sgk@google.com2009-03-301-0/+11
| | | | | | Review URL: http://codereview.chromium.org/57020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12797 0039d316-1c4b-4281-b951-d872f2087c98
* Decoders now use standard callback mechanism for Reads. Removed ↵ralphl@chromium.org2009-03-308-132/+76
| | | | | | | | | Assignable<> template. Also includes an update that should provide more accurate timing from the audio renderer. Review URL: http://codereview.chromium.org/55031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12796 0039d316-1c4b-4281-b951-d872f2087c98
* Linux build fixesagl@chromium.org2009-03-303-15/+10
| | | | | | | Review URL: http://codereview.chromium.org/56068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12791 0039d316-1c4b-4281-b951-d872f2087c98
* Switching media to gyp under windows.bradnelson@google.com2009-03-305-823/+63
| | | | | | Review URL: http://codereview.chromium.org/57002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12761 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed a lot threading issues during tear down of <video>hclam@chromium.org2009-03-272-5/+4
| | | | | | | | | | | | | | | | | Fixed a lot of dead locks during tead down of <video> due to DataSourceImpl. Most of the issues come from that during a tab close RenderThread is destroyed and new tasks posted on it will not executed, but DataSourceImpl is waiting for those tasks to finish to complete stopping. Another dead lock comes from that when RenderThread is destroyed the owner loop of it (a IO Message Loop) is being destroyed too and DataSourceImpl shouldn't post tasks to that message loop when stopping. Review URL: http://codereview.chromium.org/42675 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12720 0039d316-1c4b-4281-b951-d872f2087c98
* Demuxer stream now uses a callback instead of Assignable template. Cleaning ↵ralphl@chromium.org2009-03-276-57/+74
| | | | | | | | up Pipeine interfaces to conform with Chrome Base design. Review URL: http://codereview.chromium.org/53126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12652 0039d316-1c4b-4281-b951-d872f2087c98
* Lots of files touched for a very simple change. Everywhere we used a const ↵scherkus@chromium.org2009-03-2626-99/+104
| | | | | | | | | | MediaFormat* we now use a const MediaFormat&. This makes for simpler code and for better pointer reference safety. Review URL: http://codereview.chromium.org/42635 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12623 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed missing projects and linker errors in media.sln.scherkus@chromium.org2009-03-261-11/+17
| | | | | | Review URL: http://codereview.chromium.org/42671 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12622 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed bug in AudioRendererBase and made AudioRendererImpl check for audio ↵scherkus@chromium.org2009-03-262-2/+3
| | | | | | | | | | devices. TBR=hclam Review URL: http://codereview.chromium.org/42660 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12602 0039d316-1c4b-4281-b951-d872f2087c98
* Ability for demuxer clients to get to FFmpeg's AVStream object exposed as an ↵ralphl@chromium.org2009-03-269-67/+136
| | | | | | | | | extended interface through DemuxerStream object. DemuxerStream now derives from base::RefCountedThreadSafe. Review URL: http://codereview.chromium.org/42521 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12537 0039d316-1c4b-4281-b951-d872f2087c98
* First part of the Mac Audio low level supportcpu@chromium.org2009-03-255-4/+291
| | | | | | | | | | | - Basic factory support for 16 PCM audio - Adds PCM audio using Queue Services - Many functions not implemented, trying to keep CLs to a decent size - Added two unit tests Review URL: http://codereview.chromium.org/42494 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12431 0039d316-1c4b-4281-b951-d872f2087c98
* TBR=hclamfbarchard@chromium.org2009-03-241-8/+8
| | | | | | | | | Try to fix buildbot for linux Review URL: http://codereview.chromium.org/52036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12334 0039d316-1c4b-4281-b951-d872f2087c98
* This reordering of instructions and use of movzx improved performance on ↵fbarchard@chromium.org2009-03-241-37/+21
| | | | | | | | | pentium4 without impacting performance on core2 architecture. Performance goes from 2.050 ms to 1.742 ms per frame. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12333 0039d316-1c4b-4281-b951-d872f2087c98
* MMX optimized YUV conversion in GCC and Visual C.fbarchard@chromium.org2009-03-232-64/+528
| | | | | | | | Unittest updated with 640x360 image converted offline with same code. Review URL: http://codereview.chromium.org/43003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12292 0039d316-1c4b-4281-b951-d872f2087c98
* Update the gyp Linux build:sgk@google.com2009-03-201-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | * Add Linux settings to target_defaults in common.gypi so gyp-generated SConscript files no longer depend on build/SConscript.main or the Hammer infrastructure. * Copy the FilterOut() function from Hammer to the chromium_builders.py Tool module. * Add a ChromiumLoadableModule() builder to chromium_builders.py. * Add dependencies on the 'views' library to the chrome link (target 'app'). * Add missing views/*/*_unittest.cc modules to the 'unit_tests' target. Exclude all but the one that builds on Linux from the non-Windows builds. * Crib a list of chrome/views files to exclude from the Linux build from the old SCons configuration. * Add a new build/linux/system.gyp file with new 'settings' targets to encapsulate the pkg-config checks for gtk+-2.0, nss and pangoft2. * Add depenedencies in the other targets on the new gtk, nss and pangoft2 'settings' targets from build/linux/system.gyp. * Add a pkg_config_wrapper.py script that keeps gyp happy by simply exiting 0 if the package isn't found. * DEPS roll for latest gyp changes to support the above. Review URL: http://codereview.chromium.org/42340 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12228 0039d316-1c4b-4281-b951-d872f2087c98
* Use AutoUnlock class and Lock::AssertAcquired() methods to verify expected ↵ralphl@chromium.org2009-03-192-27/+25
| | | | | | | | behavior wrt locks in base classes. Review URL: http://codereview.chromium.org/48168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12062 0039d316-1c4b-4281-b951-d872f2087c98
* Base class for audio and video decoders, plus a test audio and video decoder ↵ralphl@chromium.org2009-03-1812-0/+599
| | | | | | | | | | implementation. Note that the FFmpeg decoder classes are declared, but are completely non-functional at this time. This is the first step towards getting actual, functional media decoders checked into the Chrome project. Review URL: http://codereview.chromium.org/43060 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11970 0039d316-1c4b-4281-b951-d872f2087c98
* Revert tree bustage cause by r11904.hclam@chromium.org2009-03-1737-672/+1863
| | | | | | TBR=agl git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11906 0039d316-1c4b-4281-b951-d872f2087c98
* andrew's patchhclam@chromium.org2009-03-1737-1863/+672
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11904 0039d316-1c4b-4281-b951-d872f2087c98
* updated data for yuv unittest.fbarchard@chromium.org2009-03-162-0/+1108
| | | | | | | | | | | | note that this needs to be committed before code can be tested on try server. flags were applied to make this binary svn ps svn:mime-type application/octet-stream bali.640_360.yuv svn ps svn:mime-type application/octet-stream bali.640_360.rgb The resolution is half on both axis to avoid a size limitation. Review URL: http://codereview.chromium.org/42257 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11796 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unneeded includes of base/time.h.thestig@chromium.org2009-03-162-2/+4
| | | | | | Review URL: http://codereview.chromium.org/48019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11766 0039d316-1c4b-4281-b951-d872f2087c98
* Buffer interface is now uint8*. Slight change to way data buffers are ↵ralphl@chromium.org2009-03-166-55/+58
| | | | | | | | | created. Caller passes no parameters to the constructor of a data buffer now. GetWritableData() method is responsible for allocating memory. Review URL: http://codereview.chromium.org/46015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11760 0039d316-1c4b-4281-b951-d872f2087c98
* Removed unneeded includes of base/scoped_ptr.h. Reduce usage from ~800 files ↵thestig@chromium.org2009-03-133-0/+3
| | | | | | | | to ~400. Review URL: http://codereview.chromium.org/46039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11651 0039d316-1c4b-4281-b951-d872f2087c98
* Remove unneeded platform_thread.h includes. Reduces number of includes from ↵thestig@chromium.org2009-03-131-1/+0
| | | | | | | | 598 to 511. Review URL: http://codereview.chromium.org/42165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11617 0039d316-1c4b-4281-b951-d872f2087c98
* Remove logging.h from cc files that don't use it.thestig@chromium.org2009-03-122-2/+0
| | | | | | Review URL: http://codereview.chromium.org/42155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11593 0039d316-1c4b-4281-b951-d872f2087c98
* Pointing slns at generated vcprojs from base.bradnelson@google.com2009-03-121-2/+2
| | | | | | Review URL: http://codereview.chromium.org/42047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11520 0039d316-1c4b-4281-b951-d872f2087c98
* NO CODE CHANGEdeanm@chromium.org2009-03-118-8/+0
| | | | | | | | | Normalize end of file newlines in build/ media/ printing/ testing/ and tools/. All files end in a single newline. Review URL: http://codereview.chromium.org/43082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11449 0039d316-1c4b-4281-b951-d872f2087c98
* Implementaion of the VideoFrame interaface plus unit tests. Modified the ↵ralphl@chromium.org2009-03-1110-88/+385
| | | | | | | | mock video decoder to use the new frame implementation. Review URL: http://codereview.chromium.org/42038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11410 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented AudioRendererImpl in renderer process using APIhclam@chromium.org2009-03-102-2/+2
| | | | | | | | | | provided by RenderView for accessing audio device in the browser using IPC, subclassing from media::AudioRendererBase for buffer filling. Review URL: http://codereview.chromium.org/28081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11392 0039d316-1c4b-4281-b951-d872f2087c98
* Adding fixed guids to some modules to facilitate incremental switch to gyp.bradnelson@google.com2009-03-101-0/+1
| | | | | | Review URL: http://codereview.chromium.org/42044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11388 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media::FFmpegGlue, media::FFmpegDemuxer and tests.scherkus@chromium.org2009-03-1013-11/+1442
| | | | | | | | | | | | | | Fixes build break by including FFmpeg dependency for media project in chrome.sln. This is a second attempt at committing the following changelists: http://codereview.chromium.org/39295 http://codereview.chromium.org/28165 TBR=darin Review URL: http://codereview.chromium.org/42029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11356 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Checking in media::FFmpegDemuxer and tests."scherkus@chromium.org2009-03-1013-1442/+11
| | | | | | Review URL: http://codereview.chromium.org/43032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11350 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media::FFmpegDemuxer and tests.scherkus@chromium.org2009-03-106-1/+786
| | | | | | | | FFmpegDemuxer is a Demuxer implemenation using FFmpeg's libavformat. It is written in a way to work with any format and assume that the downstream decoders can interpret FFmpeg's CodecID enumerations. Review URL: http://codereview.chromium.org/39295 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11346 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media::FFmpegGlue and some common FFmpeg code.scherkus@chromium.org2009-03-109-10/+656
| | | | | | | | FFmpegGlue acts as an adapter between FFmpeg's URLProtocol and the media::DataSource interface, allowing us to use media::DataSource implementations for handling FFmpeg's IO. Review URL: http://codereview.chromium.org/28165 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11345 0039d316-1c4b-4281-b951-d872f2087c98
* DCHECK affects performance in release build.fbarchard@chromium.org2009-03-071-0/+7
| | | | | | | | | OFFICIAL_BUILD is okay, but this ifdef makes DCHECK only work in debug. On 720p DCHECK version is 8.14 ms and without, its 2.68 ms Review URL: http://codereview.chromium.org/40245 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11191 0039d316-1c4b-4281-b951-d872f2087c98
* Moved mock media filter constructors from private to public.scherkus@chromium.org2009-03-062-48/+32
| | | | | | Review URL: http://codereview.chromium.org/40243 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11158 0039d316-1c4b-4281-b951-d872f2087c98
* Pipeline_Impl was modified to properly render a stream that has video but no ↵ralphl@chromium.org2009-03-0610-212/+276
| | | | | | | | | | | audio. A unit test accompanies the change. Note that one minor other change was snuck in with this change. The data_source_impl.cc had a TODO to set a more specific error when a read failed. Because I was already updating the pipeline error enum, I added the error code, changed the call to host_->Error(), and removed the TODO. Review URL: http://codereview.chromium.org/39170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11148 0039d316-1c4b-4281-b951-d872f2087c98
* Cast size_t to int for comparison with ReadFile return value.fbarchard@chromium.org2009-03-061-6/+8
| | | | | | | | | What gcc compile option checks sign on equality? I'd like to test this, even if try server does not. TBR=hclam Review URL: http://codereview.chromium.org/38008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11091 0039d316-1c4b-4281-b951-d872f2087c98
* YUV conversion code.fbarchard@chromium.org2009-03-067-1/+286
| | | | | | | This will be used for reference. Its reasonably simple, fast and high quality. Future versions will be optimized and should try to maintain similar quality. Longer term we may move this to Skia or attempt a hardware version. Review URL: http://codereview.chromium.org/40029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11089 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed up MockFilterHost and MockPipeline to support tasks and callbacks.scherkus@chromium.org2009-03-065-106/+139
| | | | | | | | | | | | I changed the constructor to MockFilterHost to *not* create and initialize filters to allow for testing for conditions where create/initialize would fail. Also multiple MockFilterHosts can now share a common MockPipeline, which simulates how it is supposed to work. Finally, updated the VideoRendererBase tests to be deterministic and completely mocked and fixing failing unittests. BUG=8379 Review URL: http://codereview.chromium.org/39234 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11085 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-052-2/+2
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Changed several references from "char" to "uint8" which is the appropriate ↵ralphl@chromium.org2009-03-046-48/+90
| | | | | | | | | | | | | | | | definition for byte data buffers. This change is small, but modifies the data source interface Read() method, and the VideoSurface data structure. Mocks and tests all have very small changes. There are some changes in the mock_media_filters.h file that go beyond the scope of just changing char to uint8. These changes are required for future tests, and simply fill in parts of mocks that previously were NOTIMPLEMENTED(). The MockVideoFrame was modified to allow other tests to create a video frame directly without using the MockFilterConfiguration data structure. Also, it is now possible to construct a mock pipeline that has no audio. The currently checked-in pipeline will NOT work if you don't have audio. In a 2nd changelist, I will submit a new Pipeline_Impl and unit test that DOES support video without audio. Review URL: http://codereview.chromium.org/40059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10940 0039d316-1c4b-4281-b951-d872f2087c98
* One of the renderer unit tests is flaky so I have disabled it and put a TODO ↵ralphl@chromium.org2009-03-041-1/+3
| | | | | | | | | | to investigate it. Entered bug # 8379 and assigned it to ralphl (me). Actually, the test is not flaky, the renderer is not working right, so the test is right, but there is a bug that it uncovers. Review URL: http://codereview.chromium.org/40074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10933 0039d316-1c4b-4281-b951-d872f2087c98
* The text is identical, but the change removes several cr/lf blocks from the ↵ralphl@chromium.org2009-03-031-5/+5
| | | | | | file which is breaking he linux and mac builds. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10841 0039d316-1c4b-4281-b951-d872f2087c98
* test data for yuv unittestfbarchard@chromium.org2009-03-032-0/+28891
| | | | | | Review URL: http://codereview.chromium.org/40054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10828 0039d316-1c4b-4281-b951-d872f2087c98
* 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