OLD | NEW |
---|---|
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 5 #ifndef MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
6 #define MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 6 #define MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
7 | 7 |
8 #include <deque> | 8 #include <deque> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
130 // Returns true of all conditions have been met to transition from | 130 // Returns true of all conditions have been met to transition from |
131 // kPrerolling to kPrerolled. | 131 // kPrerolling to kPrerolled. |
132 bool ShouldTransitionToPrerolled_Locked(); | 132 bool ShouldTransitionToPrerolled_Locked(); |
133 | 133 |
134 // Runs |statistics_cb_| with |frames_decoded_| and |frames_dropped_|, resets | 134 // Runs |statistics_cb_| with |frames_decoded_| and |frames_dropped_|, resets |
135 // them to 0, and then waits on |frame_available_| for up to the | 135 // them to 0, and then waits on |frame_available_| for up to the |
136 // |wait_duration|. | 136 // |wait_duration|. |
137 void UpdateStatsAndWait_Locked(base::TimeDelta wait_duration); | 137 void UpdateStatsAndWait_Locked(base::TimeDelta wait_duration); |
138 | 138 |
139 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 139 scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
140 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; | |
141 base::WeakPtr<VideoRendererImpl> weak_this_; | |
142 | 140 |
143 // Used for accessing data members. | 141 // Used for accessing data members. |
144 base::Lock lock_; | 142 base::Lock lock_; |
145 | 143 |
146 // Provides video frames to VideoRendererImpl. | 144 // Provides video frames to VideoRendererImpl. |
147 VideoFrameStream video_frame_stream_; | 145 VideoFrameStream video_frame_stream_; |
148 | 146 |
149 // Queue of incoming frames yet to be painted. | 147 // Queue of incoming frames yet to be painted. |
150 typedef std::deque<scoped_refptr<VideoFrame> > VideoFrameQueue; | 148 typedef std::deque<scoped_refptr<VideoFrame> > VideoFrameQueue; |
151 VideoFrameQueue ready_frames_; | 149 VideoFrameQueue ready_frames_; |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
233 // The timestamp of the last frame removed from the |ready_frames_| queue, | 231 // The timestamp of the last frame removed from the |ready_frames_| queue, |
234 // either for calling |paint_cb_| or for dropping. Set to kNoTimestamp() | 232 // either for calling |paint_cb_| or for dropping. Set to kNoTimestamp() |
235 // during flushing. | 233 // during flushing. |
236 base::TimeDelta last_timestamp_; | 234 base::TimeDelta last_timestamp_; |
237 | 235 |
238 // Keeps track of the number of frames decoded and dropped since the | 236 // Keeps track of the number of frames decoded and dropped since the |
239 // last call to |statistics_cb_|. These must be accessed under lock. | 237 // last call to |statistics_cb_|. These must be accessed under lock. |
240 int frames_decoded_; | 238 int frames_decoded_; |
241 int frames_dropped_; | 239 int frames_dropped_; |
242 | 240 |
241 // NOTE: These must always be last so they're invalidated before other member | |
242 // variables might be accessed. | |
243 base::WeakPtr<VideoRendererImpl> weak_this_; | |
Ami GONE FROM CHROMIUM
2014/03/10 22:02:08
ditto
| |
244 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; | |
245 | |
243 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); | 246 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); |
244 }; | 247 }; |
245 | 248 |
246 } // namespace media | 249 } // namespace media |
247 | 250 |
248 #endif // MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ | 251 #endif // MEDIA_FILTERS_VIDEO_RENDERER_IMPL_H_ |
OLD | NEW |