summaryrefslogtreecommitdiffstats
path: root/chrome/renderer/webmediaplayer_delegate_impl.cc
Commit message (Collapse)AuthorAgeFilesLines
* Refactor media player to move away from webkit_gluehclam@chromium.org2009-05-071-384/+0
| | | | | | | | | | | | 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
* Add --simple-data-source which uses simplified media resource loading.scherkus@chromium.org2009-05-061-9/+17
| | | | | | | | Comes in really handy for demo purposes and for testing playback performance with buffering and range requests removed from the equation. Review URL: http://codereview.chromium.org/109049 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15354 0039d316-1c4b-4281-b951-d872f2087c98
* Revert "Enable video in posix builds and remove unneeded ifdefs to guard ↵ajwong@chromium.org2009-05-011-0/+6
| | | | | | | | | | | | windows." This reverts commit 9c23aa9006918e7091742e1826181db081a16a65. TBR=evan Review URL: http://codereview.chromium.org/101020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15121 0039d316-1c4b-4281-b951-d872f2087c98
* Enable video in posix builds and remove unneeded ifdefs to guard windows.ajwong@chromium.org2009-05-011-6/+0
| | | | | | | | The code still crashes when trying to play a video, but this will allow debugging. Review URL: http://codereview.chromium.org/100195 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@15117 0039d316-1c4b-4281-b951-d872f2087c98
* Buffered data source that does range request to provide data to media pipelinehclam@chromium.org2009-04-291-1/+2
| | | | | | | | | | | | The implementation of buffered data source that uses buffered resource loader to download a media object and does buffering. This implementation knows when to do defer loading and when to restarts the loading. The implementation uses one buffered resource loading for one data source and does no connection recovery. Review URL: http://codereview.chromium.org/88047 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14818 0039d316-1c4b-4281-b951-d872f2087c98
* Finished implementing seeking in WebMediaPlayerDelegateImpl.scherkus@chromium.org2009-04-291-4/+16
| | | | | | | | Turns out we need to add a few more things to the Pipeline interface for time update/seek completion callbacks, but for now this works pretty well. Review URL: http://codereview.chromium.org/100131 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14810 0039d316-1c4b-4281-b951-d872f2087c98
* Adds --no-audio, which replaces the audio IPC layer with a mock audio device.scherkus@chromium.org2009-04-271-5/+13
| | | | | | | | Useful for testing <audio> and <video> over remote desktop or on machines without sound cards. Should also let mac/linux playback videos without our audio layer being implemented on those platforms. Review URL: http://codereview.chromium.org/93132 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14637 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes bug in WebMediaPlayerDelegateImpl::Seek() where we (wrongly) assumed ↵scherkus@chromium.org2009-04-211-3/+3
| | | | | | | | | | time was in milliseconds. TBR=hclam Review URL: http://codereview.chromium.org/90009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14151 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor DataSourceImpl to get rid of using ReleaseRendererResource for cleanuphclam@chromium.org2009-04-171-26/+3
| | | | | | | | | | | | | The previous model of waiting in Stop() was extremely bad, it created a lot of deadlocks and made cleanup harder. What should be the correct way of doing cleanup is that DataSourceImpl should signal it has stopped so no more activity in other threads, post a task on render thread to do final cleanup on that thread, if render thread is dying then it's simply leaked and don't care. This refactoring helped cleanup some ugly pattern in cleaning up. Review URL: http://codereview.chromium.org/77008 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13984 0039d316-1c4b-4281-b951-d872f2087c98
* Handles audio messages on IO thread in render processhclam@chromium.org2009-04-161-14/+2
| | | | | | | | | | | | | | | | First step to have smoother audio playback. We previously performed audio messages handling on render thread, which gave us huge amount of latency, especially when renderer is busy compositing or is blocked by synchronous IPC call. A lot of these latencies are eliminated by moving audio messages handling to IO thread, this is the first step to see if sharing the regular IPC channel for audio messages is creating too much stress for the IPC channel. Also doubled the audio packet size to 8192 samples, ~194ms of audio for 16bit/44.1khz/2ch. Review URL: http://codereview.chromium.org/62125 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13863 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebPoint, WebRect, and WebSize in more of the gluedarin@chromium.org2009-04-091-4/+10
| | | | | | | | | | | | | | | | | layer interface. This will help when we move those interfaces into the WebKit API. This is a second attempt at r13381, which was already reviewed here: http://codereview.chromium.org/63126 The only change between that CL and this one is in render_view.h, where I needed to change a parameter type from gfx::Rect to WebRect. TBR=dglazkov Review URL: http://codereview.chromium.org/64005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13424 0039d316-1c4b-4281-b951-d872f2087c98
* Reverting dfisher changes 133386 and 13381cpu@google.com2009-04-081-10/+4
| | | | | | | | | | TBR=darin Review URL: http://codereview.chromium.org/58018 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13387 0039d316-1c4b-4281-b951-d872f2087c98
* Switch to using WebPoint, WebRect, and WebSize in more of the gluedarin@chromium.org2009-04-081-4/+10
| | | | | | | | | | | layer interface. This will help when we move those interfaces into the WebKit API. R=dglazkov Review URL: http://codereview.chromium.org/63126 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13381 0039d316-1c4b-4281-b951-d872f2087c98
* FFmpeg video decoder glue codehclam@chromium.org2009-04-021-0/+2
| | | | | | | | | | Implementation of FFmpeg to perform video decoding. Also added hooks to insert this FFmpeg video decoder filter. Review URL: http://codereview.chromium.org/60069 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@13056 0039d316-1c4b-4281-b951-d872f2087c98
* Re-enabling ENABLE_VIDEO since and made appropriate changes due toWebKit ↵hclam@chromium.org2009-03-311-4/+4
| | | | | | | | 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
* FFmpeg Audio decoder glue codehclam@chromium.org2009-03-301-0/+2
| | | | | | | | | | Implementation of FFmpegAudioDecoder which is the glue code providing access to ffmpeg decoder functions for the media pipeline. Review URL: http://codereview.chromium.org/56035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12800 0039d316-1c4b-4281-b951-d872f2087c98
* Fixed a lot threading issues during tear down of <video>hclam@chromium.org2009-03-271-21/+25
| | | | | | | | | | | | | | | | | Fixed a lot of dead locks during tead down of <video> due to DataSourceImpl. Most of the issues come from that during a tab close RenderThread is destroyed and new tasks posted on it will not executed, but DataSourceImpl is waiting for those tasks to finish to complete stopping. Another dead lock comes from that when RenderThread is destroyed the owner loop of it (a IO Message Loop) is being destroyed too and DataSourceImpl shouldn't post tasks to that message loop when stopping. Review URL: http://codereview.chromium.org/42675 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12720 0039d316-1c4b-4281-b951-d872f2087c98
* Uses FFmpeg in chrome/rendererhclam@chromium.org2009-03-191-0/+8
| | | | | | | | | | | - Have chrome/renderer to use FFmpeg - Added using_media.vsprops to all affected projects that depends on chrome/renderer. - Added lib path "$(OutDir)\lib" to essential.vsprops Review URL: http://codereview.chromium.org/48118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@12071 0039d316-1c4b-4281-b951-d872f2087c98
* Fix a bug in WebMediaPlayerDelegateImpl that stalls video playbackhclam@chromium.org2009-03-171-8/+8
| | | | | | | | | | NotifyWebMediaPlayerTask is not calling WebMediaPlayerDelegateImpl::DidTask so new tasks are never scheduled. Also Changed NotifyWebMediaPlayerTask a bit so it can call DidTask. Review URL: http://codereview.chromium.org/48093 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11918 0039d316-1c4b-4281-b951-d872f2087c98
* Revert tree bustage cause by r11904.hclam@chromium.org2009-03-171-7/+8
| | | | | | TBR=agl git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11906 0039d316-1c4b-4281-b951-d872f2087c98
* andrew's patchhclam@chromium.org2009-03-171-8/+7
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11904 0039d316-1c4b-4281-b951-d872f2087c98
* Load media resource with file handle for media playbackhclam@chromium.org2009-03-171-3/+20
| | | | | | | | | | | | | Used ResourceDispatcher to provide resource loading mechanism for media playback in DataSourceImpl. So now DataSourceImpl actually initialize the resource loading in browser process using ResourceDispatcher and IPCResourceLoaderBridge. DataSourceImpl will be using the file handle provided in resource response for reading and listen on OnDownloadProgress for download progress. Review URL: http://codereview.chromium.org/39159 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11820 0039d316-1c4b-4281-b951-d872f2087c98
* Implemented AudioRendererImpl in renderer process using APIhclam@chromium.org2009-03-101-4/+13
| | | | | | | | | | provided by RenderView for accessing audio device in the browser using IPC, subclassing from media::AudioRendererBase for buffer filling. Review URL: http://codereview.chromium.org/28081 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11392 0039d316-1c4b-4281-b951-d872f2087c98
* WebKit merge 41447:41498ericroman@google.com2009-03-071-2/+3
| | | | | | Review URL: http://codereview.chromium.org/39297 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@11210 0039d316-1c4b-4281-b951-d872f2087c98
* Fixes CRLF and trailing white spaces.maruel@chromium.org2009-03-051-3/+3
| | | | git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10982 0039d316-1c4b-4281-b951-d872f2087c98
* Implementation of data source for media playerhclam@chromium.org2009-02-241-2/+2
| | | | | | | | | | | | | | | | Implementation of DataSourceImpl for the media player pipeline in Chrome. DataSourceImpl delegates resource loading request to Chrome from the media pipeline. It also performs asynchronous file reading of the media file and coordinates the progress update of resource loading. This change completes the implementation of construction, initialization of data source, asynchronous file reading and coordinations of streaming progress updates between different threads. This change does not contains delegation of resource loading to RenderView and registration of a streaming resource client. Review URL: http://codereview.chromium.org/20375 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@10237 0039d316-1c4b-4281-b951-d872f2087c98
* Merged with latest media pipeline and cleaned up some style stuff.hclam@chromium.org2009-02-031-59/+265
| | | | | | | | 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
* Checking in stubbed out ChromeMediaPlayer filter implementations.scherkus@chromium.org2009-01-261-0/+12
| | | | | | Review URL: http://codereview.chromium.org/18538 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@8652 0039d316-1c4b-4281-b951-d872f2087c98
* Add resource loading glue code for WebMediaPlayerDelegatehclam@chromium.org2009-01-171-1/+24
| | | | | | | | 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
* Bridge out media player from MediaPlayerPrivate.hclam@chromium.org2008-12-181-0/+100
- 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