summaryrefslogtreecommitdiffstats
path: root/webkit/glue/webmediaplayer_impl.h
Commit message (Collapse)AuthorAgeFilesLines
* Eliminate skia::PlatformCanvas, a subclass of SkCanvas. Skia provides ↵alokp@chromium.org2011-04-081-1/+1
| | | | | | | | | | | | | | | | multiple types of SkCanvas classes that we would like to use. Unfortunately these classes are implemented as subclasses of SkCanvas. Subclassing SkCanvas in both Skia and Chromium makes it impossible to dynamically use any SkCanvas. There is also no reason for chromium to subclass SkCanvas. Most of the extra functionalities can be implemented by hanging meta-data from SkCanvas. We cannot eliminate skia::PlatformCanvas in one step due to WebKit's dependency on skia::PlatformCanvas. WebKit::WebCanvas is typedef as skia::PlatformDevice. It should be SkCanvas. So we need to do it in multiple steps: 1. Prepare Chromium tree for the change in WebKit::WebCanvas tyepdef. This basically means adding a couple of static_cast<skia::PlatformCanvas>(WebCanvas). 2. Change WebKit::WebCanvas typedef from skia::PlatformCanvas to SkCanvas 3. Eliminate skia::PlatformCanvas in chromium This CL accomplishes the first step on windows. WebKit BUG=https://bugs.webkit.org/show_bug.cgi?id=57563 Review URL: http://codereview.chromium.org/6783023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80955 0039d316-1c4b-4281-b951-d872f2087c98
* Implementing preload=metadata for videovrk@google.com2011-04-051-1/+1
| | | | | | | | | | | | | This patch implements the logic necessary to respect the preload attribute when it is set to MetaData. This also refactors the BufferedResourceLoader to determine its buffering techniques based on a DeferStrategy value. BUG=16482,76555 TEST=media/video-preload.html, test_shell_tests Review URL: http://codereview.chromium.org/6625059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@80465 0039d316-1c4b-4281-b951-d872f2087c98
* Move some files from base to base/memory.levin@chromium.org2011-03-281-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | raw_scoped_refptr_mismatch_checker.h ref_counted.cc ref_counted.h ref_counted_memory.cc ref_counted_memory.h ref_counted_unittest.cc scoped_callback_factory.h scoped_comptr_win.h scoped_handle.h scoped_native_library.cc scoped_native_library.h scoped_native_library_unittest.cc scoped_nsobject.h scoped_open_process.h scoped_ptr.h scoped_ptr_unittest.cc scoped_temp_dir.cc scoped_temp_dir.h scoped_temp_dir_unittest.cc scoped_vector.h singleton.h singleton_objc.h singleton_unittest.cc linked_ptr.h linked_ptr_unittest.cc weak_ptr.cc weak_ptr.h weak_ptr_unittest.cc BUG=None TEST=Compile Review URL: http://codereview.chromium.org/6714032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@79524 0039d316-1c4b-4281-b951-d872f2087c98
* Use PipelineStatusNotification instead of a condvar for pipeline stopping.fischman@chromium.org2011-03-171-7/+0
| | | | | | | | | BUG=none TEST={,http/tests/}media layouttests pass. Review URL: http://codereview.chromium.org/6688014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78611 0039d316-1c4b-4281-b951-d872f2087c98
* PipelineError is dead. Long live PipelineStatus!fischman@chromium.org2011-03-161-17/+18
| | | | | | | | | | | | | | | | | | | | PipelineError was a poor naming choice because most of the time variables of that type held the value PIPELINE_OK meaning there was in fact no error. Replaced the idiom of [0-ary callback + GetError()] with [1-ary callback taking PipelineStatus argument] which makes the Pipeline API cleaner and less error-prone. Before, consumers of the API had to make sure to call GetError() at the top of each callback, or risk missing state transitions in the pipeline. Now each callback gets an explicit parameter holding the pipeline status at the moment the callback was invoked so failing to handle error conditions should be more apparent in the code. BUG=none TEST=media_unittests + trybots: {mac,linux,win}{_layout,}, linux_rel, linux_clang (all pass or fail with unrelated errors) Review URL: http://codereview.chromium.org/6686061 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78379 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring code to use factories to create DataSource objects.acolwell@chromium.org2011-03-141-3/+7
| | | | | | | | | BUG=72485 TEST=None for now. Existing unit tests cover this code. Review URL: http://codereview.chromium.org/6480050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@78033 0039d316-1c4b-4281-b951-d872f2087c98
* Rename media statistics APIs to match webkit renaming.sjl@chromium.org2011-02-251-4/+4
| | | | | | | | | | | Also, set expectations for statistics callback mock in unittests the lack of which caused "uninteresting calls" turds in the mock output. This mock was introduced in the original patch for media statistics (http://codereview.chromium.org/6246091/). BUG=71255, 73464 TEST=media_unittests Review URL: http://codereview.chromium.org/6549030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@76092 0039d316-1c4b-4281-b951-d872f2087c98
* Allow WebMediaPlayerImpl to handle multiple DataSources.acolwell@chromium.org2011-02-161-3/+7
| | | | | | | | | BUG=72485 TEST=none Review URL: http://codereview.chromium.org/6490009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75072 0039d316-1c4b-4281-b951-d872f2087c98
* Implement webkit media metrics in chromium.scherkus@chromium.org2011-02-161-0/+5
| | | | | | | | | | | | | | | This implements the chromium side of the webkit media statistics feature. A followup cl (in webkit) will wire the two sides together. Patch by sjl@chromium.org: http://codereview.chromium.org/6246091/ BUG=71255 TEST=media_unittests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@75050 0039d316-1c4b-4281-b951-d872f2087c98
* Change includes of gfx/* to ui/gfx/*sail@chromium.org2011-02-051-2/+2
| | | | | | | | | BUG=71063 TEST=compiled Review URL: http://codereview.chromium.org/6312156 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@73890 0039d316-1c4b-4281-b951-d872f2087c98
* Remove obsolete base/lock.h and fix up callers to use the new header file andbrettw@chromium.org2011-01-211-2/+2
| | | | | | | | | | | the base namespace. Fix several files including lock.h unnecessarily. BUG=none TEST=none Original review=http://codereview.chromium.org/6142009/ Patch by leviw@chromium.org git-svn-id: svn://svn.chromium.org/chrome/trunk/src@72106 0039d316-1c4b-4281-b951-d872f2087c98
* Roll WebKit DEPS past WebKit move. Update gyp files and include paths to ↵abarth@chromium.org2011-01-171-2/+2
| | | | | | reflect the move. Consolidate how we DEPS in WebKit source files. Cross fingers. git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71586 0039d316-1c4b-4281-b951-d872f2087c98
* Remove MessageLoop methods from Filter interface toacolwell@chromium.org2011-01-151-2/+5
| | | | | | | | | | | | | | separate Filter management from MessageLoop management. This sets the stage for filters to share threads in the future which will reduce resource consumption when multiple <video> tags are on the same page. BUG=69451 TEST=None Review URL: http://codereview.chromium.org/6171009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@71548 0039d316-1c4b-4281-b951-d872f2087c98
* Move CancellationFlag and WaitableEvent to the synchronization subdirectory.brettw@chromium.org2011-01-021-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/5977010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70369 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/thread.h to base/threading, fix up callers to use the new location.brettw@chromium.org2011-01-011-1/+1
| | | | | | | | TEST=it compiles BUG=none Review URL: http://codereview.chromium.org/6028009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@70345 0039d316-1c4b-4281-b951-d872f2087c98
* Fix black video frames when seeking (which also fixes flashing poster issue).scherkus@chromium.org2010-12-221-0/+1
| | | | | | | | | | | | | | | Keep track of the last available video frame in VideoRendererBase. Don't drop our readystate when starting to seek as we do actually have something to display (this fixes the poster issue). Patch by sjl@chromium.org: http://codereview.chromium.org/5878007/ BUG=57173, 50581 TEST=media_unittests, test_shell_tests, media layout tests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69956 0039d316-1c4b-4281-b951-d872f2087c98
* Even more virtual method deinlining.erg@google.com2010-12-131-6/+2
| | | | | | | | | BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5741001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@69041 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring BufferedDataSource to work with WebURLLoader instead of a ↵scherkus@chromium.org2010-12-061-2/+5
| | | | | | | | | | | | | | | | | | | MediaResourceLoaderBridge. Attempt #2 after fixing some race conditions between Initialize() and Abort() (see r68363). One thing to notice is that both buffered_data_source_unittest and simple_data_source_unittest need to have a way to inject a MockWebURLLoader into the BufferedResourceLoader and the SimpleDataSource. In order to make sure a new one is not created during a Start(), I introduced the function SetURLLoaderForTest and keep_test_loader flag. Patch by annacc@chromium.org: http://codereview.chromium.org/3863002/ BUG=16751 TEST=src/xcodebuild/Debug/test_shell_tests --gtest_filter=Buffered* src/xcodebuild/Debug/test_shell_tests --gtest_filter=Simple* src/webkit/tools/layout_tests/run_webkit_tests.sh --debug media webkit/tools/layout_tests/run_webkit_tests.sh --debug http/tests/media git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68378 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 68094 - Refactoring BufferedDataSource to work with WebURLLoader ↵scherkus@chromium.org2010-12-031-5/+2
| | | | | | | | | | | | | | | | | | | | instead of a MediaResourceLoaderBridge. One thing to notice is that both buffered_data_source_unittest and simple_data_source_unittest need to have a way to inject a MockWebURLLoader into the BufferedResourceLoader and the SimpleDataSource. In order to make sure a new one is not created during a Start(), I introduced the function SetURLLoaderForTest and keep_test_loader flag. Patch by annacc@chromium.org: http://codereview.chromium.org/3863002/ BUG=16751 TEST=src/xcodebuild/Debug/test_shell_tests --gtest_filter=Buffered* src/xcodebuild/Debug/test_shell_tests --gtest_filter=Simple* src/webkit/tools/layout_tests/run_webkit_tests.sh --debug media webkit/tools/layout_tests/run_webkit_tests.sh --debug http/tests/media TBR=scherkus@chromium.org Review URL: http://codereview.chromium.org/5619002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68126 0039d316-1c4b-4281-b951-d872f2087c98
* Rename MediaFilter and MediaFilterCollection to Filter and FilterCollection, ↵scherkus@chromium.org2010-12-031-4/+4
| | | | | | | | | | | respectively. BUG=none TEST=compiles Review URL: http://codereview.chromium.org/5527003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68115 0039d316-1c4b-4281-b951-d872f2087c98
* Refactoring BufferedDataSource to work with WebURLLoader instead of a ↵scherkus@chromium.org2010-12-021-2/+5
| | | | | | | | | | | | | | | | | MediaResourceLoaderBridge. One thing to notice is that both buffered_data_source_unittest and simple_data_source_unittest need to have a way to inject a MockWebURLLoader into the BufferedResourceLoader and the SimpleDataSource. In order to make sure a new one is not created during a Start(), I introduced the function SetURLLoaderForTest and keep_test_loader flag. Patch by annacc@chromium.org: http://codereview.chromium.org/3863002/ BUG=16751 TEST=src/xcodebuild/Debug/test_shell_tests --gtest_filter=Buffered* src/xcodebuild/Debug/test_shell_tests --gtest_filter=Simple* src/webkit/tools/layout_tests/run_webkit_tests.sh --debug media webkit/tools/layout_tests/run_webkit_tests.sh --debug http/tests/media git-svn-id: svn://svn.chromium.org/chrome/trunk/src@68094 0039d316-1c4b-4281-b951-d872f2087c98
* Stopgap fix for crash in issue 53867 comment 15thakis@chromium.org2010-12-011-5/+9
| | | | | | | | | | | | | gwtquake lets the renderer create > 300 threads (one per audio element?), and eventually thread creation fails. This CL makes the media code more robust against thread creation failure (currently, it just crashes the renderer). The Real Fix probably is to have a thread pool for media stuff instead of one thread per media object. And maybe threads just leak under some circumstances. I will file a follow-up bug for that case, hopefully with a reduced test case. BUG=53867,61293 TEST=Completing the first level in gwtquake shouldn't crash the renderer. Review URL: http://codereview.chromium.org/5362003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@67824 0039d316-1c4b-4281-b951-d872f2087c98
* Refactor Pipeline & PipelineImpl so WebMediaPlayerImpl references a Pipeline ↵acolwell@chromium.org2010-11-111-2/+3
| | | | | | | | | | | instead of PipelineImpl BUG=54110 TEST=PipelineImplTest Review URL: http://codereview.chromium.org/4664005 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@65817 0039d316-1c4b-4281-b951-d872f2087c98
* Move MediaFilterCollection code into a class.scherkus@chromium.org2010-11-031-2/+2
| | | | | | | | | | | | | Refactored FilterType usage a bit to remove the need to manually associate FilterType values to filter base classes. Patch by acolwell@chromium.org: http://codereview.chromium.org/4176006/show BUG=60778 TEST=media_unittests git-svn-id: svn://svn.chromium.org/chrome/trunk/src@64885 0039d316-1c4b-4281-b951-d872f2087c98
* Add HasSingleOrigin() to WebDataSource.scherkus@chromium.org2010-10-261-4/+4
| | | | | | | | | BUG=25432, 55745 TEST=test_shell_tests and layout tests Review URL: http://codereview.chromium.org/3984002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63845 0039d316-1c4b-4281-b951-d872f2087c98
* Terminate FilterFactory and his nasty friendshclam@chromium.org2010-10-231-42/+13
| | | | | | | | | | | | | FilterFactory, IsMediaFormatSupported and CreateFactory are the source of evil. They also have have a gang of template functions. This patch terminate them all and make the world a better place. BUG=28207 TEST=<video> runs Review URL: http://codereview.chromium.org/3878001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63609 0039d316-1c4b-4281-b951-d872f2087c98
* Adding Abort() to DataSource to wake up hanging Read()vrk@google.com2010-10-221-0/+7
| | | | | | | | | | | | | | | This change adds an Abort() method to BufferedDataSource, which will wake up a blocking read if one exists. When WebMediaPlayerImpl being destroyed, it now tells BufferedDataSource to abort before it tells the pipeline to stop, so the pipeline will not hang while waiting for a never-ending Read() to return. BUG=54465 TEST=test_shell_tests Review URL: http://codereview.chromium.org/4009002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@63548 0039d316-1c4b-4281-b951-d872f2087c98
* Adding way to pass video frames between Chromium and WebKitvrk@google.com2010-08-311-0/+5
| | | | | | | | | | | | | This patch adds an implementation of the WebVideoFrame interface defined in WebKit, and it adds behavior to WebMediaPlayerImpl to pass video frame data between WebKit and Chromium. BUG=none TEST=none Review URL: http://codereview.chromium.org/3155050 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@58022 0039d316-1c4b-4281-b951-d872f2087c98
* FBTF: Remove unnecessary STL #includes from src/webkit.viettrungluu@chromium.org2010-08-191-2/+0
| | | | | | | | | BUG=none TEST=builds Review URL: http://codereview.chromium.org/3122029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@56655 0039d316-1c4b-4281-b951-d872f2087c98
* Attempt four at landing the "histogram.h removed from message_loop.h" patch.erg@chromium.org2010-07-151-0/+1
| | | | | | | | | | | | | | Previously committed as r52349 and r52336. Related commits: r52367, r52364 and r52343. Rerunning trybots due to previous trybot breakage. TEST=none BUG=none Review URL: http://codereview.chromium.org/2965015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52496 0039d316-1c4b-4281-b951-d872f2087c98
* Revert everything related to the relanding.erg@chromium.org2010-07-141-1/+0
| | | | | | Review URL: http://codereview.chromium.org/2982009 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52367 0039d316-1c4b-4281-b951-d872f2087c98
* Reland r52336.erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | | (I accidentally committed a previous version of the patch (the fixed version was in codereview since I had switched to my mac to address this exact compile failure.) BUG=none TEST=none TBR=evan Review URL: http://codereview.chromium.org/2937010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52349 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 52336 - More header cleanup:erg@chromium.org2010-07-141-1/+0
| | | | | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 TBR=erg@chromium.org Review URL: http://codereview.chromium.org/2969006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52343 0039d316-1c4b-4281-b951-d872f2087c98
* More header cleanup:erg@chromium.org2010-07-141-0/+1
| | | | | | | | | | | | | - Some cleanup to url_request.h - Remove task.h from headers that don't need it. - Remove histogram.h from message_loop.h BUG=none TEST=none Review URL: http://codereview.chromium.org/2986002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52336 0039d316-1c4b-4281-b951-d872f2087c98
* This is the last part of changing the buffered() function prototype: getting ↵vrk@google.com2010-06-301-4/+0
| | | | | | | | | | | rid of the old, unused buffered() const prototype. BUG=none TEST=media_unittests Review URL: http://codereview.chromium.org/2858022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@51269 0039d316-1c4b-4281-b951-d872f2087c98
* Make MediaFilter::Stop() asynchronous.boliu@chromium.org2010-06-111-0/+8
| | | | | | | | | | | | | | This is the second issue regarding making Stop() asynchronous. All Stop() in subclasses of MediaFilter is made to accept a callback and runs the callback at the end of its stop. BUG=16059 TEST=media_unittest, unit_tests, test_shell_tests still passes Review URL: http://codereview.chromium.org/2541003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@49548 0039d316-1c4b-4281-b951-d872f2087c98
* Reporting a more accurate buffered time for the video taghclam@chromium.org2010-05-251-0/+4
| | | | | | | | | | | | | Instead of showing that the entire file is buffered when the video first loads, this uses current time, current bytes, and buffered bytes to estimate buffered time. Reviewed: http://codereview.chromium.org/2085012/ Submitted for: vrk@chromium.org BUG=42285 TEST=NONE Review URL: http://codereview.chromium.org/2192001 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@48199 0039d316-1c4b-4281-b951-d872f2087c98
* Move base/gfx contents to gfx/ben@chromium.org2010-03-141-2/+2
| | | | | | | | | TBR=darin BUG=none TEST=none git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41559 0039d316-1c4b-4281-b951-d872f2087c98
* More dependency breaking. webkit shouldn't depend on chrome or ipc.tony@chromium.org2010-03-101-1/+0
| | | | | | | | The GPU code will still cause problems, but this is a step in the right direction. Review URL: http://codereview.chromium.org/707002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@41115 0039d316-1c4b-4281-b951-d872f2087c98
* Initial work for cross-process video rendering using layers.scherkus@chromium.org2010-02-261-11/+43
| | | | | | | | | | | Introduces VideoLayer, which is similar to BackingStore except handles YUV surfaces and conversion to RGB. BUG=33329 TEST=N/A Review URL: http://codereview.chromium.org/597066 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@40137 0039d316-1c4b-4281-b951-d872f2087c98
* Upstreaming WebKit.gypyaar@chromium.org2009-11-121-2/+2
| | | | | | | | | | | | This mega patch contains a few simple but tightly dependent changes: 1. Deletion of webkit/api/WebKit.gyp. The file now lives in webkit.org. 2. Rename of webkit/webkit.gyp to webkit/webkit_glue.gyp. Having two webkit.gyp was a source of developer confusion. 3. Gyp dependencies are updated across chromium to point at the upstream WebKit.gyp and the renamed webkit_glue.gyp. 4. Some 200+ files include paths fixed to point to third_party/WebKit/WebKit/chromium instead of webkit/api. The later will be deleted in a subsequent patch. Review URL: http://codereview.chromium.org/387020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31749 0039d316-1c4b-4281-b951-d872f2087c98
* Third patch in making destructors of refcounted objects private.jam@chromium.org2009-11-051-1/+4
| | | | | | | BUG=26749 Review URL: http://codereview.chromium.org/363023 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@31169 0039d316-1c4b-4281-b951-d872f2087c98
* Use a saved copy of the time when pausing media elements.scherkus@chromium.org2009-10-231-0/+7
| | | | | | | | | | | | | | 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
* Report stalled event correctly for <video>hclam@chromium.org2009-10-161-0/+6
| | | | | | | | | | | | | | | | | | | | | 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
* Reimplement video painting for mac using CGContext.ajwong@chromium.org2009-09-211-0/+4
| | | | | | | | | | | | | 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
* Buffered time ranges for <video>hclam@chromium.org2009-09-101-1/+4
| | | | | | | | | | | | 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
* Finished implementation of hasAudio() to detect media without playback audio ↵scherkus@chromium.org2009-08-181-1/+1
| | | | | | | | | | | | | | 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
* Framework to display disabled mute button when audio fails.kylep@chromium.org2009-08-141-0/+1
| | | | | | | | 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
* Implemented end-of-stream callback for media::PipelineImpl.scherkus@chromium.org2009-08-121-0/+6
| | | | | | | | | | | | | | | 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
* Pipeline will execute a callback whenever an run-time error has happened.kylep@chromium.org2009-07-301-0/+6
| | | | | | | | 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