summaryrefslogtreecommitdiffstats
path: root/media/base
Commit message (Collapse)AuthorAgeFilesLines
* Add base::StaticAtomicSequenceNumber.pliard@chromium.org2012-03-131-3/+2
| | | | | | | | | | | | This patch also replaces the global AtomicSequenceNumber variables with StaticAtomicSequenceNumber in order to remove static initializers. BUG=94925 Review URL: http://codereview.chromium.org/9415039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126376 0039d316-1c4b-4281-b951-d872f2087c98
* Rename StatisticsCallback to StatisticsCB and DataSource::ReadCallback to ↵xhwang@chromium.org2012-03-107-25/+25
| | | | | | | | | | | | | | | ReadCB. To comply with naming convention in media code. Renaming only, no other changes. In rtc_video_decoder.cc, explicitly use media::VideoFrame so not to confuse with cricket::VideoFrame. BUG=none TEST=none Review URL: http://codereview.chromium.org/9634012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125959 0039d316-1c4b-4281-b951-d872f2087c98
* Add AES decryptor and tests.xhwang@chromium.org2012-03-088-3/+120
| | | | | | | | | | | For now we support decryption in video only. The first encryption key ID in ContentEncodings element will be used as the decryption key ID. Also we assume decryption key is the same as key ID. BUG=117060 TEST=test page with encrypted content plays; added media_unittest Review URL: http://codereview.chromium.org/9298021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125560 0039d316-1c4b-4281-b951-d872f2087c98
* Fold media::MessageLoopFactoryImpl into media::MessageLoopFactory.scherkus@chromium.org2012-03-064-130/+72
| | | | | | | | We haven't had a second implementation of the interface since MessageLoopFactory was added in r71548. Review URL: https://chromiumcodereview.appspot.com/9597016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125064 0039d316-1c4b-4281-b951-d872f2087c98
* Fix muted audio when playback rate != 1.0 or 0.0vrk@chromium.org2012-03-062-24/+38
| | | | | | | | | | | | | | Rewrites the logic in AudioRendererAlgorithmBase to be able to output audio at any point of a sped-up/slowed down window, instead of only outputting audio in full multiples of windows. BUG=108239 TEST=media_unittests, manual testing on video test matrix Review URL: http://codereview.chromium.org/9395057 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@125052 0039d316-1c4b-4281-b951-d872f2087c98
* Change Clock::SetMaxTime() to be safe even in the presence of slow pipelines.fischman@chromium.org2012-03-023-5/+4
| | | | | | | | | | | | | | | | | Before this CL the contract of SetMaxTime was unsatisfiable; a clock client could check that the max_time it was about to set wasn't greater than Elapsed() before calling SetMaxTime(), but between the time that check was done and the DCHECK inside SetMaxTime, time could move forward! After this CL, SetMaxTime() is allowed to move the media_time_ backward and set the underflow_ bit if the pipeline is slow enough. BUG=113037,chromium-os:26939 TEST=A Debug binary on an underpowered ARM crosbook with no audio device plays back correctly. Review URL: http://codereview.chromium.org/9582017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124739 0039d316-1c4b-4281-b951-d872f2087c98
* Second attempt to land ffmpeg roll.dalecurtis@google.com2012-03-013-5/+8
| | | | | | | | | | | | | | | | | Attempt 2 at landing http://codereview.chromium.org/9317096/ Same as before except for fixes in checkperms/ However, fixes have landed elsewhere for: - mp3 decode issue. - FrameRateNoVsyncCanvasInternalTest.fishbowl/0 BUG=110776 TEST=unittests, layouttests, trybots, perf tests... Review URL: https://chromiumcodereview.appspot.com/9447029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124501 0039d316-1c4b-4281-b951-d872f2087c98
* Replace a CHECK with some CHECK_LEs, to aid in debugging.wez@chromium.org2012-03-011-1/+2
| | | | | | | | | BUG=116138 Review URL: http://codereview.chromium.org/9514009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124372 0039d316-1c4b-4281-b951-d872f2087c98
* Fix race in Pipeline where video_decoder_ was accessed from multiple threads.tommi@chromium.org2012-02-291-5/+5
| | | | | | | | | | | | | | | | I moved the code that clears the variable to StopTask(). The problem was that all access to this variable except for inside Stop(), happens on the Pipeline thread, but was not protected by a lock. So, Stop() could be called and it could cause random crashes on the pipeline thread such as in the case I mention in the below bug. BUG=115299 TEST=follow repro steps in the bug report. Review URL: http://codereview.chromium.org/9536009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@124208 0039d316-1c4b-4281-b951-d872f2087c98
* Workaround for Windows-only crash inside delay load helper.enal@chromium.org2012-02-281-11/+43
| | | | | | | | | | | | | | | | | | | | | | Crash report shows access violation inside LoadLibraryExA() called from DelayLoadHelper2(), and we cannot figure out what exactly causes the problem. In theory it can be caused by Chrome terminating while we are initializing ffmpeg code, but I am not sure. Workaround is to call delay load helper to patch import tables during renderer initialization. We are loading ffmpeg DLL at this moment anyways but do not patch import tables. Extra overhead is negligeable compared to disk access time. Also fixed potential problem -- LoadLibraryEx() does not accept relative paths when used as we are using it. During normal startup we are getting absolute path, but customer can specify relative path as a command-line flag. Fix is to call Windows API GetFullPathName() to get rid of relative path. BUG=110983. Review URL: http://codereview.chromium.org/9450001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123865 0039d316-1c4b-4281-b951-d872f2087c98
* Don't histogram negative VideoCodecProfile values.fischman@chromium.org2012-02-231-2/+5
| | | | | | Review URL: http://codereview.chromium.org/9430065 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123334 0039d316-1c4b-4281-b951-d872f2087c98
* Add texture target field to video frame (for use by native textures).sievers@chromium.org2012-02-232-1/+14
| | | | | | | | To be used by https://bugs.webkit.org/show_bug.cgi?id=78398. Review URL: https://chromiumcodereview.appspot.com/9416087 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123255 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 123123 (probably caused a big perf regression -- http://crbug.com/115479,thakis@chromium.org2012-02-233-9/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | and possibly made frame rate tests fail: http://crbug.com/115477. Will revert the revert if it doesn't help.) - Fix media code to work with new ffmpeg. Once ffmpeg git, svn are updated to new ffmpeg, will update DEPS in this CL. Which when committed, should seal the deal for the ffmpeg roll. API Changes: avutil: SampleFormat->AVSampleFormat avutil: av_get_bits_per_sample_fmt -> av_get_bytes_per_sample avcodec: avcodec_open -> avcodec_open2(..., NULL) avcodec: avcodec_decode_video2(... AVPacket ...) -> const AVPacket. avformat: av_open_input_file -> avformat_open_input avformat: av_register_protocol2 -> ffurl_register_protocol avformat: av_close_input_file -> avformat_close_input(&...) avformat: av_find_stream_info -> avformat_find_stream_info(..., NULL) URLContext now has a url_open2 method as well, for now I've set this to NULL. Also fixes: - ffmpeg_unittests change threading to mirror ffmpeg_video_decoder. There's an issue where threading causes the last frames of a no-audio video to be clipped. It existed before this ffmpeg roll, but because threading was disabled by default in ffmpeg, we never noticed it. - ffmpeg_demuxer_tests: GetBitrate_UnsetInContainer_NoFileSize now passes. - New ffmpeg_unittests passes: sync0_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync0.ogv" sync1_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync1.ogv" sync2_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync2.ogv" FFmpeg fixups here, https://chromiumcodereview.appspot.com/9325049/ New git repo here: http://git.chromium.org/gitweb/?p=chromium/third_party/ffmpeg.git;a=summary Merge+Patches diff: https://chromiumcodereview.appspot.com/9317107 BUG=110776 TEST=unittests, layouttests, etc. Trybots. Review URL: https://chromiumcodereview.appspot.com/9317096 TBR=dalecurtis@google.com Review URL: https://chromiumcodereview.appspot.com/9455018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123249 0039d316-1c4b-4281-b951-d872f2087c98
* Fix media code to work with new ffmpeg.dalecurtis@google.com2012-02-223-6/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Once ffmpeg git, svn are updated to new ffmpeg, will update DEPS in this CL. Which when committed, should seal the deal for the ffmpeg roll. API Changes: avutil: SampleFormat->AVSampleFormat avutil: av_get_bits_per_sample_fmt -> av_get_bytes_per_sample avcodec: avcodec_open -> avcodec_open2(..., NULL) avcodec: avcodec_decode_video2(... AVPacket ...) -> const AVPacket. avformat: av_open_input_file -> avformat_open_input avformat: av_register_protocol2 -> ffurl_register_protocol avformat: av_close_input_file -> avformat_close_input(&...) avformat: av_find_stream_info -> avformat_find_stream_info(..., NULL) URLContext now has a url_open2 method as well, for now I've set this to NULL. Also fixes: - ffmpeg_unittests change threading to mirror ffmpeg_video_decoder. There's an issue where threading causes the last frames of a no-audio video to be clipped. It existed before this ffmpeg roll, but because threading was disabled by default in ffmpeg, we never noticed it. - ffmpeg_demuxer_tests: GetBitrate_UnsetInContainer_NoFileSize now passes. - New ffmpeg_unittests passes: sync0_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync0.ogv" sync1_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync1.ogv" sync2_ogv/FFmpegTest.Seek_Video/0, where GetParam() = "sync2.ogv" FFmpeg fixups here, https://chromiumcodereview.appspot.com/9325049/ New git repo here: http://git.chromium.org/gitweb/?p=chromium/third_party/ffmpeg.git;a=summary Merge+Patches diff: https://chromiumcodereview.appspot.com/9317107 BUG=110776 TEST=unittests, layouttests, etc. Trybots. Review URL: https://chromiumcodereview.appspot.com/9317096 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123123 0039d316-1c4b-4281-b951-d872f2087c98
* Reimplement r122778 to fix BuildMediaStreamCollection without breaking HW ↵fischman@chromium.org2012-02-221-4/+0
| | | | | | | | video decode. Review URL: http://codereview.chromium.org/9372075 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122950 0039d316-1c4b-4281-b951-d872f2087c98
* Replace several NOTREACHED(), NOTIMPLEMENTED() with DVLOG(1), all values are ↵dalecurtis@chromium.org2012-02-213-8/+24
| | | | | | | | | | | | | | checked later by (Audio|Video)DecoderConfig.IsValidConfig() Unifies frame configuration check between VideoFrame and VideoDecoderConfig. BUG=none TEST=unittests, regression tests. Review URL: http://codereview.chromium.org/9358013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122886 0039d316-1c4b-4281-b951-d872f2087c98
* always remove existing video decoders when a new video decoder is added.wjia@chromium.org2012-02-211-0/+4
| | | | | | Review URL: https://chromiumcodereview.appspot.com/9318011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122778 0039d316-1c4b-4281-b951-d872f2087c98
* Minor fixes to compile media_unittests on android.nileshagrawal@chromium.org2012-02-161-1/+1
| | | | | | | | | BUG= TEST= Review URL: http://codereview.chromium.org/9405027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122343 0039d316-1c4b-4281-b951-d872f2087c98
* Extends error handling for audio capture and rendering.henrika@chromium.org2012-02-131-1/+1
| | | | | | | | | | | | | | AudioDevice now uses OnRenderError() (instead of OnError()) and AudioInputDevice uses OnCaptureError(). This CL only enables these callbacks. A follow-up will add support for actual usage as well. BUG=none TEST=content_unittests Review URL: http://codereview.chromium.org/9378003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121729 0039d316-1c4b-4281-b951-d872f2087c98
* Introducing helper wrappers for copying a rectangle from a one partial ↵alexeypa@chromium.org2012-02-091-2/+3
| | | | | | | | | | | | | | buffer to another. YUV to RGB and RGB to RGB operations are supported. YUV to RGB allows down-scaling of re This CL also adds a supression for Valgrind which otherwise falsely complains about accessing uninitialized memory. See 113076 for details. BUG=109938,113076 TEST=remoting_unittests.Yuv2Rgb Review URL: http://codereview.chromium.org/9371002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121258 0039d316-1c4b-4281-b951-d872f2087c98
* Clear buffer prior to distribution to prevent valgrind errors.dalecurtis@chromium.org2012-02-081-1/+3
| | | | | | | | | | BUG=none TEST=Ran media_unittests under valgrind. Review URL: http://codereview.chromium.org/9350010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120875 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting 120739 that caused valgrind breaks.alexeypa@chromium.org2012-02-071-3/+2
| | | | | | | | | BUG=109938 Review URL: http://codereview.chromium.org/9352017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120866 0039d316-1c4b-4281-b951-d872f2087c98
* Introducing helper wrappers for copying a rectangle from a one partial ↵alexeypa@chromium.org2012-02-071-2/+3
| | | | | | | | | | | buffer to another. YUV to RGB and RGB to RGB operations are supported. YUV to RGB allows down-scaling of rectangles. The wrappers hide (to some degree) gory details of manipulations with buffer pointers and rectangles. Added unit tests (remoting_unittests.Yuv2Rgb) to verify functionality of the YUV to RGB wrapper. BUG=109938 TEST=remoting_unittests.Yuv2Rgb Review URL: http://codereview.chromium.org/9320025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120739 0039d316-1c4b-4281-b951-d872f2087c98
* Fix incomplete teardown of demuxer.dalecurtis@chromium.org2012-02-071-6/+2
| | | | | | | | | | | | | | | | | | I ran into an issue with PipelineIntegrationTests where one of the security videos was causing ~FileDataSource to DCHECK complain about file_ never being torn down. Tracing this back, it's because we return NULL for the demuxer when an error is encountered. This prevents demuxer->Stop() from being called which leaves the data source in an unhappy state. BUG=none TEST=PipelineIntegrationTests/media_unittests Review URL: http://codereview.chromium.org/9350004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120730 0039d316-1c4b-4281-b951-d872f2087c98
* Remove AudioDecoder from the Filter heirarchy.fischman@chromium.org2012-02-0711-119/+147
| | | | | | | | | BUG=108339 TEST=none Review URL: https://chromiumcodereview.appspot.com/9325044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120718 0039d316-1c4b-4281-b951-d872f2087c98
* Remove explicit casting needed from the .Pass() switchover, now that ↵fischman@chromium.org2012-02-061-2/+1
| | | | | | | | | | | | PassAs() exists. BUG=none TEST=none Review URL: http://codereview.chromium.org/9317115 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120607 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize logging early enough to see VLOGs emitted by ↵fischman@chromium.org2012-02-031-3/+23
| | | | | | | | | | | | | | InitializeMediaLibraryForTesting(). (specifically, this makes ffmpeg_stubs.cc VLOGs actually get emitted if -v=1 is specified) BUG=none TEST=none Review URL: http://codereview.chromium.org/9320048 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120345 0039d316-1c4b-4281-b951-d872f2087c98
* Fix media timeline so that thumb never exceeds buffered datavrk@chromium.org2012-02-0212-226/+414
| | | | | | | | | | | | | Caps PipelineImpl's current time to the time of the end of the last frame buffered so that the thumb no longer continues progress when stalled. BUG=99915 TEST=Playing video with limited bandwidth. Review URL: http://codereview.chromium.org/9155003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120151 0039d316-1c4b-4281-b951-d872f2087c98
* Update AudioRenderer, VideoRenderer, and AudioDecoder Initialize() methods ↵acolwell@chromium.org2012-02-027-39/+23
| | | | | | | | | | | | | | | to use PipelineStatusCB. - Fixes race on state_ in CompositeFilter detected by TSAN - Moves us one step closer to removing FilterHost::SetError(). BUG=109875 TEST=AudioRendererBaseTest.* VideoRendererBaseTest.*, FFmpegAudioDecoderTest.*, CompositeFilterTest.* Review URL: http://codereview.chromium.org/9310028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@120135 0039d316-1c4b-4281-b951-d872f2087c98
* Fix ChunkDemuxer seek deadlockacolwell@chromium.org2012-01-312-4/+11
| | | | | | | | | BUG=109879 TEST=PipelineIntegrationTest.ChunkDemuxerAbortRead_*,FFmpegAudioDecoderTest.AbortRead, AudioRendererBaseTest.AbortPendingRead_* Review URL: https://chromiumcodereview.appspot.com/9295020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119851 0039d316-1c4b-4281-b951-d872f2087c98
* Fold Pipeline::Init() into Pipeline::Start().scherkus@chromium.org2012-01-303-44/+50
| | | | | | | | Instead of having clients optionally call Init() (i.e., player_x11, player_wtl) they are forced to pass null callbacks into Start(). Review URL: https://chromiumcodereview.appspot.com/9269022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119723 0039d316-1c4b-4281-b951-d872f2087c98
* Detect errors in audio output and report them upstream.fischman@chromium.org2012-01-271-1/+4
| | | | | | | | | | | | Stop feeding audio packets to AUDIO DemuxerStreams once audio has been disabled. BUG=111409 TEST=uninstall pulseaudio, make /dev/snd inaccessible, and observe <video> plays correctly (muted) instead of hanging. Review URL: http://codereview.chromium.org/9234066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@119488 0039d316-1c4b-4281-b951-d872f2087c98
* Add a convenience typedef LazyInstance<T>::Leaky to avoid repeating T.fischman@chromium.org2012-01-231-3/+1
| | | | | | | | | | | | | Converted the first 20 or so hits for LeakyLazyInstanceTraits on codesearch to demonstrate the benefit at callsites. The real change is base/lazy_instance.h; everything else is example. BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/9192024 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118754 0039d316-1c4b-4281-b951-d872f2087c98
* Die, Pts{Stream,Heap}, Die!fischman@chromium.org2012-01-216-379/+0
| | | | | | | | | | BUG=107036 TEST=none Review URL: http://codereview.chromium.org/9138046 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118610 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 118546 because it caused PrerenderHTML5VideoNetwork to timeout on ↵sadrul@chromium.org2012-01-214-169/+109
| | | | | | | | | | | | | | | | | | | | | | windows and linux """ Fire canplaythrough as soon as download defers to fix autoplay Reenables delayed firing of canplaythrough for media elements, and fixes the bug that had been introduced where a video with autoplay=true sometimes never starts. With this change, a video with autoplay=true should always (though not necessarily immediately) start playback on its own. BUG=106480,73609 TEST=media_unitests, manually checking video files in various conditions Review URL: https://chromiumcodereview.appspot.com/9113023 TBR=vrk@google.com Review URL: https://chromiumcodereview.appspot.com/9269027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118590 0039d316-1c4b-4281-b951-d872f2087c98
* Fire canplaythrough as soon as download defers to fix autoplayvrk@google.com2012-01-204-109/+169
| | | | | | | | | | | | | | Reenables delayed firing of canplaythrough for media elements, and fixes the bug that had been introduced where a video with autoplay=true sometimes never starts. With this change, a video with autoplay=true should always (though not necessarily immediately) start playback on its own. BUG=106480,73609 TEST=media_unitests, manually checking video files in various conditions Review URL: https://chromiumcodereview.appspot.com/9113023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118546 0039d316-1c4b-4281-b951-d872f2087c98
* Replace DataSourceFactory with explicitly initialized DataSources.scherkus@chromium.org2012-01-197-396/+6
| | | | | | | | | BUG=107324 TEST=layout tests Review URL: https://chromiumcodereview.appspot.com/9243016 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118338 0039d316-1c4b-4281-b951-d872f2087c98
* Replace a few VLOGs with CHECKs inside media::Pipeline.scherkus@chromium.org2012-01-183-38/+17
| | | | | | | | Printing out a log message and getting stuck in a bad state isn't as helpful as crashing. Review URL: https://chromiumcodereview.appspot.com/9249027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118175 0039d316-1c4b-4281-b951-d872f2087c98
* Fix indentation in media/base/pipeline.cc.scherkus@chromium.org2012-01-181-13/+11
| | | | | | | | TBR=fischman Review URL: https://chromiumcodereview.appspot.com/9250012 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118135 0039d316-1c4b-4281-b951-d872f2087c98
* Fold media::PipelineImpl into media::Pipeline as there is only one ↵scherkus@chromium.org2012-01-188-768/+703
| | | | | | | | | | implementation of the interface. Three years ago I thought that having a separate interface would be A Good Thing. Needless to say there has never been a case where having an interface defintion of Pipeline came in handy as all clients create and access PipelineImpl objects directly. Review URL: http://codereview.chromium.org/9243025 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118082 0039d316-1c4b-4281-b951-d872f2087c98
* Leak global atomicsequencenumber media_log_id to avoid atexit() handler ↵fischman@chromium.org2012-01-181-1/+3
| | | | | | | | | | | | being registered. BUG=none TEST=none Review URL: http://codereview.chromium.org/9253006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118071 0039d316-1c4b-4281-b951-d872f2087c98
* buffers.cc: replaced global TimeDelta constants with fully-inlined functions.fischman@chromium.org2012-01-189-41/+41
| | | | | | | | | | | media_log.cc: replaced global AtomicSequenceNumber with LazyInstance. BUG=94925 TEST=none Review URL: http://codereview.chromium.org/9225001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118026 0039d316-1c4b-4281-b951-d872f2087c98
* Remove the bulk of log spam from media_unittests runs.fischman@chromium.org2012-01-172-3/+10
| | | | | | | | | | BUG=none TEST=run media_unittests, observe significant reduction in logspam. Review URL: http://codereview.chromium.org/9220002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117921 0039d316-1c4b-4281-b951-d872f2087c98
* Convert use of int ms to TimeDelta in files owned by vrk.tedvessenes@gmail.com2012-01-142-12/+14
| | | | | | | | | | | R=vrk@chromium.org BUG=108171 TEST= Review URL: http://codereview.chromium.org/9190026 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117809 0039d316-1c4b-4281-b951-d872f2087c98
* Break the (extra) circular reference between PipelineImpl and VideoDecoder.fischman@chromium.org2012-01-141-1/+3
| | | | | | | | | | | | | | | | | | This should fix the leaks reported in these build breaks: http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20Tests%20%28valgrind%29%284%29/builds/6313/steps/memory%20test%3A%20media/logs/stdio http://build.chromium.org/p/chromium.memory.fyi/builders/Linux%20Heapcheck/builds/14244/steps/heapcheck%20test%3A%20media/logs/stdio http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20UI%20%28valgrind%29%285%29/builds/3945/steps/memory%20test%3A%20media/logs/stdio http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20OS%20Heapcheck/builds/5503/steps/heapcheck%20test%3A%20media/logs/stdio http://build.chromium.org/p/chromium.memory.fyi/builders/Chromium%20Mac%20%28valgrind%29%281%29/builds/4115/steps/memory%20test%3A%20media/logs/stdio TBR=scherkus BUG=none TEST=makes leak go away locally, CQ. Review URL: http://codereview.chromium.org/9212027 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117790 0039d316-1c4b-4281-b951-d872f2087c98
* Linear sub-rectangle scaler for use in Chromoting.wez@chromium.org2012-01-145-22/+292
| | | | | | | | | | | | | | This implementation re-uses the common row filter procedures, but is currently limited to a C horizontal interpolation procedure. There's also plenty of scope for optimizing the new sub-rectangle scaler routine. BUG=93451 TEST=media_unittests, remoting_unittests and manual verification of image quality of Chromoting sessions using fit-to-screen. Review URL: http://codereview.chromium.org/8954003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117748 0039d316-1c4b-4281-b951-d872f2087c98
* Fix deadlock in WebMediaPlayerImpl::Destroy() when HW video decode is enabled.fischman@chromium.org2012-01-144-9/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Several unfortunate factors combine to require this CL: 1) WebMediaPlayerImpl::Destroy() holds the renderer thread hostage for the duration of PipelineImpl::Stop() 2) PipelineImpl::Stop() walks all its filters through Pause, Flush, and Stop, not starting one transition until the previous is complete. 3) VideoRendererBase::Flush() doesn't complete until any pending read to the video decoder is satisfied. on the render thread (because of PipelineImpl locking preventing re-entrancy, being triggered on stats update). Therefore GVD must have its own thread. Because GpuVideoDecodeAcceleratorHost expects to run on the renderer thread (or be rewritten), that means trampolining vda_ calls from GVD through the renderer thread. #2 & #1 mean that such trampolining must be fire-and-forget during shutdown. The new VideoDecoder::PrepareForShutdownHack method is reminiscent of WebMediaPlayerProxy::AbortDataSources(), but thankfully at least this version of that hack can be contained within media/. The OmxVideoDecodeAccelerator change to DCHECKs is unrelated to the feature here but was uncovered during testing. Basically the already-allowed current_state_change_ values for when Destroy() is called implied a wider range of legal current_state_ values than the DCHECK was asserting. Fixed that. BUG=109397 TEST=manual test that reload during playback works. Review URL: http://codereview.chromium.org/9211015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117742 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor webkit_media::VideoRendererImpl into standalone class.scherkus@chromium.org2012-01-134-25/+33
| | | | | | | | | | As a follow up to r115583 VideoRendererImpl no longer extends VideoRendererBase and instead is a standalone class whose sole purpose is to paint VideoFrames to SkCanvases. BUG=28208 Review URL: http://codereview.chromium.org/9024019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117711 0039d316-1c4b-4281-b951-d872f2087c98
* Remove Clone() from DataSourceFactory & DemuxerFactory since the methods ↵acolwell@chromium.org2012-01-137-41/+4
| | | | | | | | | | | aren't used anywhere. TEST=None Review URL: http://codereview.chromium.org/9198002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117663 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete references to http://crbug.com/109026fischman@chromium.org2012-01-122-4/+0
| | | | | | | | | | | TBR=scherkus BUG=none TEST=none Review URL: http://codereview.chromium.org/9186041 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@117526 0039d316-1c4b-4281-b951-d872f2087c98