OLD | NEW |
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2011 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 // Movie class for WTL forms to call to control the media pipeline. | 5 // Movie class for WTL forms to call to control the media pipeline. |
6 | 6 |
7 #ifndef MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ | 7 #ifndef MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ |
8 #define MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ | 8 #define MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ |
9 | 9 |
10 #include "media/tools/player_wtl/player_wtl.h" | 10 #include "media/tools/player_wtl/player_wtl.h" |
11 | 11 |
12 #include "base/memory/ref_counted.h" | 12 #include "base/memory/ref_counted.h" |
13 #include "base/memory/scoped_ptr.h" | 13 #include "base/memory/scoped_ptr.h" |
14 #include "media/base/message_loop_factory.h" | 14 #include "media/base/message_loop_factory.h" |
15 | 15 |
| 16 class AudioManager; |
16 template <typename T> struct DefaultSingletonTraits; | 17 template <typename T> struct DefaultSingletonTraits; |
17 class WtlVideoRenderer; | 18 class WtlVideoRenderer; |
18 | 19 |
19 namespace media { | 20 namespace media { |
20 | 21 |
21 class PipelineImpl; | 22 class PipelineImpl; |
22 | 23 |
23 class Movie { | 24 class Movie { |
24 public: | 25 public: |
25 // Returns the singleton instance. | 26 // Returns the singleton instance. |
26 static Movie* GetInstance(); | 27 static Movie* GetInstance(); |
27 | 28 |
28 // Open a movie. | 29 // Open a movie. |
29 bool Open(const wchar_t* url, WtlVideoRenderer* video_renderer); | 30 bool Open(const wchar_t* url, WtlVideoRenderer* video_renderer); |
30 | 31 |
31 // Set playback rate. | 32 // Set playback rate. |
32 void Play(float rate); | 33 void Play(float rate); |
33 | 34 |
34 // Set playback rate. | 35 // Set playback rate. |
35 float GetPlayRate(); | 36 float GetPlayRate(); |
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
77 bool GetDumpYuvFileEnable(); | 78 bool GetDumpYuvFileEnable(); |
78 | 79 |
79 private: | 80 private: |
80 // Only allow Singleton to create and delete Movie. | 81 // Only allow Singleton to create and delete Movie. |
81 friend struct DefaultSingletonTraits<Movie>; | 82 friend struct DefaultSingletonTraits<Movie>; |
82 Movie(); | 83 Movie(); |
83 virtual ~Movie(); | 84 virtual ~Movie(); |
84 | 85 |
85 scoped_refptr<PipelineImpl> pipeline_; | 86 scoped_refptr<PipelineImpl> pipeline_; |
86 scoped_ptr<media::MessageLoopFactory> message_loop_factory_; | 87 scoped_ptr<media::MessageLoopFactory> message_loop_factory_; |
| 88 scoped_refptr<AudioManager> audio_manager_; |
87 | 89 |
88 bool enable_audio_; | 90 bool enable_audio_; |
89 bool enable_draw_; | 91 bool enable_draw_; |
90 bool enable_dump_yuv_file_; | 92 bool enable_dump_yuv_file_; |
91 bool enable_pause_; | 93 bool enable_pause_; |
92 int max_threads_; | 94 int max_threads_; |
93 float play_rate_; | 95 float play_rate_; |
94 HBITMAP movie_dib_; | 96 HBITMAP movie_dib_; |
95 HWND movie_hwnd_; | 97 HWND movie_hwnd_; |
96 | 98 |
97 DISALLOW_COPY_AND_ASSIGN(Movie); | 99 DISALLOW_COPY_AND_ASSIGN(Movie); |
98 }; | 100 }; |
99 | 101 |
100 } // namespace media | 102 } // namespace media |
101 | 103 |
102 #endif // MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ | 104 #endif // MEDIA_TOOLS_PLAYER_WTL_MOVIE_H_ |
OLD | NEW |