| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Review URL: http://codereview.chromium.org/9430065
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@123334 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
| |
Review URL: https://chromiumcodereview.appspot.com/9318011
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@122778 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
|
|
|
|
|
|
|
|
|
|
| |
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
|