summaryrefslogtreecommitdiffstats
path: root/media
Commit message (Collapse)AuthorAgeFilesLines
* Adjust tsan suppressions for media::Pipeline due to r156011.scherkus@chromium.org2012-09-131-0/+4
| | | | | | | | | BUG=137973 TBR=timurrrr Review URL: https://codereview.chromium.org/10907213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156540 0039d316-1c4b-4281-b951-d872f2087c98
* If cras is used, make only one audio device available: "Automatic".chihchung@chromium.org2012-09-132-2/+38
| | | | | | | | | BUG=chromium-os:32926 TEST=play youtube and check the device name. Review URL: https://chromiumcodereview.appspot.com/10854200 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156527 0039d316-1c4b-4281-b951-d872f2087c98
* Remove VideoDecoder::PrepareForShutdownHack() and friends.scherkus@chromium.org2012-09-1310-62/+3
| | | | | | | | | | As of r156011 the pause/flush/stop shutdown dance is no more. Now that Pipeline immediately calls Stop() during teardown we can remove a pile of hacks that were used to signal that teardown was starting. BUG=110228 Review URL: https://chromiumcodereview.appspot.com/10918172 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156525 0039d316-1c4b-4281-b951-d872f2087c98
* Move ChunkDemuxer handling from WMPProxy to WMPI and remove ChunkDemuxerClientacolwell@chromium.org2012-09-129-127/+84
| | | | | | | | | BUG=148662 TEST=ChunkDemuxerTest, PipelineIntegrationTest, and Media Source LayoutTests all still pass. Review URL: https://codereview.chromium.org/10905236 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156425 0039d316-1c4b-4281-b951-d872f2087c98
* Automatically fall back to non-low latency on open() failure.dalecurtis@chromium.org2012-09-123-38/+183
| | | | | | | | | | | | | | | | | | Pretty simple fallback solution. There are certainly other ways we could do this, but this is perhaps the most succinct. AudioOutputResampler will automatically downgrade to using the non-low latency path when OpenStream() fails. Some tweaking may be necessary to figure out the best parameters to use when a low latency stream fails. BUG=148418 TEST=Force failed low latency stream creation. Flash still works. Review URL: https://chromiumcodereview.appspot.com/10909151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156341 0039d316-1c4b-4281-b951-d872f2087c98
* Remove WASAPI channel count. Too much trouble for now.dalecurtis@google.com2012-09-121-29/+6
| | | | | | | | | | BUG=none TEST=none TBR=scherkus Review URL: https://chromiumcodereview.appspot.com/10905240 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156307 0039d316-1c4b-4281-b951-d872f2087c98
* Fix Windows XP build.dalecurtis@google.com2012-09-121-13/+21
| | | | | | | | | | BUG=none TEST=none TBR=scherkus Review URL: https://chromiumcodereview.appspot.com/10914233 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156306 0039d316-1c4b-4281-b951-d872f2087c98
* Fix iOS build bustage in AudioManagerBasestuartmorgan@chromium.org2012-09-121-0/+6
| | | | | | | | | | | | | | New output-related code was added in https://chromiumcodereview.appspot.com/10918098 without being ifdef'd for iOS, breaking the iOS build. TBR=dalecurtis,scherkus BUG=148430 Review URL: https://chromiumcodereview.appspot.com/10918191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156299 0039d316-1c4b-4281-b951-d872f2087c98
* Add UMA reporting for audio hardware parameters.dalecurtis@google.com2012-09-124-18/+69
| | | | | | | | | | | Records bits per channel, channel layout, and sample rate. BUG=147572 TEST=build/run Review URL: https://chromiumcodereview.appspot.com/10914203 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156296 0039d316-1c4b-4281-b951-d872f2087c98
* Improves buffer handling for Windows and ensures that we can use all ↵henrika@chromium.org2012-09-122-8/+18
| | | | | | | | | | | | possible sample rates on Windows in combination with the pending output resampler. BUG=none TEST=Chrome+Flapper in combination with --enable-audio-output-resampler flag and pending OutputResampler patch. Review URL: https://chromiumcodereview.appspot.com/10905213 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156270 0039d316-1c4b-4281-b951-d872f2087c98
* Allow audio system to handle synchronized low-latency audio I/Ocrogers@google.com2012-09-1227-65/+285
| | | | | | | | | | | | | | | | | | | | | | | | | | | As an important part of WebAudio/WebRTC integration, we need to be able to process and analyse live audio. This change adds the ability to our audio system for handling synchronized audio input and output in the same callback (same thread) which is important for good performance and low-latency. As a part of this change, the audio IPC system now takes an optional |input_channels| argument in the CreateStream() message and associated browser-side code in AudioRendererHost::OnCreateStream(), etc. |input_channels| will be 0 during normal operation of audio output (and no input). But when synchronized audio I/O is needed, then a non-zero value can be passed in here. The |params| passed in represents both the input and output format, particularly the frames_per_buffer() and sample_rate(). AudioRendererSink now has an new InitializeIO() method which will allow the use of synchronized I/O with the |input_channels| argument. AudioRendererSink::RenderCallback now has a new RenderIO() which will be called instead of Render() in the case where a non-zero value is passed in for |input_channels|. BUG=none TEST=none (manual testing on early Mac OS X and Windows audio back-ends) Review URL: https://chromiumcodereview.appspot.com/10830268 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156234 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChunkDemuxer signal an error instead of crash when a parser gives it ↵acolwell@chromium.org2012-09-121-1/+5
| | | | | | | | | | | | invalid configs. BUG=148528 TEST=Manual Media Source API test that appends uninitialize.webm from the chrome-internal/trunk/data/media/security/ repo. Review URL: https://chromiumcodereview.appspot.com/10918183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156202 0039d316-1c4b-4281-b951-d872f2087c98
* Fix resampler flushing while OnMoreData() is in progress.dalecurtis@chromium.org2012-09-113-34/+149
| | | | | | | | | | | | | | | | | Locking when using |source_lock_| just to get |source_callback_| isn't enough. We actually want to gate all objects which work on the source data; i.e. the entire OnMoreData() pathway. Otherwise the resampler or FIFO might get flushed by another thread in the middle of fulfilling a Resample() or Consume() call. BUG=none TEST=tsan unit tests, open and closing tabs quickly. Review URL: https://chromiumcodereview.appspot.com/10919212 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156103 0039d316-1c4b-4281-b951-d872f2087c98
* Reset 'can_update_offset' on call to ChunkDemuxer::Abort()strobe@google.com2012-09-112-0/+7
| | | | | | | | | | BUG= TEST=ChunkDemuxerTest::TestTimestampOffsetMidParse Review URL: https://chromiumcodereview.appspot.com/10908180 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156040 0039d316-1c4b-4281-b951-d872f2087c98
* Temporarily disable DCHECK() inside media::Pipeline::~Pipeline().scherkus@chromium.org2012-09-111-0/+4
| | | | | | | | | | | It's spuriously firing because media::Pipeline is occasionally destroyed on the wrong thread (whoops!). BUG=148405 TBR=fischman Review URL: https://chromiumcodereview.appspot.com/10917190 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156021 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite media::Pipeline state transition machinery and simplify shutdown.scherkus@chromium.org2012-09-117-911/+464
| | | | | | | | | | Shutdown is now a single call to Stop() and is called regardless of the current state of pending operations. BUG=110228 Review URL: https://chromiumcodereview.appspot.com/10837206 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@156011 0039d316-1c4b-4281-b951-d872f2087c98
* As titled! AudioOutputResampler is a single stream output resampler which usesdalecurtis@google.com2012-09-1114-146/+624
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | the existing AudioOutputDispatcherImpl to handle the heavy lifting. It intercepts the AudioSourceCallback provided during OpenStream() and replaces it with a call to itself. An AudioFifo object is used to ensure we interface with the renderer and downstream components using the same buffer size they were configured with. A MultiChannelResampler object interfaces with a provided callback method which pulls data from the AudioFifo if available and otherwise retrieves more data from the client (using the buffer size the client expects). The pending bytes value is scaled according to the input / output sample rate and bits per channel values. Outstanding data is tracked between OnMoreData() calls in order to provide the client with an accurate delay estimate. Feature is behind the "--enable-audio-output-resampler" for a/b testing. Will be removed from behind the flag after tuning and functionality can be verified by the Pepper Flash team. BUG=147572 TEST=PepperFlash + 192kHz->44kHz, 48kHz->44kHz, 44kHz->96kHz. Manual testing by various parties. Review URL: https://chromiumcodereview.appspot.com/10918098 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155968 0039d316-1c4b-4281-b951-d872f2087c98
* Made media compiled by clangmichaelbai@chromium.org2012-09-101-4/+5
| | | | | | | | BUG=143931 Review URL: https://chromiumcodereview.appspot.com/10913145 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155817 0039d316-1c4b-4281-b951-d872f2087c98
* cras_output: Fix calculation of bytes per sample.dgreid@chromium.org2012-09-101-1/+1
| | | | | | | | | | | | | | bytes_per_frame_ is bytes_per_sample * num_channels. When calculating bytes_per_sample from bytes_per_frame, divide by the number of channels, the amount of frames we are rendering is not important here. BUG=chromium-os:34241 TEST=youtube videos make noise on ChromeOS. Review URL: https://chromiumcodereview.appspot.com/10917161 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155786 0039d316-1c4b-4281-b951-d872f2087c98
* Adds media::AudioPullFifo class to Chrome.scherkus@chromium.org2012-09-107-101/+286
| | | | | | | | | | | | | | | | | | | A FIFO (First In First Out) buffer to handle mismatches in buffer sizes between a provider and consumer. The consumer will pull data from this FIFO. If data is already available in the FIFO, it is provided to the consumer. If insufficient data is available to satisfy the request, the FIFO will ask the provider for more data to fulfill a request. Patch by henrika@chromium.org: http://codereview.chromium.org/10915123/ BUG=none TEST=--gtest_filter=AudioPullFifoTest.* TBR=henrika Review URL: https://chromiumcodereview.appspot.com/10914178 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155744 0039d316-1c4b-4281-b951-d872f2087c98
* Remove {base,net}_java dependencies from GYP client targets on Android.pliard@chromium.org2012-09-101-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | On Android, some GYP client targets were explicitly depending on both the native and Java sides of a library. This removes the dependencies to {base,net}_java and make the native side ('base' and 'net) of these libraries depend on their Java counterpart. On Android it rarely makes sense to depend on a single side of a Java/C++ library. The {base,net}_java can now be considered as "private" targets although GYP does not support this concept unfortunately (AFAICT). Note that I made sure that the resulting APKs' size is unchanged. Additionally, this CL removes 'base_java' (i.e. does not replace it with 'base') from the targets including 'build/apk_test.gypi'. This dependency should not have been there (in the wrong layer) in the first place. It's needed by ChromeNativeTestActivity.java which clients should not know about. BUG=146323 TBR=lipalani,sky,willchan,brettw Review URL: https://chromiumcodereview.appspot.com/10913083 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155737 0039d316-1c4b-4281-b951-d872f2087c98
* Set svn:eol-style to LF and remove a few CRLFs that snuck in for src/media/.scherkus@chromium.org2012-09-102-13/+13
| | | | | | | TBR=fischman Review URL: https://chromiumcodereview.appspot.com/10915173 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155728 0039d316-1c4b-4281-b951-d872f2087c98
* Create iOS Audio Manager implementation.blundell@chromium.org2012-09-076-9/+236
| | | | | | | | | | | | The iOS audio manager supports audio input only (for voice search). This CL also makes slight changes to audio_input_mac to make it usable on iOS. BUG=None Review URL: https://chromiumcodereview.appspot.com/10907110 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155416 0039d316-1c4b-4281-b951-d872f2087c98
* use lock to make sure device will not deliver any frame after it's stopped.wjia@chromium.org2012-09-062-2/+12
| | | | | | | BUG=139004 Review URL: https://chromiumcodereview.appspot.com/10905134 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155250 0039d316-1c4b-4281-b951-d872f2087c98
* Combine audio decoding and video decoding onto a single thread.scherkus@chromium.org2012-09-065-14/+10
| | | | | | | | | | | Our use of multithreaded video decoding results in a video decoding thread that is idle most of the time. Instead of being idle it can be doing real work like decoding audio. The end result is one less thread created per media element. BUG=61293 TBR=brettw Review URL: https://chromiumcodereview.appspot.com/10915091 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155179 0039d316-1c4b-4281-b951-d872f2087c98
* Ports the WebCore::AudioFIFO in WebKit to Chrome style.henrika@chromium.org2012-09-064-0/+415
| | | | | | | | | | | This class will be use in an upcoming AudioPullFifo class. BUG=none TEST=media_unittests --gtest_filter=AudioFifoTest.* Review URL: https://chromiumcodereview.appspot.com/10912079 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155171 0039d316-1c4b-4281-b951-d872f2087c98
* Make initial reset period configurable for audio input no data timer.milanb@chromium.org2012-09-062-13/+22
| | | | | | | | | | | | iOS needs extra initial delay in the reset timer to avoid getting killed because there is a background music fading out. BUG=b/6754065 Review URL: https://chromiumcodereview.appspot.com/10911067 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155082 0039d316-1c4b-4281-b951-d872f2087c98
* Exclude audio output dispatcher for iOS.milanb@chromium.org2012-09-051-0/+11
| | | | | | | | | | | | Upstreaming iOS. iOS uses only audio input and does not link against the audio output classes. BUG=b/6754065 Review URL: https://chromiumcodereview.appspot.com/10914082 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@155011 0039d316-1c4b-4281-b951-d872f2087c98
* Build supported media targets on iOS.blundell@chromium.org2012-09-052-19/+81
| | | | | | | | | | | | Makes the changes required to get media and media_unittests to build successfully for iOS, building only the limited set of files that iOS requires. BUG=None Review URL: https://chromiumcodereview.appspot.com/10919092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154996 0039d316-1c4b-4281-b951-d872f2087c98
* Fix unitialized reads in AudioOutputController unittest.dalecurtis@google.com2012-09-052-9/+13
| | | | | | | | | | | | | | | | | http://crrev.com/154951 introduced a bug where these buffers were used, but the mocked methods were not initializing the data. Also removes the suppression and fixes scherkus's comments from: http://codereview.chromium.org/10920092/ BUG=114700 TEST=media_unittests + valgrind. TBR=timurrr,scherkus Review URL: https://chromiumcodereview.appspot.com/10916120 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154968 0039d316-1c4b-4281-b951-d872f2087c98
* Fix unitialized data access in AlsaOutputUnittest.dalecurtis@google.com2012-09-051-4/+10
| | | | | | | | | | | | | http://crrev.com/154951 introduced a bug where these buffers were used, but the mocked methods were not initializing the data. BUG=none TEST=media_unittests + valgrind. TBR=timurrrr, scherkus Review URL: https://chromiumcodereview.appspot.com/10920092 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154954 0039d316-1c4b-4281-b951-d872f2087c98
* Switch OnMoreData() to use AudioBus.dalecurtis@chromium.org2012-09-0539-553/+444
| | | | | | | | | | | | | | | | | | | As titled, with this change we're now piping float data around the pipeline from end to end. This change is in preparation for browser side channel remixing and resampling. As a consequence of this change the shared memory now represents the contents of an AudioBus object, which is essentially audio data in a float planar format. BUG=114700 TEST=Should be no audible change. Ran all existing tests. Compiled ran WebAudio/HTML5/WebRTC on all platforms and PPAPI on Linux. Review URL: https://chromiumcodereview.appspot.com/10832285 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154951 0039d316-1c4b-4281-b951-d872f2087c98
* Add MainHook to media unittests.milanb@chromium.org2012-09-051-0/+2
| | | | | | | | | | | | | | MainHooks are in particular used on iOS to prevent the system from killing the test application at startup. See https://chromiumcodereview.appspot.com/10690161/ for more context. BUG=b/6754065 Review URL: https://chromiumcodereview.appspot.com/10915061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154946 0039d316-1c4b-4281-b951-d872f2087c98
* Move various media.gyp targets into an OS!=iOS blockstuartmorgan@chromium.org2012-09-041-216/+223
| | | | | | | | | | | | | | In preparation for iOS support in media.gyp, move all the targets that won't be used on iOS into a !iOS block. Future CLs will get the remaning targets (media, media_unittests, media_test_support) building for iOS. BUG=None Review URL: https://chromiumcodereview.appspot.com/10887008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154790 0039d316-1c4b-4281-b951-d872f2087c98
* Add missing break to WinAudioTest.dalecurtis@google.com2012-09-041-0/+1
| | | | | | | | | | | Fixes unittest failures on Windows. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10918044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154734 0039d316-1c4b-4281-b951-d872f2087c98
* Update FFmpegAudioDecoder to support multi-frame packets.dalecurtis@chromium.org2012-08-305-116/+188
| | | | | | | | | | | | | | | | | | Per the FFmpeg docs, avcodec_decode_audio4 should be repeatedly called until all data from a given packet is exhausted. Ran into this issue while running the FFmpeg regression tests after acolwell added a DCHECK to ensure we were always fully exhausting the packet after decode. BUG=141020 TEST=ffmpeg_regression_tests TBR=jam Review URL: https://chromiumcodereview.appspot.com/10869085 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154220 0039d316-1c4b-4281-b951-d872f2087c98
* Convert WebAudio file handlers to use AudioBus.dalecurtis@chromium.org2012-08-307-137/+145
| | | | | | | | | | | | | | | Lets us remove AudioUtil::DeinterleaveAudioChannel(). Modifies AudioBus to add a new FromInterleavedPartial() function which allows for streaming deinterleave. Also adds supporting method: ZeroFramesPartial(). BUG=114700, 120319 TEST=unittests + WebAudio test page. Review URL: https://chromiumcodereview.appspot.com/10871051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154099 0039d316-1c4b-4281-b951-d872f2087c98
* Rename shared memory method parameters for consistency.dalecurtis@google.com2012-08-302-16/+16
| | | | | | | | | | | | | Brings internal consistency to the shared memory support methods since it doesn't look like we'll be able to get rid of them anytime soon. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10873071 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154033 0039d316-1c4b-4281-b951-d872f2087c98
* Fix encrypted AAC in BMFF by adding subsample info.strobe@google.com2012-08-294-17/+43
| | | | | | | | | | | | | | AAC audio is sent to the Source Buffer in ADTS format, which requires adding a header to each media sample. Encrypted subsample information was not being adjusted to compensate for the extra clear bytes. TEST=Manual, pending audio decryption support in decoder BUG=132351 Review URL: https://chromiumcodereview.appspot.com/10886022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153854 0039d316-1c4b-4281-b951-d872f2087c98
* Add a bool return value to media::Decryptor::GenerateKeyRequest().xhwang@chromium.org2012-08-296-7/+12
| | | | | | | | | | | | Add a bool return value in media::Decryptor::GenerateKeyRequest() call and add code in WebMeidaPlayerImpl to check this value. If GenerateKeyRequest() fails, prevent further calls to AddKey() and CancelKeyRequest(). BUG=145322 TEST=Called AddKey() after GenerateKeyRequest() fails and no crash. Review URL: https://chromiumcodereview.appspot.com/10896014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153818 0039d316-1c4b-4281-b951-d872f2087c98
* Support setting an explicit duration on MediaSource objectsvrk@chromium.org2012-08-285-6/+204
| | | | | | | | | | | This is the Chromium-side change to support MediaSource's duration attribute. BUG=NONE Review URL: https://chromiumcodereview.appspot.com/10879056 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153613 0039d316-1c4b-4281-b951-d872f2087c98
* Disable AudioOutputMixer.dalecurtis@chromium.org2012-08-243-8/+43
| | | | | | | | | | | | | | | | | | | Removes AudioOutputMixer from compilation in preperation for converting the pipeline over to floats. Plan is as follows: 1. Remove AudioOutputMixer from compilation. 2. Convert all OnMoreData(uint8*, uint32, ...) calls to OnMoreData(AudioBus*, ...) 3. Refactor AudioRendererMixing->AudioMixerUtil (Or VectorMath). 4. Convert AudioOutputMixer to use float mixing and re-enable. BUG=114700 TEST=media_unittests Review URL: https://chromiumcodereview.appspot.com/10855086 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153347 0039d316-1c4b-4281-b951-d872f2087c98
* use manual release for QTCaptureDecompressedVideoOutput.wjia@chromium.org2012-08-242-6/+11
| | | | | | | | | Need to make sure when setCaptureDevice:nil returns, QTCaptureDecompressedVideoOutput won't call captureOutput of VideoCaptureDeviceQTKit. BUG=139004 Review URL: https://chromiumcodereview.appspot.com/10875038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153307 0039d316-1c4b-4281-b951-d872f2087c98
* Introduce shared_memory_support media target for PPAPI.dalecurtis@chromium.org2012-08-2413-94/+207
| | | | | | | | | | | | | | | | | | Allows PPAPI to directly utilize shared memory utility code instead of duplicating it and CHECK'ing for equivalency. Required to eventually convert PPAPI to using an AudioBus and floats in PPB_Audio_Shared::Run(). http://crbug.com/114700 BUG=123203 TEST=unittests Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=152406 Review URL: https://chromiumcodereview.appspot.com/10826296 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153262 0039d316-1c4b-4281-b951-d872f2087c98
* Revert r152236 since we found the culprit for bug 143440.scherkus@chromium.org2012-08-241-6/+6
| | | | | | | | | | | Turns out non-null media::Pipeline::pending_callbacks_ wasn't it -- on top the that we haven't received a single crash as a result of the CHECKs(). BUG=143539 TBR=jar Review URL: https://chromiumcodereview.appspot.com/10867054 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153216 0039d316-1c4b-4281-b951-d872f2087c98
* Revert changes from r152523 and split bitstream converter creation and enabling.acolwell@chromium.org2012-08-243-19/+15
| | | | | | | | | | | | | Bitstream converter now gets created when we know the FFmpeg structs are valid. Enabling the converter no longer needs access to these structs so the crash is avoided. BUG=144432 TEST=Manual testing with GPU video decoder init failing and falling back to software decode. Review URL: https://chromiumcodereview.appspot.com/10879057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153204 0039d316-1c4b-4281-b951-d872f2087c98
* Split AudioRendererMixer::VectorFMAC into VectorMath library.dalecurtis@chromium.org2012-08-248-196/+267
| | | | | | | | | | | | | | | | Prepare the future home for more optimized vector math routines, specifically FMUL for volume adjustment. Additionally the FMAC operation will be used for browser side mixing as well as channel upmixing and downmixing. BUG=none TEST=unittests. Review URL: https://chromiumcodereview.appspot.com/10868037 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@153122 0039d316-1c4b-4281-b951-d872f2087c98
* Guard against ALSA returning insane frame counts for current delay.fischman@chromium.org2012-08-232-4/+4
| | | | | | | | | | | | | | | One video observed generated an alleged delay of 9222246136947932171 frames near the end of stream, which when converted to bytes and passed through a chain of uint32/int32 conversions became -4052 bytes, and then -46ms, triggering the DCHECK in the bug below. BUG=144281 Originally landed as r152919 and reverted in r152923. Review URL: https://chromiumcodereview.appspot.com/10869019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152977 0039d316-1c4b-4281-b951-d872f2087c98
* Use scoped_refptr::swap() instead of accident-prone scoped_refptr::release().fischman@chromium.org2012-08-231-7/+4
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10876023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152924 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 152919 - Guard against ALSA returning insane frame counts for current ↵rsleevi@chromium.org2012-08-232-4/+4
| | | | | | | | | | | | | | | | | | | delay. One video observed generated an alleged delay of 9222246136947932171 frames near the end of stream, which when converted to bytes and passed through a chain of uint32/int32 conversions became -4052 bytes, and then -46ms, triggering the DCHECK in the bug below. BUG=144281 Review URL: https://chromiumcodereview.appspot.com/10869019 TBR=fischman@chromium.org Review URL: https://chromiumcodereview.appspot.com/10879027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152923 0039d316-1c4b-4281-b951-d872f2087c98