Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(599)

Unified Diff: webkit/glue/media/buffered_data_source.h

Issue 164361: Refcounting BufferedResourceLoader (Closed)
Patch Set: done Created 11 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « no previous file | webkit/glue/media/buffered_data_source.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: webkit/glue/media/buffered_data_source.h
diff --git a/webkit/glue/media/buffered_data_source.h b/webkit/glue/media/buffered_data_source.h
index ea6736b8cd8df12c80a55b7b170a8257abc0ab0d..f3282ccf3961d13571224152129b7321a7af297d 100644
--- a/webkit/glue/media/buffered_data_source.h
+++ b/webkit/glue/media/buffered_data_source.h
@@ -29,7 +29,9 @@ namespace webkit_glue {
// resource loader bridge and does the actual resource loading. This object
// does buffering internally, it defers the resource loading if buffer is
// full and un-defers the resource loading if it is under buffered.
-class BufferedResourceLoader : public webkit_glue::ResourceLoaderBridge::Peer {
+class BufferedResourceLoader :
+ public base::RefCountedThreadSafe<BufferedResourceLoader>,
+ public webkit_glue::ResourceLoaderBridge::Peer {
public:
// |bridge_factory| - Factory to create a ResourceLoaderBridge.
// |url| - URL for the resource to be loaded.
@@ -234,7 +236,7 @@ class BufferedDataSource : public media::DataSource {
// Reset |loader_| with |loader| and starts it. This task is posted from
// callback method from the current buffered resource loader.
- void SwapLoaderTask(BufferedResourceLoader* loader);
+ void SwapLoaderTask(scoped_refptr<BufferedResourceLoader> loader);
// This task monitors the current active read request. If the current read
// request has timed out, this task will destroy the current loader and
@@ -289,10 +291,10 @@ class BufferedDataSource : public media::DataSource {
scoped_ptr<webkit_glue::MediaResourceLoaderBridgeFactory> bridge_factory_;
// A resource loader for the media resource.
- scoped_ptr<BufferedResourceLoader> loader_;
+ scoped_refptr<BufferedResourceLoader> loader_;
// A resource loader that probes the server's ability to serve range requests.
- scoped_ptr<BufferedResourceLoader> probe_loader_;
+ scoped_refptr<BufferedResourceLoader> probe_loader_;
// Callback method from the pipeline for initialization.
scoped_ptr<media::FilterCallback> initialize_callback_;
« no previous file with comments | « no previous file | webkit/glue/media/buffered_data_source.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698