summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Limit frequency of audio to 48000.fbarchard@chromium.org2009-11-051-0/+9
| | | | | | | | | BUG=24480 TEST=Play colors2.ogv and do a seek. Should play and seek but audio will be mute. Review URL: http://codereview.chromium.org/365010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31084 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce sleep time on Mac to 500 ms, same as PCfbarchard@chromium.org2009-11-051-1/+1
| | | | | | | | | BUG=26555 TEST=run valgrind or let build bot do it and if it runs faster than you can go make a coffee and get back, then its good. Review URL: http://codereview.chromium.org/366023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31078 0039d316-1c4b-4281-b951-d872f2087c98
* Fix crash in AudioRendererImpl by adding a MessageLoop DestructionObserver.scherkus@chromium.org2009-11-051-0/+7
| | | | | | | | | | | | Wrote unit tests for the entire class and fixed some other bugs that cropped up. BUG=25075 TEST=unit_tests, also closing tabs/browser shouldn't try to use dead IO loop Review URL: http://codereview.chromium.org/363007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31070 0039d316-1c4b-4281-b951-d872f2087c98
* wav_ola_test - add CommandLine::Reset to clean up ValGrind memory leak fix.fbarchard@chromium.org2009-11-051-1/+1
| | | | | | | | | BUG=25945 TEST=similar to media_bench you should be able to valgrind on the tool and not see memory leaks. Review URL: http://codereview.chromium.org/363021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31063 0039d316-1c4b-4281-b951-d872f2087c98
* Add a command line reset to clean up memory leak found by valgrind.fbarchard@chromium.org2009-11-051-0/+1
| | | | | | | | | BUG=25945 TEST=valgrind --tool=memcheck --num-callers=30 --leak-check=full --gen-suppressions=all --demangle=no out/Debug/media_bench --stream=video ~/media/color2.mp4 Review URL: http://codereview.chromium.org/363016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31055 0039d316-1c4b-4281-b951-d872f2087c98
* SetVolume and GetVolume take one volume instead of separate left and right ↵fbarchard@chromium.org2009-11-0413-88/+72
| | | | | | | | | | | volumes. BUG=26660 TEST=no visible difference. Make sure volume still works. Code size should go down marginally. Review URL: http://codereview.chromium.org/357004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31018 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce test duration for valgrind.fbarchard@chromium.org2009-11-031-1/+1
| | | | | | | | | BUG=26556 TEST=run valgrind on Mac unittests. Should take less than 1 minute for YUV test. Review URL: http://codereview.chromium.org/346036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30805 0039d316-1c4b-4281-b951-d872f2087c98
* Add yasm and ffmpeg into the build tree for linux.ajwong@chromium.org2009-10-301-0/+10
| | | | | | | | | BUG=22307 TEST=builds correctly, and an html5 video runs. Review URL: http://codereview.chromium.org/300013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30571 0039d316-1c4b-4281-b951-d872f2087c98
* Fix memory leaks in media_bench.scherkus@chromium.org2009-10-271-12/+19
| | | | | | | | | | BUG=25855,25945 TEST=valgrind should report no leaks caused by media_bench itself Review URL: http://codereview.chromium.org/332038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30228 0039d316-1c4b-4281-b951-d872f2087c98
* Data to reproduce infinite loop fixed by 48_aac_infinite_loop.patchfbarchard@chromium.org2009-10-261-0/+0
| | | | | | Review URL: http://codereview.chromium.org/333019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@30102 0039d316-1c4b-4281-b951-d872f2087c98
* Quick fix for Alsa stutter - Wake up sooner.fbarchard@chromium.org2009-10-221-0/+3
| | | | | | | | | BUG=23974 TEST=http://fbarchard-kir.ad.corp.google.com/testmatrix/red/red2.ogv Review URL: http://codereview.chromium.org/316005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29761 0039d316-1c4b-4281-b951-d872f2087c98
* Fold first 3 channels of multichannel instead of 5. Use fixed point.fbarchard@chromium.org2009-10-202-94/+113
| | | | | | | | | BUG=none TEST=play a multichannel video, such as trek6.ogv. Voices should sound centered and music stereo. Review URL: http://codereview.chromium.org/304006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29550 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incorrect usage of scope_ptr with an array.tkent@chromium.org2009-10-191-1/+1
| | | | | | | | | | | NullAudioRender::buffer_ was declared as scoped_ptr<uint8>, But NullAudioRender::OnInitialize() sets uint8[] to it. BUG=none TEST=none Review URL: http://codereview.chromium.org/301001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29391 0039d316-1c4b-4281-b951-d872f2087c98
* 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
* -fPIC buildable version of yuv for 64 bit linux.fbarchard@chromium.org2009-10-161-97/+106
| | | | | | | | | BUG=25070 TEST=add -fPIC to gcc. Old code failed to build. New code builds with 64 bit. Review URL: http://codereview.chromium.org/269106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29329 0039d316-1c4b-4281-b951-d872f2087c98
* Move Alsa device opening into the audio thread, and add in support for ↵ajwong@chromium.org2009-10-1610-121/+694
| | | | | | | | | | | | | | | 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
* Report stalled event correctly for <video>hclam@chromium.org2009-10-164-1/+45
| | | | | | | | | | | | | | | | | | | | | BUG=20127 BUG=13568 TEST=Opens a web page, stalled event should be fire only if network is actuall stalled. What this patch does: 1. Report Loading / Idle according to whether we are actively receiving data in the BuffereResourceLoader. This is done by signaling the network events to BufferedDataSource and then to the media playback pipeline. 2. Report byteLoaded() as the last byte position buffered. This will enable an actual ticking progress for the progress event. With this value actually ticking, stalled event is suppressed. Review URL: http://codereview.chromium.org/269002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29235 0039d316-1c4b-4281-b951-d872f2087c98
* Mark YUV conversion functions private_extern on the Mac. These symbols don'tmark@chromium.org2009-10-151-2/+0
| | | | | | | | | | | need to leak beyond the module in which they're used. BUG=24911 TEST=nm C.app/Contents/Versions/*/C F.framework/C F | grep " [A-TV-Z] " should not show _MacConvertYUVToRGB32Row or _MacScaleYUVToRGB32Row. Review URL: http://codereview.chromium.org/269098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29181 0039d316-1c4b-4281-b951-d872f2087c98
* Pad time to next audio data write to compensate for nanosleep inaccuracy on ↵ajwong@chromium.org2009-10-151-0/+10
| | | | | | | | | | | | | linux. Nanosleep on linux can miss its deadline by up to 10ms (according to the manpage). Pad 20ms (2x that amount) to give room for missed deadlines. BUG=23974 TEST=listened to previously stuttering audio clip on low-end hardware. Review URL: http://codereview.chromium.org/271081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29163 0039d316-1c4b-4281-b951-d872f2087c98
* MMX2 improvements on Linux 64 bit.fbarchard@chromium.org2009-10-153-77/+87
| | | | | | | | | | | MMX2 to avoid EMMS LEA to remove 2 instructions from Scale loop shuffle to remove one instruction sub at top of loop avoids one branch Review URL: http://codereview.chromium.org/269088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29107 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
* Reverting 29019.finnur@chromium.org2009-10-143-70/+66
| | | | | | | | | Reverting due to test_shell_tests Linux 64 release failures TBR: fbarchard Review URL: http://codereview.chromium.org/275021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29031 0039d316-1c4b-4281-b951-d872f2087c98
* Use lea to remove 2 instructions from the inner loop of YUV Scale.fbarchard@chromium.org2009-10-143-66/+70
| | | | | | | | | | | Use MMX2 to remove emms. unittest has code to time yuv scale and convert 100 times so it takes about 1 second... useful for catching performance issues. But the code is disabled. BUG=23263 TEST=media_unittest should pass and run much faster: 28% faster than 32 bit version. Review URL: http://codereview.chromium.org/273047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29019 0039d316-1c4b-4281-b951-d872f2087c98
* Add 'Hash' to printf for test corpus script compatibility and future hash ↵fbarchard@chromium.org2009-10-141-3/+3
| | | | | | | | compatibility. Review URL: http://codereview.chromium.org/276025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29002 0039d316-1c4b-4281-b951-d872f2087c98
* Turn NULL used as int to 0.phajdan.jr@chromium.org2009-10-132-4/+4
| | | | | | | | | | | | | (Excluding chrome/browser/...) Landing patch for Jacob Mandelson. Original review: http://codereview.chromium.org/195067 BUG=none TEST=base_unittests & app_unittests Review URL: http://codereview.chromium.org/267076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28810 0039d316-1c4b-4281-b951-d872f2087c98
* 64 bit linux yuvfbarchard@chromium.org2009-10-132-40/+120
| | | | | | | | BUG=23263 TEST=media_unittest should pass and run much faster: faster than 32 bit even. Review URL: http://codereview.chromium.org/268029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28802 0039d316-1c4b-4281-b951-d872f2087c98
* Use ASCII strings for switch names.evan@chromium.org2009-10-131-13/+13
| | | | | | Review URL: http://codereview.chromium.org/270062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28779 0039d316-1c4b-4281-b951-d872f2087c98
* Remove old data, once we are not using it.fbarchard@chromium.org2009-10-122-2/+0
| | | | | | Review URL: http://codereview.chromium.org/270045 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28726 0039d316-1c4b-4281-b951-d872f2087c98
* use djb2 hash in media/basefbarchard@chromium.org2009-10-121-21/+17
| | | | | | Review URL: http://codereview.chromium.org/266040 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28718 0039d316-1c4b-4281-b951-d872f2087c98
* media_bench use djb2 hash from media/basefbarchard@chromium.org2009-10-091-13/+1
| | | | | | Review URL: http://codereview.chromium.org/271034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28615 0039d316-1c4b-4281-b951-d872f2087c98
* Support 8 and 32 bit formats for Mac Channel Swizzler.fbarchard@chromium.org2009-10-091-2/+4
| | | | | | | Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=28484 Review URL: http://codereview.chromium.org/261028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28571 0039d316-1c4b-4281-b951-d872f2087c98
* Update new data to match old data so checksum doesnt fail and remove old data.fbarchard@chromium.org2009-10-092-2/+2
| | | | | | Review URL: http://codereview.chromium.org/271036 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28570 0039d316-1c4b-4281-b951-d872f2087c98
* Move more ICU-dependent stuff from base into base/i18n. Some test stuff alsobrettw@chromium.org2009-10-091-1/+1
| | | | | | | | | | | | depended on this, so to make the DEPS work out, I made a new base/test directory where I moved the testing-related files into a new directory base/test. TEST=none BUG=none Review URL: http://codereview.chromium.org/266038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28569 0039d316-1c4b-4281-b951-d872f2087c98
* DJB2 Hash for applications where high speed hash or checksum values are needed.fbarchard@chromium.org2009-10-094-0/+74
| | | | | | | | | 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 -loop=N option to test ffmpeg ogv decoding on loop.fbarchard@chromium.org2009-10-091-0/+20
| | | | | | | | | BUG=19917 TEST=media_bench.exe -stream=video -loop=100 d:\testmatrix\still\still1.ogv still.1280x720_30Hz_P420.yuv should produce 100 frames and not black. Use pyuv on still.1280x720_30Hz_P420.yuv to confirm. Review URL: http://codereview.chromium.org/265050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28531 0039d316-1c4b-4281-b951-d872f2087c98
* quick syntax fixfbarchard@chromium.org2009-10-081-1/+1
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28487 0039d316-1c4b-4281-b951-d872f2087c98
* Support 8 and 32 bit formats for Mac Channel Swizzler.fbarchard@chromium.org2009-10-081-7/+13
| | | | | | Review URL: http://codereview.chromium.org/261028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28484 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
* Mac Surround Sound 5.1 channel layout adapter from AAC layout to native ↵fbarchard@chromium.org2009-10-063-12/+60
| | | | | | | | | | | Audio Core layout. BUG=23298,23684 TEST=play trek6.mp4 in test matrix. voices should be centered. Review URL: http://codereview.chromium.org/246039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28080 0039d316-1c4b-4281-b951-d872f2087c98
* media::FFmpegDemuxer giving too much errorshclam@chromium.org2009-09-301-2/+4
| | | | | | | | | | | NOTIMPLEMENTED() is reached when performing layout tests. It is changed to LOG(INFO) so messages go to stderr and won't affect layout tests. BUG=13447 Review URL: http://codereview.chromium.org/242078 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27655 0039d316-1c4b-4281-b951-d872f2087c98
* Avoid potential "NULL used as int" warnings by changing ASSERT_EQ(NULL, ...) ↵pkasting@chromium.org2009-09-292-3/+3
| | | | | | | | | to ASSERT_TRUE(... == NULL). Patch by Jacob Mandelson (see http://codereview.chromium.org/202057 ), r=me. BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27511 0039d316-1c4b-4281-b951-d872f2087c98
* Add --verbose=N option to set ffmpeg log message level.fbarchard@chromium.org2009-09-241-3/+16
| | | | | | Review URL: http://codereview.chromium.org/219012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@27069 0039d316-1c4b-4281-b951-d872f2087c98
* Off by one in YUV scale caused an extra read (mostly harmless)fbarchard@chromium.org2009-09-223-21/+3
| | | | | | | | | BUG=22594 TEST=none Review URL: http://codereview.chromium.org/212043 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26797 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing build bustage caused by r26759hclam@chromium.org2009-09-211-1/+1
| | | | | | | | | | TBR=ajwong StringPrintf should use %u instead of %zd. Review URL: http://codereview.chromium.org/216042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26763 0039d316-1c4b-4281-b951-d872f2087c98
* Clean up the unittest to correct order of expects, and give correct tracing ↵ajwong@chromium.org2009-09-211-18/+28
| | | | | | | | info. Review URL: http://codereview.chromium.org/209054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26759 0039d316-1c4b-4281-b951-d872f2087c98
* Mac YUV with a single YUV table of 6k instead of 3 tables of 2k.fbarchard@chromium.org2009-09-212-278/+66
| | | | | | | | | BUG=20749 TEST=play mac video... it should be 3 times faster rendering and visibly smoother Review URL: http://codereview.chromium.org/208048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26740 0039d316-1c4b-4281-b951-d872f2087c98
* Disable FFmpeg logging as it interferes with layout tests.scherkus@chromium.org2009-09-194-0/+13
| | | | | | | | | | | | We could disable logging as soon as FFmpeg is loaded in InitializeMediaLibrary(), but we may want logging enabled for different applications using the media library (i.e., media_bench). BUG=16779 TEST=running chrome, test_shell on theora videos shouldn't print any boring log messages Review URL: http://codereview.chromium.org/212013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26641 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Mac YUV assembly"ajwong@chromium.org2009-09-182-63/+273
| | | | | | | | This reverts commit r26614. Review URL: http://codereview.chromium.org/213034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26621 0039d316-1c4b-4281-b951-d872f2087c98
* Mac YUV assemblyfbarchard@chromium.org2009-09-182-273/+63
| | | | | | | | BUG=20749 TEST=play mac video... it should be 3 times faster rendering and visibly smoother Review URL: http://codereview.chromium.org/208030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26614 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing audio in machclam@chromium.org2009-09-173-8/+94
| | | | | | | | | | | | | | | | | | | | | | | | TEST=media_unittests BUG=21574 Several problems in mac audio: 1. AudioQueueEnqueueBuffer doesn't accept empty buffers. But we often hit buffer underrun with various reasons. In order to simulate the behavior of Windows that empty buffer would make the callback be called after a short time, we write a short buffer of silence. 2. Mac audio doesn't provide pending bytes (unplayed buffer size in audio buffer). This is now fixed by having a running counter. 3. After Stop() is called, Start() will take a long time for the audio packet to be played. It is found that AudioQueueEnqueueBuffer should be called before AudioQueueStart otherwise we'll hit this problem of long delay for start. Review URL: http://codereview.chromium.org/194112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26510 0039d316-1c4b-4281-b951-d872f2087c98