summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Timing code for measuring DLL load performance.fbarchard@chromium.org2009-08-211-1/+29
| | | | | | | | | BUG=18466 TEST=reduce DLL sizes with -O2 and other options, and test performance with this code. Review URL: http://codereview.chromium.org/165039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24017 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Issue 160529 in a nice way with unittest.fbarchard@chromium.org2009-08-214-54/+33
| | | | | | | | | | | | Original CL171023 by Song YeWen. BUG=16020 TEST=test with all media types and ensure there are no memory leaks are functional differences from previous version. Review URL: http://codereview.chromium.org/174027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24016 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting r24002 due to test_shell_tests rednessajwong@chromium.org2009-08-215-26/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24004 0039d316-1c4b-4281-b951-d872f2087c98
* Correct network state and ready state reporting.ajwong@chromium.org2009-08-215-0/+26
| | | | | | | | | | | | | For network state, make it return "loading" for everything that's not a file source since our cache does not yet reliably support caching the full media w/o need for a network. For ready state, correctly handle seeks to drop from HaveEnoughData down to HaveMetaData until the seek completes. Also implement the seeking() function. BUG=18975 TEST=none Review URL: http://codereview.chromium.org/165432 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24002 0039d316-1c4b-4281-b951-d872f2087c98
* Threadsafe access to AudioSource callback. Release stream on close. Handle ↵ajwong@chromium.org2009-08-215-46/+151
| | | | | | | | | | | | | | | | | | | | error on open better. This should fix the memory leak on stream close by synchronizing the removal of the audio source callback with the signaling of a close event to both the audio source, and to the audio manager. This change also makes it possible to go from kPlaying -> kPlaying because the audio source callback can be swapped correctly. Lastly, Open() is made more robust by failing early on an error state. BUG=19860,18217 TEST=none Review URL: http://codereview.chromium.org/173168 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23988 0039d316-1c4b-4281-b951-d872f2087c98
* Fix build bustagehclam@chromium.org2009-08-211-1/+1
| | | | | | | | | | Fix build bustage because of signed / unsigned mismatch. TBR=scherkus Review URL: http://codereview.chromium.org/174211 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23938 0039d316-1c4b-4281-b951-d872f2087c98
* Suppress slider thumb jumping around during seekinghclam@chromium.org2009-08-219-16/+91
| | | | | | | | | | | | | 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
* Remove the folding define macro.ajwong@chromium.org2009-08-201-7/+0
| | | | | | | | | | | It will never be disabled anyways and just leaves a block of code open for bitrot. BUG=none TEST=none Review URL: http://codereview.chromium.org/171017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23852 0039d316-1c4b-4281-b951-d872f2087c98
* Bump kNumBuffers to 3fbarchard@chromium.org2009-08-202-16/+22
| | | | | | | | BUG=17940 TEST=This vid should not stutter http://fbarchard-v64.ad.corp.google.com/testmatrix/color/color2.mp4 Review URL: http://codereview.chromium.org/174134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23849 0039d316-1c4b-4281-b951-d872f2087c98
* Enabled mono playback support for Linux.scherkus@chromium.org2009-08-202-5/+20
| | | | | | | | | | BUG=19788 TEST=try playing any mono audio source, should just work! Review URL: http://codereview.chromium.org/173109 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23846 0039d316-1c4b-4281-b951-d872f2087c98
* Prevent current time jumping around when seekhclam@chromium.org2009-08-191-3/+10
| | | | | | | | | | | | | | | | | BUG=19396 TEST=Open a .ogg file, seek, now the thumb won't jumps to 0 back and forth again. Using a <video> to play a video file, when you seek (especially ogg files) it will jump to time = 0 and jumps back to the desired seek position back and forth. This is because ogg files are muxed in a way that audio packets have large gaps between valid timestamps. This patch will avoid using invalid timestamps from audio packets to estimate the current time. Review URL: http://codereview.chromium.org/173027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23754 0039d316-1c4b-4281-b951-d872f2087c98
* Possible deadlock in PCM audio Start() methodcpu@chromium.org2009-08-182-6/+47
| | | | | | | | | | | | | - Implement Alpha's idea of pausing the device while we queue the first two packets. - This way we don't risk the chance to enter the callback from two threads at the same time. TEST=unit test added BUG=19276 Review URL: http://codereview.chromium.org/173022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23668 0039d316-1c4b-4281-b951-d872f2087c98
* Renames the ambiguous hwnd variable to |parent|.scherkus@chromium.org2009-08-181-2/+2
| | | | | | | | | | | | | Patch submitted by Thiago Farina: http://codereview.chromium.org/171072 BUG=None TEST=None Review URL: http://codereview.chromium.org/174017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23654 0039d316-1c4b-4281-b951-d872f2087c98
* A quick fix for YUV overflow on Mac concern.fbarchard@chromium.org2009-08-183-32/+88
| | | | | | | | | BUG=18672 TEST=run videos in debug mode and watch for DCHECK. Review URL: http://codereview.chromium.org/170019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23599 0039d316-1c4b-4281-b951-d872f2087c98
* Removes hungarian notations from list.h.paul@chromium.org2009-08-171-37/+36
| | | | | | | | | | | | Landing a patch for Thiago Farina, original CL: http://codereview.chromium.org/171026 BUG=none TEST=none Review URL: http://codereview.chromium.org/172048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23564 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround a race condition caused by not synchronization destruction of the ↵ajwong@chromium.org2009-08-151-0/+7
| | | | | | | | | | | pipeline. BUG=16059 TEST=none Review URL: http://codereview.chromium.org/171018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23514 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes crash due to NullAudioRenderer calling GetPlaybackRate() during ↵scherkus@chromium.org2009-08-151-18/+16
| | | | | | | | | | | | | initialization. This mostly affects test_shell as NullAudioRenderer is only used with chrome when passing --disable-audio. BUG=13907 TEST=test should crash less Review URL: http://codereview.chromium.org/172018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23507 0039d316-1c4b-4281-b951-d872f2087c98
* Framework to display disabled mute button when audio fails.kylep@chromium.org2009-08-141-0/+5
| | | | | | | | BUG=18970 TEST=play a video with no audio hardware, verify that UI changes Review URL: http://codereview.chromium.org/169010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23491 0039d316-1c4b-4281-b951-d872f2087c98
* demux duplicate data the same way as mp3 does.fbarchard@chromium.org2009-08-142-86/+49
| | | | | | | | | BUG=16020 TEST=test with all media types and ensure there are no memory leaks are functional differences from previous version. Review URL: http://codereview.chromium.org/160529 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23455 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented end-of-stream callback for media::PipelineImpl.scherkus@chromium.org2009-08-1216-84/+320
| | | | | | | | | | | | | | | A new method HasEnded() was added to renderer interfaces. Renderers return true when they have both received and rendered an end-of-stream buffer. For audio this translates to sending the very last buffer to the hardware. For video this translates to displaying a black frame after the very last frame has been displayed. Renderers can notify the pipeline that the value of HasEnded() has changed to true via FilterHost::NotifyEnded(). Instead of tracking which renderers have called NotifyEnded(), the pipeline uses the notification to poll every renderer. The ended callback will only be executed once every renderer returns true for HasEnded(). This has a nice benefit of being able to ignore extra NotifyEnded() calls if we already determine the pipeline has ended. With the changes to WebMediaPlayerImpl, we should now properly support both the ended event and looping. BUG=16768,17970,18433,18846 TEST=media_unittests, media layout tests, ended event, timeupdate should stop firing, looping should work, seeking after video ends Review URL: http://codereview.chromium.org/164403 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23255 0039d316-1c4b-4281-b951-d872f2087c98
* media player cleanup of old unused menu itemsfbarchard@chromium.org2009-08-116-131/+9
| | | | | | | | | BUG=17415 TEST=options menu has no greyed out items in it. about box date updated. Review URL: http://codereview.chromium.org/164334 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23067 0039d316-1c4b-4281-b951-d872f2087c98
* AudioRendererHost send ViewMsg_AudioStreamStatehclam@chromium.org2009-08-111-9/+0
| | | | | | | | | | | | | AudioRendererHost should use ViewMsg_AudioStreamState to notify renderer of its state instead of AudioOutputStream::State. The enum of AudioOutputStream::State is not used anywhere, thus removed. TEST=unit_tests --gtest_filter=Audio* Review URL: http://codereview.chromium.org/165255 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23061 0039d316-1c4b-4281-b951-d872f2087c98
* Updated decode logic to estimate timestamps if the demuxer has not assigned one.kylep@chromium.org2009-08-112-9/+23
| | | | | | | | BUG=18208,18726 TEST=none Review URL: http://codereview.chromium.org/165270 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23038 0039d316-1c4b-4281-b951-d872f2087c98
* Mute audio under OLA when given rate would cause poor quality.kylep@chromium.org2009-08-102-3/+21
| | | | | | | | BUG=18362 TEST=none Review URL: http://codereview.chromium.org/164031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22974 0039d316-1c4b-4281-b951-d872f2087c98
* MediaPlayer command line parser and -exit option, so a video can be played ↵fbarchard@chromium.org2009-08-102-10/+60
| | | | | | | | | | | and then the player exits. This will be useful for testing and gathering metrics. Test code has been added (but disabled) to time the full execution of the tool, so that pipeline latency can be measured and compared to Chrome. Review URL: http://codereview.chromium.org/123011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22948 0039d316-1c4b-4281-b951-d872f2087c98
* Fix video sync error when framerate or playback rate is lowkylep@chromium.org2009-08-062-6/+15
| | | | | | | | BUG=18441 TEST=play a low framerate video or under low rate and verify it stays synced Review URL: http://codereview.chromium.org/160620 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22683 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a leak in AudioRendererBaseTest::OneCompleteReadCyclehclam@chromium.org2009-08-062-2/+4
| | | | | | | | | | | | | | | | We should a local reference of the input buffer, so that buffer gets cleanup after it is out of scope. Also disabled AudioUtilTest.FoldChannels_s16_benchmark because it is running too long. It shold be run locally instead of on the build bots. TEST=media_unittests --gtest_filter=AudioRendererBaseTest.OneCompleteReadCycle TBR=scherkus Review URL: http://codereview.chromium.org/165087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22671 0039d316-1c4b-4281-b951-d872f2087c98
* Renderer busy looping after video (with sound) or audio endshclam@chromium.org2009-08-062-2/+76
| | | | | | | | | | | | BUG=18434 TEST=AudioRendererBaseTest.CompleteLifeTime This patch fixes the busy looping and leaks by ignore the end-of-stream packet. Review URL: http://codereview.chromium.org/165023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22654 0039d316-1c4b-4281-b951-d872f2087c98
* Updated wav_ola_test.kylep@chromium.org2009-08-061-1/+2
| | | | | | | | BUG=none TEST=none Review URL: http://codereview.chromium.org/165026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22652 0039d316-1c4b-4281-b951-d872f2087c98
* Free demuxed audio packets if audio device failshclam@chromium.org2009-08-0610-0/+161
| | | | | | | | | | | | | | | | BUG=17481 TEST=media_unittests Introduced a mesage broadcasting mechanism to notify filters of events from another filter. In particular this is used to notify all filters that the audio device has failed and special actions should be taken to handle it. In this case, demuxer should disable the audio stream and should free the demuxed audio packets instead of caching them. This will fix the memory leak that happens if audio device fails during playback. Review URL: http://codereview.chromium.org/159845 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22630 0039d316-1c4b-4281-b951-d872f2087c98
* Reimplement the AlsaPcmOutputStream and fix the threading issues.ajwong@chromium.org2009-08-049-512/+1139
| | | | | | | | 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
* Replace the guts of AudioRendererBase with calls to scaling algorithm.kylep@chromium.org2009-08-0113-214/+176
| | | | | | | | BUG=16011 TEST=audio_renderer_base_unittest.cc and buffer_queue_unittest.cc Review URL: http://codereview.chromium.org/155695 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22237 0039d316-1c4b-4281-b951-d872f2087c98
* Returns AVERROR_EOF when FFmpeg is read at the end of filehclam@chromium.org2009-07-312-2/+19
| | | | | | | | | | | | BUG=18046 TEST=media_unittests --gtest_filter=FFmpegDemuxerTest.ProtocolRead FFmpeg may read over the size of a file. When it happens we should return AVERROR_EOF. Review URL: http://codereview.chromium.org/159679 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22133 0039d316-1c4b-4281-b951-d872f2087c98
* Missing buffered attribute for <video>/<audio>hclam@google.com2009-07-303-2/+64
| | | | | | | | | | | | | | | | | | | | | | | | | BUG=16056 TEST=LayoutTests/media/video-buffered.html The current implementation of the buffered attribute for <video> and <audio> is broken. There are several problems around this attribute: 1. We don't have any caching on disk, so we only keep a recent range of bytes close to current playback position. 2. WebKit reports buffered as one range (0, max_time_buffered). But we only cache a short partial range which doesn't start with 0. The correct implementation is a list of ranges buffered. But this has to go into WebKit first. 3. We don't have an accurate mapping between byte offset < - > timestamp. So the current implementation is to lie about what we have buffered. We always say we have buffered everything before the current download position. And we only report one range. The calculation of time is also based on scaling the duration with current buffered bytes. Review URL: http://codereview.chromium.org/160300 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22087 0039d316-1c4b-4281-b951-d872f2087c98
* Pipeline will execute a callback whenever an run-time error has happened.kylep@chromium.org2009-07-303-1/+24
| | | | | | | | BUG=16738 TEST=pipeline_impl_unittest.cc Review URL: http://codereview.chromium.org/160298 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22075 0039d316-1c4b-4281-b951-d872f2087c98
* BufferedDataSource to support server without range request supporthclam@chromium.org2009-07-2915-18/+48
| | | | | | | | | | | | | | | This patch will enable BufferedDataSource to support servers with no range request support. It will start a probe request of 1 byte size besides the regular request. If the server does not support range request, we will turn on the is_streamed flag of FFmpeg and will not do any seeking. BUG=17628 TEST=test_shell_tests --gtest_filter=BufferedDataSource.* Review URL: http://codereview.chromium.org/160076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21999 0039d316-1c4b-4281-b951-d872f2087c98
* Nice and easy fix for the media clock interpolating past the duration.scherkus@chromium.org2009-07-293-8/+20
| | | | | | | | | | | I considered adding duration to Clock itself, but that felt like it would pollute Clock's simple purposes of keeping track of time. Furthermore, by keeping duration checking in PipelineImpl we can handle future scenarios such as streaming media where clock really should run forever. BUG=16508 TEST=currentTime should never exceed duration Review URL: http://codereview.chromium.org/159573 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21937 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes an audio playback regression caused by seeking in audio/video media.scherkus@chromium.org2009-07-291-1/+10
| | | | | | | | | | | This is a temporary fix to a much larger problem of dealing with Chrome's audio IPC layer. Since a seek is a small amount of time, we keep the audio IPC conversation going by writing 8k of zeros. Before we were telling the audio IPC layer that we were out of data, which technically was a lie (we were just seeking), and as a result the conversation died at that point. TEST=seek around in a video, audio should keep playing and remain in sync BUG=17917 Review URL: http://codereview.chromium.org/160283 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21935 0039d316-1c4b-4281-b951-d872f2087c98
* Cancel a task if stopped/errored so we don't hit an over-protective DCHECK.scherkus@chromium.org2009-07-281-0/+5
| | | | | | | | | TEST=media bear tests should start passing again BUG=none Review URL: http://codereview.chromium.org/160295 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21907 0039d316-1c4b-4281-b951-d872f2087c98
* Assorted fixes for 64-bit.deanm@chromium.org2009-07-281-1/+2
| | | | | | | Review URL: http://codereview.chromium.org/160288 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21891 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Pipeline will execute a callback whenever an run-time error has ↵scherkus@chromium.org2009-07-283-25/+1
| | | | | | | | | | happened." TBR=kylep Review URL: http://codereview.chromium.org/160287 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21885 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented a proper clock for audio/video synchronization.scherkus@chromium.org2009-07-288-26/+437
| | | | | | | | | | | 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
* Pipeline will execute a callback whenever an run-time error has happened.kylep@chromium.org2009-07-283-1/+25
| | | | | | | | BUG=16738 TEST=pipeline_impl_unittest.cc Review URL: http://codereview.chromium.org/159373 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21877 0039d316-1c4b-4281-b951-d872f2087c98
* Quick work around for av_seek_frame() causing video to go completely out of ↵scherkus@chromium.org2009-07-273-1/+29
| | | | | | | | | | | | | sync. If we have a freshly opened AVFormatContext, telling it to seek to the beginning (pts=0) apparently causes the video and/or audio streams to get timestampped incorrectly, causing video sync issues. If the video has been playing a bit, a seek to the beginning causes no issues. Go figure. BUG=17832 TEST=ogg videos should remain in sync Review URL: http://codereview.chromium.org/159438 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21720 0039d316-1c4b-4281-b951-d872f2087c98
* Surround Sound handling by folding 5 channels down to stereo.fbarchard@chromium.org2009-07-255-5/+207
| | | | | | | | | BUG=16026 TEST=play a movie trailer with 5.1 audio. It should sound roughly the same as quicktime. Review URL: http://codereview.chromium.org/155894 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21613 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented proper pause-then-seek behaviour for the media pipeline.scherkus@chromium.org2009-07-2516-365/+675
| | | | | | | | | | | | | | | | | | | | | | MediaFilter now has asynchronous Play() and Pause() methods that are implemented by default. Since we are a completely pull-based system, it turns out only AudioRendererBase and VideoRendererBase need to override them to halt reading from decoders. When a seek is received by the pipeline, it goes through the following state transitions: 1) Playing -> Pausing -> Paused (notify filters to stop reading) 2) Paused -> Seeking (notify filters to flush buffers and preroll) 3) Seeking -> Playing (preroll completed, resume playback) The key to this system is that there must be no pending reads in *any* filter when we start transitioning into the seeking state. That means the audio/video renderers do not complete their pausing->paused transition until they have completed all pending reads. To reiterate, since we're pulled based if the renderers are not reading any data, then *nothing* is happening in the pipeline. We get a lot of nice benefits from this assertion, namely no callbacks are ever "lost", they are always replied to until we are fully paused. Furthermore, we can guarantee that the first buffer received after a Seek() will be guaranteed to be discontinuous. This change also properly handles end-of-stream, seeking from an end-of-stream state, and displaying frames while paused. In summary, I was able to call Seek() in a while(true) loop without crashing or going out of sync. BUG=16014,16021,17456 TEST=seeking should be way more robust Review URL: http://codereview.chromium.org/160005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21611 0039d316-1c4b-4281-b951-d872f2087c98
* Software volume control hook-up in linux.ajwong@chromium.org2009-07-252-3/+14
| | | | | | | | | BUG=17709 TEST=None Review URL: http://codereview.chromium.org/159380 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21602 0039d316-1c4b-4281-b951-d872f2087c98
* Merged PipelineInternal into PipelineImpl, eliminating a ton of ↵scherkus@chromium.org2009-07-233-334/+210
| | | | | | | | | | | | | | | | | thread-UNsafeness and confusion. Long story short: there's no reason to split an implementation of class between two classes. The data was being held in one class, with the other class accessing it privately without acquiring the lock. Really, really painful to debug as well. Now we have a unified implementation of Pipeline that takes care of client API requests as well as filter interaction. Since Pipeline is properly reference counted and there are two less objects to worry about, the crash reported in 3.0.195.1 should also be resolved. BUG=17107,17548 TEST=pipeline tests, media player and chrome ui tests Review URL: http://codereview.chromium.org/159246 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21464 0039d316-1c4b-4281-b951-d872f2087c98
* ignore audio error and play video without audiofbarchard@chromium.org2009-07-231-6/+5
| | | | | | | | BUG=16023 TEST=play a multichannel audio video and it should play with audio muted Review URL: http://codereview.chromium.org/155937 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21357 0039d316-1c4b-4281-b951-d872f2087c98