summaryrefslogtreecommitdiffstats
path: root/media/media.gyp
Commit message (Collapse)AuthorAgeFilesLines
* media.gyp - remove condition that prevents qt_faststart from building on x64.fbarchard@chromium.org2009-10-171-11/+7
| | | | | | | | | BUG=25098 TEST=make -j6 -r qt_faststart BUILDTYPE=Release Review URL: http://codereview.chromium.org/289009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29358 0039d316-1c4b-4281-b951-d872f2087c98
* Move Alsa device opening into the audio thread, and add in support for ↵ajwong@chromium.org2009-10-161-2/+4
| | | | | | | | | | | | | | | multi-channel audio. Moving the device opening into the audio thread will prevent browser hangs for badly behaving alsa implementations (like pulseaudio) that can hang snd_pcm_open if pulseaudiod is wedged, even if SND_PCM_NONBLOCK is requested. For multi-channel audio, device enumeration has been added to try and find a multi-channel device with a stable channel mapping. According to http://0pointer.de/blog/projects/guide-to-sound-apis.html, default should only be used with mono and stereo stream because the channel ordering is not defined by Alsa. To get a well-defined channel ordering, one must use one of the surround40, surround51, etc., device names. However, these device names do not always allow multiple opens, so a fallback scheme is implemented to use default if necessary. BUG=20945,17703 TEST=listened with built-in soundcard and USB soundcard with various other audio programs running. Review URL: http://codereview.chromium.org/275022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29299 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the base_gfx project since it no longer has an external dependencies.brettw@chromium.org2009-10-141-0/+1
| | | | | | | | | | Replace it with base_i18n which encapsulates all ICU dependencies. BUG=none TEST=none Review URL: http://codereview.chromium.org/267048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29036 0039d316-1c4b-4281-b951-d872f2087c98
* DJB2 Hash for applications where high speed hash or checksum values are needed.fbarchard@chromium.org2009-10-091-0/+3
| | | | | | | | | BUG=21126 TEST=djb2_unittest.cc has a quick test. will replace versions in media unittests and media_bench in future. Review URL: http://codereview.chromium.org/193028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28532 0039d316-1c4b-4281-b951-d872f2087c98
* Add comments setting emacs and vim tab width and expansion variables.sgk@google.com2009-10-061-0/+6
| | | | | | | | BUG=none TEST=successful builds Review URL: http://codereview.chromium.org/256059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28089 0039d316-1c4b-4281-b951-d872f2087c98
* Force inclusion of build/common.gypi for all chromium gyp files.yaar@chromium.org2009-09-151-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | Why: Simpler build code. If everybody includes it, it should be included automatically. Why now: The webkit chromium builds need it be specified, since can't default to build/common.gypi. What was done: 1. build/common.gypi's contents were moved to a new file build/gyp_chromium.gypi 2. tools/gyp/gyp_chromium was moved to build/gyp_chromium and made to automatically include build/gyp_chromium.gypi. 3. lots of gyp files were fixed to not refer to build/common.gypi any more. 4. o3d which also builds independently of chrome, was fixed to have a gyp_o3d that includes gyp_chromium.gypi too. 5. build/common.gypi was left empty, because there are some external projects that still refer to it. Things that are left to do after this patch is in: 1. The following external files (in other repositories) need to stop include common.gypi ./third_party/hunspell/hunspell.gyp ./third_party/icu/icu.gyp ./v8/tools/gyp/v8.gyp 2. Once nobody refers to common.gypi anymore, delete common.gypi -or- Delete gyp_chromium.gypi and move its content back to common.gypi Tested on mac, win and linux. On win, got a few unit tests errors on chrome bookmarks, which should not be related. I'm running again with clobber to verify. Review URL: http://codereview.chromium.org/206006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26302 0039d316-1c4b-4281-b951-d872f2087c98
* Added USE_GDK, set when either TOOLKIT_GTK or TOOLKIT_VIEWS is set butbenl@chromium.org2009-09-071-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | not OS_WIN. Added USE_X11. Set when OS_LINUX or OS_FREEBSD is set. Added USE_BASE_DATA_PACK for base::DataPack usage, set for OS_MACOSX, OS_LINUX or OS_FREEBSD. Added USE_NSS for ... nss (for crypto). Windows and MacOS use platform-specific libraries. All of the above cause slightly odd formulations like: #if defined(OS_WIN) ... #elif defined(USE_BASE_DATA_PACK) ... #endif Possibly should also define USE_DLL_FOR_DATA, etc? Or something? Wrapped various references to struct stat64 and stat64() to use struct stat and stat() for FreeBSD - but a "man stat64" on Linux suggests that we could do the same thing for at least Linux, too, and perhaps eliminate the wrapper? git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25599 0039d316-1c4b-4281-b951-d872f2087c98
* Added file_protocol.h to media.gypscherkus@chromium.org2009-09-041-0/+1
| | | | | | | | | | | TBR=fbarchard BUG=none TEST=none Review URL: http://codereview.chromium.org/193016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25421 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented file URLProtocol for media_bench.scherkus@chromium.org2009-09-041-0/+1
| | | | | | | | | | BUG=none TEST=media_bench should work out of the box with chromium's ffmpeg binaries Review URL: http://codereview.chromium.org/196018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25420 0039d316-1c4b-4281-b951-d872f2087c98
* Fix messy includes in media\player.maruel@chromium.org2009-09-031-1/+3
| | | | | | | | | | This should never have been checked-in as-is. TEST=still compiles BUG=none Review URL: http://codereview.chromium.org/193007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25350 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up AudioRendererAlgorithmOLA when dealing with very little remaining data.scherkus@chromium.org2009-08-251-0/+1
| | | | | | | | | | | | | | | Since the main OLA loop refuses to process data when there isn't enough to process, it was possible in some situations for OLA to hold on to a few remaining bytes and never be completely "finished". This resulted in the ended event not firing, which leads to looping not working. The solution was to simply consume all remaining data and replace it with muted audio in the destination buffer. Not the best solution (we end up losing <8ms of audio at the end), but it works and is a safe fix. I also lowered the OLA threshold to 0.5x since we sound the same as other implementations so why not :P TEST=media_unittests, ended+looping when rate != 1.0f BUG=19105,19856 Review URL: http://codereview.chromium.org/174270 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24189 0039d316-1c4b-4281-b951-d872f2087c98
* Updates to be able to build all targets in Linux x64.deanm@chromium.org2009-08-211-7/+11
| | | | | | | Review URL: http://codereview.chromium.org/174261 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24029 0039d316-1c4b-4281-b951-d872f2087c98
* Suppress slider thumb jumping around during seekinghclam@chromium.org2009-08-211-1/+2
| | | | | | | | | | | | | BUG=19396 TEST=Open a video, seek to any position, the thumb should stops a bit and then goes forward from there. Preventing the slider thumb from jumping around after seek by freezing the clock until we get a valid time update from the audio renderer. Review URL: http://codereview.chromium.org/173072 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23937 0039d316-1c4b-4281-b951-d872f2087c98
* Reimplement the AlsaPcmOutputStream and fix the threading issues.ajwong@chromium.org2009-08-041-0/+3
| | | | | | | | Changes the threading model from one thread per stream to one shared thread. Also, redoes the alsa reading/buffering logic to assume an asynchronous data source, and respect the different packet sizes. The Alsa device is set to non-blocking now. State transitions are cleaned up, and the threading semantics are reworked. Now linux audio will no longer crash on shutdown, seek, pause, or tab close. This implementation does still leak though. :( The leak will be fixed in another CL. Review URL: http://codereview.chromium.org/160497 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22414 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented a proper clock for audio/video synchronization.scherkus@chromium.org2009-07-281-0/+4
| | | | | | | | | | | More or less a change to pull out time management from PipelineImpl into a new class ClockImpl. Biggest difference is ClockImpl will use the system clock + linear interpolation to provide a more "precise" representation of the current playback position. BUG=16508 TEST=a/v sync should remain the same, currentTime should report more precise values Review URL: http://codereview.chromium.org/159517 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21882 0039d316-1c4b-4281-b951-d872f2087c98
* Merged FilterHostImpl into PipelineInternal as it was no longer needed and ↵scherkus@chromium.org2009-07-221-2/+0
| | | | | | | | | | | | | | | added complexity. PipelineInternal now directly implements FilterHost and uses an std::map to safely cast from MediaFilter to specialized filter subclasses. PipelineImpl also provides the same set of functions as FilterHost to allow PiplineInternal to acquire the lock and safely update data. BUG=17107 TEST=media_unittests should still pass Review URL: http://codereview.chromium.org/155739 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21287 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring to share MockAudioOutputStream implementations across 3 platformshclam@google.com2009-07-221-0/+2
| | | | | | | | | | | | | Re-trying the previous CL. The last change got reverted because of valgrind failure. TBR=scherkus Original CL: http://codereview.chromium.org/155471 Review URL: http://codereview.chromium.org/159167 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21242 0039d316-1c4b-4281-b951-d872f2087c98
* fix warnings treated as errors on line 94 and 97 that are allowed on try ↵fbarchard@chromium.org2009-07-211-0/+7
| | | | | | | | | | | server, but not buildbot. doh BUG=17304 TEST=buildbot has different warnings than try server. this patch reenables the qtfaststart build with 2 warnings fixed. Review URL: http://codereview.chromium.org/155834 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21215 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r21137 to fix Chromium mac valgrindhclam@chromium.org2009-07-211-2/+0
| | | | | | | | TBR=scherkus Review URL: http://codereview.chromium.org/159122 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21154 0039d316-1c4b-4281-b951-d872f2087c98
* Remove qtfaststart for now from build filefbarchard@chromium.org2009-07-211-7/+0
| | | | | | Review URL: http://codereview.chromium.org/159121 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21153 0039d316-1c4b-4281-b951-d872f2087c98
* qt-faststart is a tool that moves the 'moov' to the start of file, reducing ↵fbarchard@chromium.org2009-07-211-0/+7
| | | | | | | | | | | | | | startup latency. This version handles 'free' atoms, which are produced by mp4box and other tools, but impact ffmpeg seeks on playback. The code follows ffmpeg coding standards. BUG=17304 TEST=instrument seeks or measure latency performance and play videos with and without qt-faststart applied to the data. Review URL: http://codereview.chromium.org/149439 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21150 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring to share MockAudioOutputStream implementations across 3 platformshclam@chromium.org2009-07-211-0/+2
| | | | | | Review URL: http://codereview.chromium.org/155471 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21137 0039d316-1c4b-4281-b951-d872f2087c98
* Software volume adjustment by changing samples.fbarchard@chromium.org2009-07-201-1/+4
| | | | | | | | | BUG=16500 TEST=play youtube in different window. play another video with video tag and mute sound and make sure it does not affect youtube. Review URL: http://codereview.chromium.org/159092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21091 0039d316-1c4b-4281-b951-d872f2087c98
* Adding callback support to media filter Initialize() and Seek().scherkus@chromium.org2009-07-161-0/+3
| | | | | | | | | | | | | Also includes unit tests for AudioRendererBase and VideoRendererBase. I had to rollback my first attempt at this change. Original review: http://codereview.chromium.org/155469 BUG=16014,16031 TEST=media_unittests, layout tests Review URL: http://codereview.chromium.org/155608 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20836 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Splitting media filter's Initialize() into Create() + callback and ↵scherkus@chromium.org2009-07-151-3/+0
| | | | | | | | | Seek() + callback." Review URL: http://codereview.chromium.org/149682 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20745 0039d316-1c4b-4281-b951-d872f2087c98
* Splitting media filter's Initialize() into Create() + callback and Seek() + ↵scherkus@chromium.org2009-07-151-0/+3
| | | | | | | | | | | callback. BUG=16014,16031 TEST=media_unittests, layout tests Review URL: http://codereview.chromium.org/155469 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20744 0039d316-1c4b-4281-b951-d872f2087c98
* Converted remaining tests to use gmock and deleted all old mocking code.scherkus@chromium.org2009-07-101-3/+0
| | | | | | | | | | | The most important part was refactoring PipelineImpl tests in preparation for message loop injection. The old mocks just did not work *at all* with my message loop injection patch. BUG=16008 TEST=media_unittests should pass and not flake out Review URL: http://codereview.chromium.org/149423 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20412 0039d316-1c4b-4281-b951-d872f2087c98
* Updated FFmpegDemuxerTest and FFmpegVideoDecoderTest to use the gmock-based ↵scherkus@chromium.org2009-07-091-1/+0
| | | | | | | | | | | | | MockFilterHost. Also deleted the old MockPipeline and MockFilterHost code as it has been completely deprecated. BUG=16008 TEST=FFmpegDemuxerTest and FFmpegVideoDecoderTest Review URL: http://codereview.chromium.org/149366 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20242 0039d316-1c4b-4281-b951-d872f2087c98
* BufferQueue class to hide audio data micromanagement from scaling ↵kylep@chromium.org2009-07-081-0/+3
| | | | | | | | | | algorithms. May be useful in other contexts. BUG=16011 TEST=src/media/base/buffer_queue_unittest.cc Review URL: http://codereview.chromium.org/155193 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20211 0039d316-1c4b-4281-b951-d872f2087c98
* Removing video_decoder_unittest.cc as it tests nothing.scherkus@chromium.org2009-07-081-1/+0
| | | | | | | | | | | ffmpeg_video_decoder_unittest.cc is a much more comprehensive test! BUG=16008 TEST=none Review URL: http://codereview.chromium.org/155198 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20162 0039d316-1c4b-4281-b951-d872f2087c98
* OLA Algorithm and test shell.kylep@chromium.org2009-07-071-0/+12
| | | | | | | | BUG=16011 TEST=none Review URL: http://codereview.chromium.org/151120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19994 0039d316-1c4b-4281-b951-d872f2087c98
* Make FFmpeg delay load settings propagate to all shared libraries and ↵scherkus@chromium.org2009-07-011-6/+0
| | | | | | | | | | | executables. TEST=everything should build with no test hangs BUG=15664 Review URL: http://codereview.chromium.org/151124 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19746 0039d316-1c4b-4281-b951-d872f2087c98
* Checking in media/base/mock_filters.h, a new set of mock filters based on gmock.scherkus@chromium.org2009-06-231-0/+1
| | | | | | | | | TEST=FFmpegDemuxer tests should continue to run BUG=none Review URL: http://codereview.chromium.org/147046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19078 0039d316-1c4b-4281-b951-d872f2087c98
* Renamed media::VideoThread to the more appropriate media::VideoRendererBase.scherkus@chromium.org2009-06-221-3/+0
| | | | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/141059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18970 0039d316-1c4b-4281-b951-d872f2087c98
* Draft of base and default algorithm class for AudioRendererBase refactor.kylep@chromium.org2009-06-191-0/+4
| | | | | | Review URL: http://codereview.chromium.org/118395 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18876 0039d316-1c4b-4281-b951-d872f2087c98
* Refactored, templatized, commented and moved TestReader to the fancy new ↵scherkus@chromium.org2009-06-161-0/+1
| | | | | | | | | | MockReader. Previously only used by FFmpegDemuxerTest, it's not templated so we can use it with FFmpegVideoDecoderTest and FFmpegAudioDecoderTest and any other sort of demuxer or decoder for that matter. Review URL: http://codereview.chromium.org/126027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18547 0039d316-1c4b-4281-b951-d872f2087c98
* Make the generated stubs weak. Enable the unittests that had conflicting ↵ajwong@chromium.org2009-06-161-14/+0
| | | | | | | | | | symbols. Also move some of the old mocks into their own namespace. They were causing linker confusion due to inlining or something which generated bad test executables that segfaulted. Review URL: http://codereview.chromium.org/126170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18457 0039d316-1c4b-4281-b951-d872f2087c98
* Moving MockFFmpeg to its own file and some media.gyp cleanup.scherkus@chromium.org2009-06-151-17/+21
| | | | | | | | Step one of having a completely mocked FFmpeg library. Review URL: http://codereview.chromium.org/126160 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18455 0039d316-1c4b-4281-b951-d872f2087c98
* Unit tests for FFmpegVideoDecoder using gmock.scherkus@chromium.org2009-06-121-0/+4
| | | | | | Review URL: http://codereview.chromium.org/123030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18233 0039d316-1c4b-4281-b951-d872f2087c98
* Split FFmpegDemuxerStream into a separate interface AVStreamProvider.scherkus@chromium.org2009-06-111-0/+2
| | | | | | | | Pure refactor, functionality remains the same. Review URL: http://codereview.chromium.org/122018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18213 0039d316-1c4b-4281-b951-d872f2087c98
* Allow PushSource to have smaller write size than read size (packet size)hclam@chromium.org2009-06-041-0/+1
| | | | | | | | | | The change actually supports arbitrary write size but write size greater than read size (packet size) is prohibited by an explicit check. Review URL: http://codereview.chromium.org/118170 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@17686 0039d316-1c4b-4281-b951-d872f2087c98
* Media player adds seek menu and dialog.fbarchard@chromium.org2009-05-221-0/+1
| | | | | | Review URL: http://codereview.chromium.org/115692 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16778 0039d316-1c4b-4281-b951-d872f2087c98
* Explicitly enable /INCREMENTAL linking for gyp-generated Debug builds.sgk@google.com2009-05-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | Explicitly disable it (/INCREMENTAL:NO) for Release, and for the following targets that require it: chrome.dll interactive_ui_tests.exe perf_tests.exe unit_tests.exe Explicitly specificy /SUBSYSTEM:CONSOLE as default for linking, and match current practice by overriding with /SUBSYSTEM:WINDOWS for: chrome.exe chrome.dll media_player.exe sandbox_poc.exe TEST=none BUG=none Review URL: http://codereview.chromium.org/115664 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16698 0039d316-1c4b-4281-b951-d872f2087c98
* Third attempt at http://codereview.chromium.org/115276ajwong@chromium.org2009-05-211-0/+8
| | | | | | Review URL: http://codereview.chromium.org/115645 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16639 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r16622estade@chromium.org2009-05-211-8/+0
| | | | | | | | TBR=ajwong Review URL: http://codereview.chromium.org/115641 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16626 0039d316-1c4b-4281-b951-d872f2087c98
* Reapply http://codereview.chromium.org/115276ajwong@chromium.org2009-05-211-0/+8
| | | | | | Review URL: http://codereview.chromium.org/115638 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16622 0039d316-1c4b-4281-b951-d872f2087c98
* Revert http://codereview.chromium.org/115276ajwong@chromium.org2009-05-211-8/+0
| | | | | | Review URL: http://codereview.chromium.org/115624 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16584 0039d316-1c4b-4281-b951-d872f2087c98
* This iteration creates one message loop per audio output stream that is ↵ajwong@chromium.org2009-05-211-0/+8
| | | | | | | | responsible for buffering data from the data source, and writing the buffers to the output device. This design blocks while waiting for data to be retrieved from the data source, which can lead to unnecessary buffer underruns in the audio device. This will be solved later after the non-blocking AudioSource interface is written. Review URL: http://codereview.chromium.org/115276 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16583 0039d316-1c4b-4281-b951-d872f2087c98
* SeekableBuffer to implement a window of buffer which has short seeking ability.hclam@chromium.org2009-05-191-0/+3
| | | | | | | | | | | Defined the base interface SeekableBuffer and a thread safe implemntation of ThreadSafeSeekableBuffer. This class is to be used for media resource loading that does the meat of buffer queueing and handles short seeking for short distance out-of-order read patterns. Review URL: http://codereview.chromium.org/113213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16348 0039d316-1c4b-4281-b951-d872f2087c98
* YUV with clipping.fbarchard@chromium.org2009-05-181-3/+0
| | | | | | | | | | | | All functions do 2 pixels at a time. 90 and 270 rotations implemented. YV16 refactored. YV12 code accepts a YuvType that allows the same code to support YV16 as well. Special case for half size removed. Special case for doubling added. 3.62 ms versus 8.62 for general purpose code. Review URL: http://codereview.chromium.org/113407 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@16334 0039d316-1c4b-4281-b951-d872f2087c98