OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ | 5 #ifndef WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ |
6 #define WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ | 6 #define WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ |
7 | 7 |
8 #include <list> | 8 #include <list> |
9 | 9 |
10 #include "base/memory/ref_counted.h" | 10 #include "base/memory/ref_counted.h" |
11 #include "base/synchronization/lock.h" | 11 #include "base/synchronization/lock.h" |
12 #include "media/base/pipeline.h" | 12 #include "media/base/pipeline.h" |
| 13 #include "media/filters/chunk_demuxer.h" |
13 #include "media/filters/chunk_demuxer_client.h" | 14 #include "media/filters/chunk_demuxer_client.h" |
14 #include "media/filters/ffmpeg_video_decoder.h" | 15 #include "media/filters/ffmpeg_video_decoder.h" |
15 #include "webkit/media/buffered_data_source.h" | 16 #include "webkit/media/buffered_data_source.h" |
16 #include "webkit/media/skcanvas_video_renderer.h" | 17 #include "webkit/media/skcanvas_video_renderer.h" |
17 | 18 |
18 class SkCanvas; | 19 class SkCanvas; |
19 | 20 |
20 namespace base { | 21 namespace base { |
21 class MessageLoopProxy; | 22 class MessageLoopProxy; |
22 } | 23 } |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
81 void PipelineEndedCallback(media::PipelineStatus status); | 82 void PipelineEndedCallback(media::PipelineStatus status); |
82 void PipelineErrorCallback(media::PipelineStatus error); | 83 void PipelineErrorCallback(media::PipelineStatus error); |
83 void NetworkEventCallback(media::NetworkEvent type); | 84 void NetworkEventCallback(media::NetworkEvent type); |
84 | 85 |
85 // ChunkDemuxerClient implementation. | 86 // ChunkDemuxerClient implementation. |
86 virtual void DemuxerOpened(media::ChunkDemuxer* demuxer) OVERRIDE; | 87 virtual void DemuxerOpened(media::ChunkDemuxer* demuxer) OVERRIDE; |
87 virtual void DemuxerClosed() OVERRIDE; | 88 virtual void DemuxerClosed() OVERRIDE; |
88 | 89 |
89 // Methods for Demuxer communication. | 90 // Methods for Demuxer communication. |
90 void DemuxerFlush(); | 91 void DemuxerFlush(); |
91 bool DemuxerAppend(const uint8* data, size_t length); | 92 media::ChunkDemuxer::Status DemuxerAddId(const std::string& id, |
| 93 const std::string& type); |
| 94 void DemuxerRemoveId(const std::string& id); |
| 95 bool DemuxerAppend(const std::string& id, const uint8* data, size_t length); |
92 void DemuxerEndOfStream(media::PipelineStatus status); | 96 void DemuxerEndOfStream(media::PipelineStatus status); |
93 void DemuxerShutdown(); | 97 void DemuxerShutdown(); |
94 | 98 |
95 void DemuxerOpenedTask(const scoped_refptr<media::ChunkDemuxer>& demuxer); | 99 void DemuxerOpenedTask(const scoped_refptr<media::ChunkDemuxer>& demuxer); |
96 void DemuxerClosedTask(); | 100 void DemuxerClosedTask(); |
97 | 101 |
98 private: | 102 private: |
99 friend class base::RefCountedThreadSafe<WebMediaPlayerProxy>; | 103 friend class base::RefCountedThreadSafe<WebMediaPlayerProxy>; |
100 virtual ~WebMediaPlayerProxy(); | 104 virtual ~WebMediaPlayerProxy(); |
101 | 105 |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
134 int outstanding_repaints_; | 138 int outstanding_repaints_; |
135 | 139 |
136 scoped_refptr<media::ChunkDemuxer> chunk_demuxer_; | 140 scoped_refptr<media::ChunkDemuxer> chunk_demuxer_; |
137 | 141 |
138 DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerProxy); | 142 DISALLOW_IMPLICIT_CONSTRUCTORS(WebMediaPlayerProxy); |
139 }; | 143 }; |
140 | 144 |
141 } // namespace webkit_media | 145 } // namespace webkit_media |
142 | 146 |
143 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ | 147 #endif // WEBKIT_MEDIA_WEBMEDIAPLAYER_PROXY_H_ |
OLD | NEW |