| 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_RENDERERS_VIDEO_RENDERER_IMPL_H_ | 5 #ifndef MEDIA_RENDERERS_VIDEO_RENDERER_IMPL_H_ |
| 6 #define MEDIA_RENDERERS_VIDEO_RENDERER_IMPL_H_ | 6 #define MEDIA_RENDERERS_VIDEO_RENDERER_IMPL_H_ |
| 7 | 7 |
| 8 #include <stddef.h> | 8 #include <stddef.h> |
| 9 #include <stdint.h> | 9 #include <stdint.h> |
| 10 | 10 |
| (...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 88 private: | 88 private: |
| 89 // Callback for |video_frame_stream_| initialization. | 89 // Callback for |video_frame_stream_| initialization. |
| 90 void OnVideoFrameStreamInitialized(bool success); | 90 void OnVideoFrameStreamInitialized(bool success); |
| 91 | 91 |
| 92 // Functions to notify certain events to the RendererClient. | 92 // Functions to notify certain events to the RendererClient. |
| 93 void OnPlaybackError(PipelineStatus error); | 93 void OnPlaybackError(PipelineStatus error); |
| 94 void OnPlaybackEnded(); | 94 void OnPlaybackEnded(); |
| 95 void OnStatisticsUpdate(const PipelineStatistics& stats); | 95 void OnStatisticsUpdate(const PipelineStatistics& stats); |
| 96 void OnBufferingStateChange(BufferingState state); | 96 void OnBufferingStateChange(BufferingState state); |
| 97 void OnWaitingForDecryptionKey(); | 97 void OnWaitingForDecryptionKey(); |
| 98 void OnVideoNaturalSizeChange(const gfx::Size& size); |
| 99 void OnVideoOpacityChange(bool opaque); |
| 98 | 100 |
| 99 // Callback for |video_frame_stream_| to deliver decoded video frames and | 101 // Callback for |video_frame_stream_| to deliver decoded video frames and |
| 100 // report video decoding status. If a frame is available the planes will be | 102 // report video decoding status. If a frame is available the planes will be |
| 101 // copied asynchronously and FrameReady will be called once finished copying. | 103 // copied asynchronously and FrameReady will be called once finished copying. |
| 102 void FrameReadyForCopyingToGpuMemoryBuffers( | 104 void FrameReadyForCopyingToGpuMemoryBuffers( |
| 103 VideoFrameStream::Status status, | 105 VideoFrameStream::Status status, |
| 104 const scoped_refptr<VideoFrame>& frame); | 106 const scoped_refptr<VideoFrame>& frame); |
| 105 | 107 |
| 106 // Callback for |video_frame_stream_| to deliver decoded video frames and | 108 // Callback for |video_frame_stream_| to deliver decoded video frames and |
| 107 // report video decoding status. | 109 // report video decoding status. |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 278 // Indicates that Render() should only render the first frame and then request | 280 // Indicates that Render() should only render the first frame and then request |
| 279 // that the sink be stopped. |posted_maybe_stop_after_first_paint_| is used | 281 // that the sink be stopped. |posted_maybe_stop_after_first_paint_| is used |
| 280 // to avoid repeated task posts. | 282 // to avoid repeated task posts. |
| 281 bool render_first_frame_and_stop_; | 283 bool render_first_frame_and_stop_; |
| 282 bool posted_maybe_stop_after_first_paint_; | 284 bool posted_maybe_stop_after_first_paint_; |
| 283 | 285 |
| 284 // Memory usage of |algorithm_| recorded during the last UpdateStats_Locked() | 286 // Memory usage of |algorithm_| recorded during the last UpdateStats_Locked() |
| 285 // call. | 287 // call. |
| 286 int64_t last_video_memory_usage_; | 288 int64_t last_video_memory_usage_; |
| 287 | 289 |
| 290 // Indicates if Render() has been called yet. |
| 291 bool have_renderered_frames_; |
| 292 // Tracks last frame properties to detect and notify client of any changes. |
| 293 gfx::Size last_frame_natural_size_; |
| 294 bool last_frame_opaque_; |
| 295 |
| 288 // NOTE: Weak pointers must be invalidated before all other member variables. | 296 // NOTE: Weak pointers must be invalidated before all other member variables. |
| 289 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; | 297 base::WeakPtrFactory<VideoRendererImpl> weak_factory_; |
| 290 | 298 |
| 291 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); | 299 DISALLOW_COPY_AND_ASSIGN(VideoRendererImpl); |
| 292 }; | 300 }; |
| 293 | 301 |
| 294 } // namespace media | 302 } // namespace media |
| 295 | 303 |
| 296 #endif // MEDIA_RENDERERS_VIDEO_RENDERER_IMPL_H_ | 304 #endif // MEDIA_RENDERERS_VIDEO_RENDERER_IMPL_H_ |
| OLD | NEW |