| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes regression caused by r29851.
BUG=13907
TEST=video-seeking.html should start passing reliably
Review URL: http://codereview.chromium.org/332017
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29983 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since our internal pause is asynchronous and we don't want to hang the render thread, it's possible to have our clock creep ahead. This produces unexpected behaviour when pausing media elements, such as seeing currentTime attribute nudge a little ahead after calling pause().
This so happens to also address layout test flakiness.
BUG=13907
TEST=layout tests, especially video-pause-immediately.html -- a new layout test I wrote and am upstreaming
Review URL: http://codereview.chromium.org/334002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29851 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Switch scoped_ptr to OwnPtr.
Switch base::RefCounted to WTF::RefCounted.
Switch string16/wstring to WebCore::String
Switch DCHECK to ASSERT.
Switch from Chromium #ifdefs to WebKit #ifdefs for ports.
R=dglazkov
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/292042
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29779 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the media resource is a file:// we can always report that we have enough data to play the file. We end up passing a bunch of layout tests.
BUG=13907
TEST=more layout tests pass
Review URL: http://codereview.chromium.org/316003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29753 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
BUG=13907
TEST=video-canvas-source.html passes.
Review URL: http://codereview.chromium.org/293059
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29705 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
TBR=scherkus
From 1u to static_cast<size_t>(1).
Review URL: http://codereview.chromium.org/276057
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29238 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=20127
BUG=13568
TEST=Opens a web page, stalled event should be fire only if network
is actuall stalled.
What this patch does:
1. Report Loading / Idle according to whether we are actively
receiving data in the BuffereResourceLoader. This is done by
signaling the network events to BufferedDataSource and then
to the media playback pipeline.
2. Report byteLoaded() as the last byte position buffered. This
will enable an actual ticking progress for the progress event.
With this value actually ticking, stalled event is suppressed.
Review URL: http://codereview.chromium.org/269002
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@29235 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Get rid of the use of std::vector.
Review URL: http://codereview.chromium.org/259053
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@28616 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is still a bit hacky. We need to avoid doing the double copy of
the bits by making the skia::PlatformCanvas take in a CGContext and use
that as its backing store.
BUG=19536
TEST=watched at video with it :)
Review URL: http://codereview.chromium.org/208039
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@26683 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
API change and related changes to support multiple buffered time ranges.
This change doesn't change any behavior.
BUG=21305
TEST=Open a video or audio file, you see the full bar of buffered ranges.
Review URL: http://codereview.chromium.org/199037
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@25932 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Another instance of HTMLMediaElement becoming out of sync with WebMediaPlayerImpl. Most of these bugs are a result of HTMLMediaElement re-creating WebMediaPlayerImpl whenever src changes but not completely resetting internal state, causing inconsistent behaviour.
BUG=16768,20152
TEST=change src and call load(), wait until the end of the clip -- ended should fire
Review URL: http://codereview.chromium.org/173388
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24331 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
events.
HTMLMediaElement keeps track of network/ready state separately. When re-using an element by setting the src and calling load(), HTMLMediaElement's network/ready states became out of sync with the actual values inside WebMediaPlayerImpl. This led to the second media never firing 'loadedmetadata' and other events.
BUG=16768,20152
TEST=change src of an audio/video, call load(), should see durationchange and loadedmetadata events
Review URL: http://codereview.chromium.org/174385
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24251 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For network state, make it return "loading" for everything that's not a file source since our cache does not yet reliably support caching the full media w/o need for a network.
For ready state, correctly handle seeks to drop from HaveEnoughData down to HaveMetaData until the seek completes. Also implement the seeking() function.
BUG=18975
TEST=none
Review URL: http://codereview.chromium.org/165432
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24036 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
| |
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24004 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For network state, make it return "loading" for everything that's not a file source since our cache does not yet reliably support caching the full media w/o need for a network.
For ready state, correctly handle seeks to drop from HaveEnoughData down to HaveMetaData until the seek completes. Also implement the seeking() function.
BUG=18975
TEST=none
Review URL: http://codereview.chromium.org/165432
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@24002 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change removes the code that previously existed to render HTML5 video on Mac. That code was already broken (video doesn't work at all on tip-of-tree), and so instead of trying to translate broken code, I just removed it. Andrew approved this.
R=amanda,scherkus
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/174022
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23742 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
tracks.
There is a WebKit side to this patch out for review as well:
https://bugs.webkit.org/show_bug.cgi?id=28310
BUG=18970
TEST=play a video without audio (i.e., trek0.ogv), the UI should display a disabled audio icon
Review URL: http://codereview.chromium.org/171091
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23671 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=19521
TEST=Go to http://htmlfive.appspot.com/static/video.html and it will play.
r23255 introduced a regression that causes an extra seek in the
beginning of playing a video file. This extra seek causes FFmpeg
to look for index at the end of file which issue a range request
at the end of the file.
Review URL: http://codereview.chromium.org/171084
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23598 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=18970
TEST=play a video with no audio hardware, verify that UI changes
Review URL: http://codereview.chromium.org/169010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23491 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=18969,18970
TEST=none
Review URL: http://codereview.chromium.org/164356
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23415 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A new method HasEnded() was added to renderer interfaces. Renderers return true when they have both received and rendered an end-of-stream buffer. For audio this translates to sending the very last buffer to the hardware. For video this translates to displaying a black frame after the very last frame has been displayed.
Renderers can notify the pipeline that the value of HasEnded() has changed to true via FilterHost::NotifyEnded(). Instead of tracking which renderers have called NotifyEnded(), the pipeline uses the notification to poll every renderer. The ended callback will only be executed once every renderer returns true for HasEnded(). This has a nice benefit of being able to ignore extra NotifyEnded() calls if we already determine the pipeline has ended.
With the changes to WebMediaPlayerImpl, we should now properly support both the ended event and looping.
BUG=16768,17970,18433,18846
TEST=media_unittests, media layout tests, ended event, timeupdate should stop firing, looping should work, seeking after video ends
Review URL: http://codereview.chromium.org/164403
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23255 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
rendering issues (> 16x)
BUG=18362
TEST=none
Review URL: http://codereview.chromium.org/164032
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@23037 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=16738
TEST=run the media LayoutTests
Review URL: http://codereview.chromium.org/159669
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22125 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=16738
TEST=pipeline_impl_unittest.cc
Review URL: http://codereview.chromium.org/160298
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22075 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch will enable BufferedDataSource to support servers with
no range request support. It will start a probe request of 1 byte
size besides the regular request. If the server does not support
range request, we will turn on the is_streamed flag of FFmpeg and
will not do any seeking.
BUG=17628
TEST=test_shell_tests --gtest_filter=BufferedDataSource.*
Review URL: http://codereview.chromium.org/160076
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21999 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
happened."
TBR=kylep
Review URL: http://codereview.chromium.org/160287
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21885 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
BUG=16738
TEST=pipeline_impl_unittest.cc
Review URL: http://codereview.chromium.org/159373
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21877 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=17107
TEST=none
Review URL: http://codereview.chromium.org/155713
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21044 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=17107
TEST=none
Review URL: http://codereview.chromium.org/155711
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@21013 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
This code should enable the creation of a basic context menu for the Video and Audio tags. The actions for fullscreen, save screenshot, loop, and set playback rate are not yet implemented.
BUG=15686
TEST=None
Review URL: http://codereview.chromium.org/149604
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20931 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
WebMediaPlayerImpl::Proxy.
This forces clients to check Pipeline::GetError() instead of using a simple true/false check for success. Also the bool parameter wasn't being used for Seek() and Stop() callbacks, further hinting at its removal.
BUG=16009
TEST=media_unittests pass, layout tests pass
Review URL: http://codereview.chromium.org/149584
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20738 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
| |
BUG=16502
TEST=setting defaultPlaybackRate before the media starts playing should be respected when play() is called
Review URL: http://codereview.chromium.org/155404
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20652 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
Guess it was a flaky layout test.
TBR=hclam
Review URL: http://codereview.chromium.org/155400
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20444 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
I cannot repro the layout test failures, seeing if this helps.
TBR=hclam
BUG=none
TEST=none
Review URL: http://codereview.chromium.org/155396
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20439 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
For now both the player and WebMediaPlayerImpl create a thread and inject its message loop into the pipeline. The end result is more-or-less the same as what we have today, but we could end up moving the pipeline onto the render thread.
BUG=16008
TEST=layout tests, media_unittests should pass
Review URL: http://codereview.chromium.org/155338
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20417 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
| |
WebMediaPlayerImpl interacts with multiple threads that it
becomes necessary to make it refcounted so we can post task
on different threads' message loop.
Review URL: http://codereview.chromium.org/147225
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20038 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
| |
<video>
Extract the code to create a ResourceLoaderBridge to a factory class
to enable testing on the data source filters.
Review URL: http://codereview.chromium.org/146007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@19262 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
BUG=13907
This patch resolve failures for:
LayoutTests/media/video-src-plus-source.html
LayoutTests/media/video-src-invalid-remove.html
LayoutTests/media/video-load-networkState.html
Review URL: http://codereview.chromium.org/125226
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18632 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
This isn't a great solution, but it kinda works. Video renders, and the speed is acceptable even though we're doing an extra copy for each frame. The image shows up upside-down though. :(
Review URL: http://codereview.chromium.org/126087
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18503 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a work in progress draft.
Summary of changes:
1. Moved code shared by chrome and test_shell to webkie/glue:
WebMediaPlayerImpl
SimpleDataSource
VideoRendererImpl
2. Since WebMediaPlayerImpl is shared, chrome specific renderers
are enabled by passing the FilterFactoryCollection into
WebMediaPlayerImpl, this is done in RenderView. And
WebMediaPlayerImpl provides some default renderer filters,
which are used by the test shell and also chrome.
Review URL: http://codereview.chromium.org/119229
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@18182 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
|
|
|
|
| |
Highlights:
1. WebCore::MediaPlayerPrivate now only has one static method that constructs WebMediaPlayerClient
2. Implementation of WebCore::MediaPlayerPrivateInterface now is WebMediaPlayerClient
3. WebMediaPlayerClient does the delgation to WebMediaPlayer
4. Implemtnation of real media player will go into chrome/renderer and implements WebMediaPlayer
Review URL: http://codereview.chromium.org/105007
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15492 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
merge since r41907 (http://trac.webkit.org/changeset/41907).Changes include change names of state enums and adding method tosupport added state change event in WebCore::MediaPlayer.
Review URL: http://codereview.chromium.org/56038
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12917 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Changed WebMediaPlayerDelegateImpl to contains a PipelineImpl object rather keeping a pointer to Pipeline interface. Also added code for task coordination between pipeline thread and main thread.
Review URL: http://codereview.chromium.org/19481
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@9069 0039d316-1c4b-4281-b951-d872f2087c98
|
|
|
|
|
|
|
|
| |
Added glue code to ResourceHandle for WebMediaPlayerDelegate.
Review URL: http://codereview.chromium.org/18282
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8246 0039d316-1c4b-4281-b951-d872f2087c98
|
|
- Remove MediaPlayerPrivateChromium.cpp and move it to webkit/glue/media_player_private_impl.cc
- Added the following classes:
WebMediaPlayer
WebMediaPlayerImpl
WebMediaPlayerDelegate
WebMediaPlayerDelegateImpl
TestWebMediaPlayerDelegate
VideoStackMediaPlayer (Just a forward declaration)
- One include fix for webkit/glue/webframe.h
- Overview of what each class is doing:
WebMediaPlayer and WebMediaPlayerImpl
Wrapper over the MediaPlayerPrivate, it provides methods like Repaint(), NotifyNetworkStateChange(), etc to VideoStackMediaPlayer. It also creates the ResourceHandle for VideoStackMediaPlayer for resource loading, or maybe VideoStackMediaPlayer can simply use webkit_glue::ResourceDispatcher?
WebMediaPlayerDelegate, WebMediaPlayerDelegateImpl
Delegate calls from webkit to the internal media player.
MediaPlayerPrivate
Forward calls to WebMidiaPlayerDelegate, creates WebMediaPlayerDelegate and WebMediaPlayer in the constructor. Expose some public methods to WebMediaPlayer so we can actually do repaint and notification of changes.
Review URL: http://codereview.chromium.org/13762
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@7256 0039d316-1c4b-4281-b951-d872f2087c98
|