summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Fix a bug that device goes to sleep while playing videoqinmin@chromium.org2012-12-181-1/+1
| | | | | | Review URL: https://chromiumcodereview.appspot.com/11607008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173668 0039d316-1c4b-4281-b951-d872f2087c98
* Add wrapper class to media for support of Opus audio, and add a command line ↵tomfinegan@chromium.org2012-12-188-4/+681
| | | | | | | | | | | | | | | flag to enable the support. This initial version of the wrapper provides support for decoding Opus audio in WebM container files, and is disabled by default. New flag added: --enable-opus-playback BUG=166094 TEST=Opus audio in WebM containers plays back in <video> elements when --enable-opus-playback is specified on the command line. Review URL: https://codereview.chromium.org/11416367 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173663 0039d316-1c4b-4281-b951-d872f2087c98
* [Android] Output unchecked warnings and fix existing instances.yfriedman@chromium.org2012-12-181-3/+3
| | | | | | | | | BUG=164395 Review URL: https://chromiumcodereview.appspot.com/11580006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173658 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Old video decrypt-only path clean-up.xhwang@chromium.org2012-12-185-91/+12
| | | | | | | | | | | | | - Remove decryptor from FFmpegVideoDecoder. - Remove all decryption functionality from ProxyDecryptor. TBR=jam@chromium.org BUG=141786 TEST=this removes an obsolete code path and should not affect any exitst test/functionality. Review URL: https://codereview.chromium.org/11587002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173640 0039d316-1c4b-4281-b951-d872f2087c98
* Make VideoRendererBase use a whitelist instead of a blacklist when ↵scherkus@chromium.org2012-12-171-6/+19
| | | | | | | | | | | inspecting the current state. BUG=166440 Review URL: https://chromiumcodereview.appspot.com/11608003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173567 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Refactor Video Decrypt-Only to use DecryptingDemuxerStream.xhwang@chromium.org2012-12-1713-179/+616
| | | | | | | | | | | | | | | | | - Add VideoDecoderSelector to facilitate VideoDecoder initialization/selection. - Add VideoDecoderSelectorTest. - Remove DecryptingVideoDecoder from default decoder list. - Disable decryption in FFmpegVideoDecoder. - Updated all unittests. After this CL, FFmpegVideoDecoder and ProxyDecryptor need to be cleaned. BUG=141786 TEST=all tests pass; EME demos work. Review URL: https://codereview.chromium.org/11573047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173562 0039d316-1c4b-4281-b951-d872f2087c98
* Disable flaky VideoRendererBaseTest.GetCurrentFrame_EndOfStream under ASanglider@chromium.org2012-12-171-1/+1
| | | | | | | | | BUG=109405 TBR=dalecurtis Review URL: https://chromiumcodereview.appspot.com/11586014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173474 0039d316-1c4b-4281-b951-d872f2087c98
* Setting audio volume is no longer ignored on low latency audio path for Mac.henrika@chromium.org2012-12-171-0/+7
| | | | | | | | | | | | | | | | Note that Mac is (was) the only platform that did not use the volume level for the low-latency output path. This discrepancy is now removed. This change should not affect the audio/video tag or any other audio client as far as I can tell. TBR=dalecurtis BUG=166394 TEST=Run this https://code.google.com/p/webrtc-samples/source/browse/trunk/demos/html/local-audio-rendering.html on Mac and verify that volume settings works. Also executed: media_unittests Review URL: https://codereview.chromium.org/11591013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173452 0039d316-1c4b-4281-b951-d872f2087c98
* This patch will use the device listener in media to monitor audio capture ↵xians@chromium.org2012-12-161-0/+8
| | | | | | | | | | | | | | | device changed. The reasons for doing this include: # when using the device notification from content/browser, the notification comes before the device is fully initialized, so the change won't show up in the following device enumeration. # I saw a serious crash by plugging in or unplugging an audio device, I believe it is because some racing between two notifications, if this is the case, this patch should fix it. BUG=160872,165147 TEST=manual test by plugging and unplugging device, look at the device selection menu in content setting media. Review URL: https://chromiumcodereview.appspot.com/11529012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173350 0039d316-1c4b-4281-b951-d872f2087c98
* Fix typo'd usage of OS_MAC vs OS_MACOSX!dalecurtis@google.com2012-12-153-3/+3
| | | | | | | | | | | | __Now__ renderer side mixing is enabled on Mac :-/ BUG=162768 TEST=audio works, tests pass. TBR=sky Review URL: https://codereview.chromium.org/11411189 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173253 0039d316-1c4b-4281-b951-d872f2087c98
* Protect AudioRendererAlgorithm from invalid step sizes.dalecurtis@google.com2012-12-153-80/+69
| | | | | | | | | BUG=165430 TEST=unittests and asan pass. Review URL: https://codereview.chromium.org/11573023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173249 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Support Audio Decrypt-Only.xhwang@chromium.org2012-12-149-51/+562
| | | | | | | | | | | | | | - Add AudioDecoderSelector to facilitate AudioDecoder selection. - Add AudioDecoderSelectorTest. - Update key_system.cc to support audio in clearkey key system. - Update content_browsertests to test audio decrypt-only. BUG=123421 TEST=both decrypt-only and decrypt-and-decode works for audio! Review URL: https://codereview.chromium.org/11492003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173235 0039d316-1c4b-4281-b951-d872f2087c98
* Linux: make it possible to compile against system libav.phajdan.jr@chromium.org2012-12-141-0/+1
| | | | | | | | BUG=none Review URL: https://codereview.chromium.org/11551005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173198 0039d316-1c4b-4281-b951-d872f2087c98
* Adds support of rendering a local media stream for audio using HTML5 audio tag.henrika@chromium.org2012-12-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Overview: ========= This patch ensures that a user can add a local media stream to an audio/video element and render the captured audio locally (in loopback). Details: ======== Our current architecture is a bit hairy but I've done my best to add the new code in a structured way. I have an issue in crbug assigned to myself to refactor the code in this area since we really must improve and make it less complex to work with. One more client now implements the webkit_media::MediaStreamAudioRenderer and this client is called WebRtcLocalAudioRenderer (WLAR). The WLAR is created by the WebMediaPlayer when a local media stream is generated and this will ensure that the controls for a media element becomes visible. The main action takes place in WebRtcLocalAudioRenderer::Start() where I have gathered all the main stuff. This method is the best starting point for understanding the new data flow. A reference to an existing WebRtcAudioCapturer (WAC) (owned by the WebRTC ADM) is given to the WLAR at construction. Calling Start => - WLAR connects itself to the WAC using the WAC pointer from construction - render audio parameter are copied from the capture side (since output does resampling etc.) - creates and inits a new AudioOutputDevice (AOD) - starts the capturer and the new AOD Media flow: ----------- Data is recorded and fed to the WAC which knows that it is in "loopback mode". The WAC then stores recorded data in a FIFO. The WLAR consumes audio from the FIFO when the AOD needs data to render. The WLAR reads data from the FIFO using a callback. Testing procedure: ================== Main testing was done using a new WebRCT demo at https://www.corp.google.com/~henrika/webrtc/gum4.html. I also tried all other demos at https://webrtc-demos.appspot.com/ and the htp://apprtc.appspot.com demo. For all cases, debug filters were used to track things like calling sequences etc. BUG=157142 Review URL: https://codereview.chromium.org/11450029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173164 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing AutoLocks to a few ChunkDemuxer methods that needed them.acolwell@chromium.org2012-12-141-4/+7
| | | | | | | | | BUG=166027 Review URL: https://chromiumcodereview.appspot.com/11567024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173093 0039d316-1c4b-4281-b951-d872f2087c98
* Rename DecryptorNotificationCB to DecryptorReadyCB.xhwang@chromium.org2012-12-1410-74/+44
| | | | | | | | | | | | - Also rename RequestDecryptorNotificationCB to SetDecryptorReadyCB. - Move typedef of these callbacks to decryptor.h to avoid duplication. TEST=no functionality change; all tests still pass. Review URL: https://chromiumcodereview.appspot.com/11565007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@173024 0039d316-1c4b-4281-b951-d872f2087c98
* Handle invalid audio latency information more gracefully.dalecurtis@google.com2012-12-131-0/+10
| | | | | | | | | | | | | | | | | HTML5 tests were hanging on the mac_rel bots when using renderer side mixing because the AudioTimeStamp->mHostTime provided to the InputProc() is behind AudioGetCurrentHostTime(), which causes the latency calculation to be negative and overflow since both values are UInt64. Found while debugging test failures with: https://chromiumcodereview.appspot.com/11411189/ BUG=none TEST=trybots pass tests w/ renderer side mixing. Review URL: https://codereview.chromium.org/11553007 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172989 0039d316-1c4b-4281-b951-d872f2087c98
* Remove use of AV_EF_CAREFUL from media code.scherkus@chromium.org2012-12-134-4/+0
| | | | | | | | | It's only used in AC3 and ALS decoders, neither of which we use. Review URL: https://chromiumcodereview.appspot.com/11573010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172959 0039d316-1c4b-4281-b951-d872f2087c98
* Revert FFmpegDemuxer to pre-r171883 capacity behaviour.scherkus@chromium.org2012-12-131-0/+5
| | | | | | | | | | | The proper fix for improving seek performance is to plumb read cancelation support through our network stack. Unfortunately that's a much larger problem I'm not going to tackle this very moment. BUG=165757 Review URL: https://chromiumcodereview.appspot.com/11553034 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172781 0039d316-1c4b-4281-b951-d872f2087c98
* Remove failing CHECK(). Best effort fix for M24. BUG=158170,163149dalecurtis@google.com2012-12-121-2/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172661 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 170119dalecurtis@google.com2012-12-122-23/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | > Tell OSX to manage its own property listener callback thread. > > Seems OSX might be expecting us to only make AudioObjectPropertyData > calls on the same thread as listener callbacks are fired on. Setting the > kAudioHardwarePropertyRunLoop to NULL tells OSX to manage its own thread, > which will hopefully ensure it has to fire callbacks in a concurrency safe > manner. > > Another option might be to set the run loop to the one used by the > audio thread. However, currently we call AudioObjectPropertyData in > many places, not all of them on the audio thread. > > In the WebRTC code base they have this code: > > https://code.google.com/searchframe#OAMlx_jo-ck/src/third_party/webrtc/modules/audio_device/mac/audio_device_mac.cc&l=374 > > I also found: > http://stackoverflow.com/questions/9674666/default-audio-output-getting-device-changed-notification-coreaudio-mac-os-x > http://lists.apple.com/archives/coreaudio-api/2009/Oct/msg00212.html > > BUG=158170 > TEST=device changes still work. > > Review URL: https://codereview.chromium.org/11413174 TBR=dalecurtis@google.com Doesn't work on 10.6+ and crash rates are worse than the previous fix. Review URL: https://codereview.chromium.org/11519042 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172659 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 172385dbeam@chromium.org2012-12-112-43/+42
| | | | | | | | | | | | | | | | | | | Broke content_unittests on Linux (aura) and Linux (clang) > Let ALSA enumerate audio devices rather than iterating over physical devices. > > Some configurations (e.g. Chromoting virtual desktops) have no audio hardware, > but still provide valid ALSA output devices that Chrome can use. > > BUG=162953,165401 > > > Review URL: https://chromiumcodereview.appspot.com/11299222 TBR=wez@chromium.org Review URL: https://codereview.chromium.org/11528021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172396 0039d316-1c4b-4281-b951-d872f2087c98
* Let ALSA enumerate audio devices rather than iterating over physical devices.wez@chromium.org2012-12-112-42/+43
| | | | | | | | | | | | Some configurations (e.g. Chromoting virtual desktops) have no audio hardware, but still provide valid ALSA output devices that Chrome can use. BUG=162953,165401 Review URL: https://chromiumcodereview.appspot.com/11299222 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172385 0039d316-1c4b-4281-b951-d872f2087c98
* Remove transition to INITIALIZED & clearing of end_of_stream_ on seek.acolwell@chromium.org2012-12-112-17/+48
| | | | | | | | | | BUG=165304 TEST=ChunkDemuxerTest.TestEndOfStreamDuringCanceledSeek, ChunkDemuxerTest.TestEndOfStreamStillSetAfterSeek Review URL: https://chromiumcodereview.appspot.com/11511011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172349 0039d316-1c4b-4281-b951-d872f2087c98
* Update ChunkDemuxer to allow appending after EndOfStream() is called.acolwell@chromium.org2012-12-112-3/+44
| | | | | | | | | | | WebKit is also allowed to call AppendData() with a length of 0 now so that the ChunkDemuxer can do the proper state transition. BUG=165197 TEST=ChunkDemuxerTest.TestZeroLengthAppend, ChunkDemuxerTest.TestAppendAfterEndOfStream, LayoutTests/http/tests/media/media-source/video-media-source-append-in-ended-state.html Review URL: https://chromiumcodereview.appspot.com/11507005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172199 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land fix for Media Foundation crash. Remove Vista support.tommi@chromium.org2012-12-103-10/+38
| | | | | | | | | | | | | | | | | | | | | Original description: Do a thorough check for the availability of the Media Foundation DLLs. Comments from code: On Vista this API is an optional download but the API is advertised as a part of Windows 7 and onwards. However, we've seen that the required DLLs are not available in some Win7 distributions such as Windows 7 N and Windows 7 KN. BUG=164654 TEST=Run media_unittests. See more details in the bug report. TBR=mflodman Review URL: https://chromiumcodereview.appspot.com/11500009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172132 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 172049battre@chromium.org2012-12-103-36/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | > Do a thorough check for the availability of the Media Foundation DLLs. > Comments from code: > On Vista this API is an optional download but the API is > advertised as a part of Windows 7 and onwards. However, > we've seen that the required DLLs are not available in some > Win7 distributions such as Windows 7 N and Windows 7 KN. > > BUG=164654 > TEST=Run media_unittests. See more details in the bug report. > TBR=dalecurtis > > Review URL: https://chromiumcodereview.appspot.com/11476020 This breaks several unit tests on Vista Tests (1) AllocateBadSize Capture720p CaptureVGA DeAllocateCameraWhileRunning OpenInvalidDevice ReAllocateCamera TBR=tommi@chromium.org Review URL: https://codereview.chromium.org/11478052 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172057 0039d316-1c4b-4281-b951-d872f2087c98
* Do a thorough check for the availability of the Media Foundation DLLs.tommi@chromium.org2012-12-103-10/+36
| | | | | | | | | | | | | | | | Comments from code: On Vista this API is an optional download but the API is advertised as a part of Windows 7 and onwards. However, we've seen that the required DLLs are not available in some Win7 distributions such as Windows 7 N and Windows 7 KN. BUG=164654 TEST=Run media_unittests. See more details in the bug report. TBR=dalecurtis Review URL: https://chromiumcodereview.appspot.com/11476020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@172049 0039d316-1c4b-4281-b951-d872f2087c98
* Replace av_malloc with AlignedAlloc for memory allocation in VideoFrame.xhwang@chromium.org2012-12-083-37/+35
| | | | | | | | | | | | See also r157836. BUG=150920 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/11308310 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171976 0039d316-1c4b-4281-b951-d872f2087c98
* Replace trampolining in FFmpegDemuxer with explicit thread calling ↵scherkus@chromium.org2012-12-085-137/+103
| | | | | | | | | | convention checks. Replaced FFmpegDemuxerStream::read_queue_ with the simpler FFmpegDemuxerStream::read_cb_ since we don't intend to support overlapping reads. Review URL: https://chromiumcodereview.appspot.com/11411332 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171943 0039d316-1c4b-4281-b951-d872f2087c98
* Log MediaSource parsing errors to the MediaLog so they can appear in ↵acolwell@chromium.org2012-12-0830-140/+278
| | | | | | | | | | | chrome:media-internals. BUG=164673 Review URL: https://chromiumcodereview.appspot.com/11471006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171936 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce time-based caching of encoded data to FFmpegDemuxer (round 2).scherkus@chromium.org2012-12-076-77/+401
| | | | | | | | | | The original commit r169004 introduce seek regressions on constrained network connections. For now we'll limit the number of asynchronous pending reads to one. While it limits throughput it shouldn't be a big factor during normal playback. BUG=160640 Review URL: https://codereview.chromium.org/11308145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171883 0039d316-1c4b-4281-b951-d872f2087c98
* Pass in media message loop to VideoRendererBase and enforce calling on the ↵scherkus@chromium.org2012-12-0712-321/+185
| | | | | | | | | | | | | | right thread. As a result VideoDecoder implementations have been updated to expect they get called on the correct thread instead of trampolining. The newly added media::WrapCB() facilitates running callbacks on separate execution stacks to avoid reentrancy in calling code. BUG=162917 Review URL: https://codereview.chromium.org/11428095 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171854 0039d316-1c4b-4281-b951-d872f2087c98
* Set video capture frame rate based on client's request.wjia@chromium.org2012-12-072-0/+19
| | | | | | | | | Check the requested frame rate and adjust it when it's out of range [1, 30]. BUG=160495 Review URL: https://codereview.chromium.org/11464016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171812 0039d316-1c4b-4281-b951-d872f2087c98
* Revert time change from r171701.dalecurtis@google.com2012-12-071-1/+1
| | | | | | | | | | | | Made the test flaky. BUG=none TEST=media_unittests --gtest_repeat=50 TBR=scherkus Review URL: https://codereview.chromium.org/11475018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171705 0039d316-1c4b-4281-b951-d872f2087c98
* Delay delivery of audio input data.dalecurtis@google.com2012-12-073-4/+26
| | | | | | | | | | | | | | | | | | The AudioQueue API may use a large internal buffer and repeatedly call us back to back once that internal buffer is filled. When this happens the renderer client does not have enough time to read data back from the shared memory before the next write comes along. If HandleInputBuffer() is called too frequently, Sleep() to simulate realtime input and ensure the shared memory doesn't get trampled. BUG=157613 TEST=Playback works on older style Mac units. Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=171681 Review URL: https://codereview.chromium.org/11482002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171701 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171681tzik@chromium.org2012-12-072-24/+2
| | | | | | | | | | | | | | | | | | | | | > Delay delivery of audio input data. > > The AudioQueue API may use a large internal buffer and repeatedly call us > back to back once that internal buffer is filled. When this happens the > renderer client does not have enough time to read data back from the > shared memory before the next write comes along. If HandleInputBuffer() > is called too frequently, Sleep() to simulate realtime input and ensure > the shared memory doesn't get trampled. > > BUG=157613 > TEST=Playback works on older style Mac units. > > Review URL: https://codereview.chromium.org/11482002 TBR=dalecurtis@google.com Review URL: https://codereview.chromium.org/11478019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171692 0039d316-1c4b-4281-b951-d872f2087c98
* Delay delivery of audio input data.dalecurtis@google.com2012-12-072-2/+24
| | | | | | | | | | | | | | | | The AudioQueue API may use a large internal buffer and repeatedly call us back to back once that internal buffer is filled. When this happens the renderer client does not have enough time to read data back from the shared memory before the next write comes along. If HandleInputBuffer() is called too frequently, Sleep() to simulate realtime input and ensure the shared memory doesn't get trampled. BUG=157613 TEST=Playback works on older style Mac units. Review URL: https://codereview.chromium.org/11482002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171681 0039d316-1c4b-4281-b951-d872f2087c98
* Add AudioFileReader unittest.dalecurtis@chromium.org2012-12-072-0/+123
| | | | | | | | | | | | | Adds a unittest for WebAudio's AudioFileReader. The test runs through all supported Chrome audio codecs and performs a hash check. BUG=none TEST=unittest passes. Review URL: https://chromiumcodereview.appspot.com/11441003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171651 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Use std::string for key message in media pipeline.xhwang@chromium.org2012-12-066-42/+17
| | | | | | | | | | | | This is part of the changes to use string for key messages. We also need to make the same change in CDM.h, CDMs and PPAPI. TBR=dmichael@chromium.org BUG=164498 TEST=media_unittests; EME demo works. Review URL: https://chromiumcodereview.appspot.com/11459005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171608 0039d316-1c4b-4281-b951-d872f2087c98
* Request audio focus upon music play and pause when losing it fully.miguelg@chromium.org2012-12-061-3/+27
| | | | | | | | | | | | For now do not pause on transient audio loses as it's not clear when to resume and when not to. BUG=163914,147257 Review URL: https://chromiumcodereview.appspot.com/11412325 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171567 0039d316-1c4b-4281-b951-d872f2087c98
* Replace WaitableEvents and ConditionalVariables in VideoRendererBase tests ↵scherkus@chromium.org2012-12-0616-435/+432
| | | | | | | | with MessageLoop. Review URL: https://chromiumcodereview.appspot.com/11316293 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171438 0039d316-1c4b-4281-b951-d872f2087c98
* Add support for audio config changes.acolwell@chromium.org2012-12-0514-120/+1075
| | | | | | | | BUG=151046 Review URL: https://codereview.chromium.org/11419174 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171249 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land https://codereview.chromium.org/11419200/tommi@chromium.org2012-12-057-113/+719
| | | | | | | | | | | | | | | | | | | | | | | | | | I had to revert the change since media and content unittests failed to load on the XP and Vista bots. This modification to the above CL moves the MF delayload entries the chrome_dll.gyp over to media.gyp for all dependents and doesn't use MF on Vista since it turns out that a special update is required (and our Vista bots don't have). Original CL description: Video capture implementation using the Media Foundation API. This replaces the DirectShow based implementation for Vista,Win7 and Win8. DirectShow isn't supported in metro mode so once we've landed this, we can revert the workaround we have in place for Win8. The CapabilityList class is mostly moved code from the DS implementation. The difference is that I'm not using a std::map<> since that wasn't really necessary and instead adding one member (via inheritance) to the capability struct on Windows that holds the stream id that is needed. BUG=140545 TEST=All video capture tests in media_unittests now test this new implementation (except on XP). TBR=mflodman@chromium.org,darin@chromium.org Review URL: https://codereview.chromium.org/11451010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171232 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 171212tommi@chromium.org2012-12-057-714/+115
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Broke on Vista: http://chromesshgw.corp.google.com/i/chromium.win/builders/Vista%20Tests%20%281%29/builds/31733/steps/media_unittests/logs/stdio > Re-land https://codereview.chromium.org/11419200/ > I had to revert the change since media and content unittests failed to load on the XP bots. > This modification to the above CL moves the MF delayload entries the chrome_dll.gyp over to media.gyp for all dependents. > > Original CL description: > > Video capture implementation using the Media Foundation API. > This replaces the DirectShow based implementation for Vista,Win7 and Win8. > DirectShow isn't supported in metro mode so once we've landed this, > we can revert the workaround we have in place for Win8. > > The CapabilityList class is mostly moved code from the DS implementation. > The difference is that I'm not using a std::map<> since that wasn't > really necessary and instead adding one member (via inheritance) to > the capability struct on Windows that holds the stream id that is needed. > > BUG=140545 > TEST=All video capture tests in media_unittests now test this new implementation (except on XP). > > TBR=mflodman@chromium.org,darin@chromium.org > > Review URL: https://codereview.chromium.org/11442011 TBR=tommi@chromium.org Review URL: https://codereview.chromium.org/11443011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171220 0039d316-1c4b-4281-b951-d872f2087c98
* Re-land https://codereview.chromium.org/11419200/tommi@chromium.org2012-12-057-115/+714
| | | | | | | | | | | | | | | | | | | | | | | | | | I had to revert the change since media and content unittests failed to load on the XP bots. This modification to the above CL moves the MF delayload entries the chrome_dll.gyp over to media.gyp for all dependents. Original CL description: Video capture implementation using the Media Foundation API. This replaces the DirectShow based implementation for Vista,Win7 and Win8. DirectShow isn't supported in metro mode so once we've landed this, we can revert the workaround we have in place for Win8. The CapabilityList class is mostly moved code from the DS implementation. The difference is that I'm not using a std::map<> since that wasn't really necessary and instead adding one member (via inheritance) to the capability struct on Windows that holds the stream id that is needed. BUG=140545 TEST=All video capture tests in media_unittests now test this new implementation (except on XP). TBR=mflodman@chromium.org,darin@chromium.org Review URL: https://codereview.chromium.org/11442011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171212 0039d316-1c4b-4281-b951-d872f2087c98
* Add test data for new AudioFileReader tests.dalecurtis@google.com2012-12-057-0/+0
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171113 0039d316-1c4b-4281-b951-d872f2087c98
* Encrypted Media: Allows empty key message to be fired.xhwang@chromium.org2012-12-042-9/+11
| | | | | | | | | | | | This CL also changes the expected behavior of GenerateKeyRequest() of CleryKey key system when init_data is null. Previously it returns MediaKeyException (from render side) or fires KeyError (from plugin side). Now it fires an empty KeyMessage regardless. In the future the spec should be clear about this. BUG=163785 TEST=media Layout test; media_unittests; content_browsertests Review URL: https://chromiumcodereview.appspot.com/11348365 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171081 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 170912 - need more delayloads.tommi@chromium.org2012-12-047-701/+115
| | | | | | | | | | | | | | | | | | | | | | > Video capture implementation using the Media Foundation API. > This replaces the DirectShow based implementation for Vista,Win7 and Win8. > DirectShow isn't supported in metro mode so once we've landed this, > we can revert the workaround we have in place for Win8. > > The CapabilityList class is mostly moved code from the DS implementation. > The difference is that I'm not using a std::map<> since that wasn't > really necessary and instead adding one member (via inheritance) to > the capability struct on Windows that holds the stream id that is needed. > > BUG=140545 > TEST=All video capture tests in media_unittests now test this new implementation (except on XP). > > Review URL: https://codereview.chromium.org/11419200 TBR=tommi@chromium.org Review URL: https://codereview.chromium.org/11418307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170925 0039d316-1c4b-4281-b951-d872f2087c98
* Associate audio streams with their source/destination RenderView.miu@chromium.org2012-12-043-67/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is a first step towards implementing three major Chromium features, all of which need to associate audio outputs with their source tabs. See BUGs referenced by this change for more details. Previous attempt/approach: https://codereview.chromium.org/11166002/ Specifics: 1. Added two new IPC messages: AudioHostMsg_AssociateStreamWithProducer and AudioInputHostMsg_AssociateStreamWithConsumer. 2. Added "associate to render_view_id" IPC calls: PepperPlatformAudioInputImpl, PepperPlatformAudioOutputImpl, RenderAudioSourceProvider, RendererWebAudioDeviceImpl, WebRtcAudioRenderer. 3. AudioOutputDevice instances re-use the same stream IDs. 4. Removed AudioDeviceFactory and replaced test-injection scheme in AudioRendererMixerManager. Not in scope: 1. Associating RenderViews with audio input to WebRTC. 2. Associating RenderViews with streams produced by the AudioRendererMixer. 3. Speech Input (implementation is in the browser process, not the render process). Testing method: Confirm correct render_view_id shows up in debug logging when engaging the various audio code paths. Some of the many test sites used: 1. PPAPI (in and out): http://www.midomi.com/index.php?action=main.mic_check 2. WebMediaPlayer (e.g., <audio> and <video>): http://html5video.org/ 3. WebAudio API: http://chromium.googlecode.com/svn/trunk/samples/audio/convolution-effects.html 4. WebRTC (output only): http://apprtc.appspot.com/ BUG=3541,64215,153392 TEST=Enabled debug logging via --vmodule=audio_renderer_host=1,audio_input_renderer_host=1 and then engaged the various Chrome audio code paths to confirm correct render_view_id shows up in browser process. Review URL: https://chromiumcodereview.appspot.com/11359196 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170919 0039d316-1c4b-4281-b951-d872f2087c98