Index: chromecast/media/base/media_resource_tracker.h |
diff --git a/chromecast/media/base/media_resource_tracker.h b/chromecast/media/base/media_resource_tracker.h |
index 52a3011fddd711ce67308fecb0dbc611a5ba554b..db659228f0a10bb6223d466381f0d1c1230a447a 100644 |
--- a/chromecast/media/base/media_resource_tracker.h |
+++ b/chromecast/media/base/media_resource_tracker.h |
@@ -32,6 +32,21 @@ namespace media { |
// thread. |
class MediaResourceTracker { |
public: |
+ // Helper class to manage media resource usage count. |
+ // Create an instance of this class when a media resource is created. |
+ // Delete the instance *after* the media resource is deleted. |
+ // This class is not thread-safe. It must be created and deleted on |
+ // |MediaResourceTracker::media_task_runner_|. |
+ class ScopedUsage { |
+ public: |
+ ScopedUsage(MediaResourceTracker* tracker); |
+ ~ScopedUsage(); |
+ |
+ private: |
+ MediaResourceTracker* tracker_; |
+ DISALLOW_COPY_AND_ASSIGN(ScopedUsage); |
+ }; |
+ |
MediaResourceTracker( |
const scoped_refptr<base::SingleThreadTaskRunner>& ui_task_runner, |
const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner); |