summaryrefslogtreecommitdiffstats
path: root/webkit/media/buffered_data_source.h
Commit message (Collapse)AuthorAgeFilesLines
* RefCounted types should not have public destructors, webkit/rsleevi@chromium.org2012-04-281-2/+2
| | | | | | | | | | BUG=123295 TEST=none Review URL: http://codereview.chromium.org/10066044 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134449 0039d316-1c4b-4281-b951-d872f2087c98
* De-craxify BufferedDataSource::ChooseDeferStrategy.fischman@chromium.org2012-04-261-8/+0
| | | | | | | | | | BUG=123076 TEST=covered by existing unittests Review URL: http://codereview.chromium.org/10173032 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@134039 0039d316-1c4b-4281-b951-d872f2087c98
* Replace BufferedResourceLoader's usage of net error codes with a simpler set ↵scherkus@chromium.org2012-04-111-8/+8
| | | | | | | | | | of status codes. BUG=110120 Review URL: https://chromiumcodereview.appspot.com/10032017 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@131824 0039d316-1c4b-4281-b951-d872f2087c98
* Move DataSource::SetPreload() to BufferedDataSource.scherkus@chromium.org2012-03-311-5/+5
| | | | | | | | | | Preload is a concept that only applies to HTML media elements and is only implemented by BufferedDataSource. Since the preload value is known when BufferedDataSource is created by WebMediaPlayerImpl, we can remove a lot of unnecessary plumbing in the media code. TEST=amount of data buffered (either visible on controls or via buffered attribute) is the same for each preload value (none, metadata, and auto). http://mastodon.sea/demos/preload contains a test page. Review URL: https://chromiumcodereview.appspot.com/9864022 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@130004 0039d316-1c4b-4281-b951-d872f2087c98
* Fold WebDataSource into BufferedDataSource.scherkus@chromium.org2012-03-271-9/+29
| | | | | | | | With the removal of SimpleDataSource in r127309 we no longer require multiple implementations of WebDataSource. Review URL: https://chromiumcodereview.appspot.com/9836102 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129192 0039d316-1c4b-4281-b951-d872f2087c98
* Replace size_t with int in a few media classes.scherkus@chromium.org2012-03-271-5/+2
| | | | | | | | This addressed TODOs in DataSource::Read() and AudioRendererAlgorithmBase, which led to converting Buffer and SeekableBuffer as well. Review URL: https://chromiumcodereview.appspot.com/9854031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129140 0039d316-1c4b-4281-b951-d872f2087c98
* Reduce unnecessary network connections.fischman@chromium.org2012-03-151-4/+0
| | | | | | | | | | | | | | | | Two different scenarios are fixed by this: a) When Range:0- receives a 200 request, don't make a new connection asking for the same data without the Range:0- request heaeder (bug 104783). b) When a 4xx or malformed HTTP response is received on a Range:0- request, don't re-attempt the request without the Range header (bug 105230). BUG=104783,105230 TEST=awesome scherkus@ tests now pass w/ the extra expectations removed. Review URL: http://codereview.chromium.org/9699035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@126970 0039d316-1c4b-4281-b951-d872f2087c98
* Rename StatisticsCallback to StatisticsCB and DataSource::ReadCallback to ↵xhwang@chromium.org2012-03-101-2/+2
| | | | | | | | | | | | | | | 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
* Clean up callback variable names and comments inside ↵scherkus@chromium.org2012-02-111-6/+6
| | | | | | | | BufferedDataSource/BufferedResourceLoader. Review URL: http://codereview.chromium.org/9383020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@121604 0039d316-1c4b-4281-b951-d872f2087c98
* Fold InitializeTask() into Initialize() as the method is called on the ↵scherkus@chromium.org2012-01-191-4/+0
| | | | | | | | | | | | | | render thread. Since BufferedDataSource and SimpleDataSource are created and initialized on the render thread there's no need to post a task. Doing so results in some very nice video startup latency reductions as we now initiate the HTTP request as soon as we have the URL. On sites with heavy render thread traffic (i.e., lots of upfront JS processing, starting up GPU process) I measured ~50-150ms start up latency reduction on release builds. BUG=107324 Review URL: https://chromiumcodereview.appspot.com/9192030 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@118386 0039d316-1c4b-4281-b951-d872f2087c98
* Replace DataSourceFactory with explicitly initialized DataSources.scherkus@chromium.org2012-01-191-11/+3
| | | | | | | | | 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
* Removing DataSource from Filter hierarchy and refactoring FilterHost into ↵acolwell@chromium.org2011-12-161-5/+4
| | | | | | | | | | | | | | DemuxerHost & DataSourceHost. Over the last year, several refactorings have caused DataSource to have almost nothing in common with the Filter interface. This change removes it from the Filter class hierarchy and splits up the FilterHost interface so that DataSource, Demuxer, and Filter have their own host interfaces. Splitting FilterHost improves encapsulation and makes it easier to reason about which host methods are required by different parts of the code. BUG= TEST=media_unittests Review URL: http://codereview.chromium.org/8936014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114819 0039d316-1c4b-4281-b951-d872f2087c98
* Remove reference counting from BufferedResourceLoader.scherkus@chromium.org2011-12-141-1/+1
| | | | | | | | Reference counting was originally added in r23274 when we were still using ResourceLoaderBridge for URL loading. After switching to WebURLLoader in r69429 it turns out we don't need reference counting anymore. Review URL: http://codereview.chromium.org/8775062 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@114321 0039d316-1c4b-4281-b951-d872f2087c98
* Fire CanPlayThrough immediately for local and streaming media filesvrk@google.com2011-12-011-3/+0
| | | | | | | | | | | | | | | | | | Changes DownloadRateMonitor logic to know to immediately fire CanPlayThrough for media files with local sources, including local webcam streams. Renamed the concept of "loaded" source to "local" source in the media pipeline for clarity. Also updated the DownloadRateMonitor logic slightly to lean toward optimism in firing CanPlayThrough, including firing the event immediately for streaming media. BUG=105163 TEST=media_unittests,test_shell_tests, wjia's media stream test page works Review URL: http://codereview.chromium.org/8661002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112560 0039d316-1c4b-4281-b951-d872f2087c98
* Rewrite BufferedDataSource tests to use real BufferedResourceLoader objects.scherkus@chromium.org2011-11-291-1/+1
| | | | | | | | | | The new tests expose the very real memory leak described in bug 100914. The fix for the leak is non trivial and will be addressed in a follow up patch. BUG=100914 Review URL: http://codereview.chromium.org/8649002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@112043 0039d316-1c4b-4281-b951-d872f2087c98
* Moving media-related files from webkit/glue/ to webkit/media/.scherkus@chromium.org2011-11-171-0/+235
Files under webkit/media/ are now under their very own webkit_media namespace. Review URL: http://codereview.chromium.org/8570010 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@110438 0039d316-1c4b-4281-b951-d872f2087c98