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_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 5 #ifndef MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 6 #define MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
7 | 7 |
8 #include <stdint.h> | 8 #include <stdint.h> |
9 | 9 |
10 #include <string> | 10 #include <string> |
11 #include <vector> | 11 #include <vector> |
12 | 12 |
13 #include "base/compiler_specific.h" | 13 #include "base/compiler_specific.h" |
14 #include "base/macros.h" | 14 #include "base/macros.h" |
15 #include "base/memory/linked_ptr.h" | 15 #include "base/memory/linked_ptr.h" |
16 #include "base/memory/ref_counted.h" | 16 #include "base/memory/ref_counted.h" |
17 #include "base/memory/scoped_ptr.h" | 17 #include "base/memory/scoped_ptr.h" |
18 #include "base/memory/weak_ptr.h" | 18 #include "base/memory/weak_ptr.h" |
19 #include "base/threading/thread.h" | 19 #include "base/threading/thread.h" |
20 #include "build/build_config.h" | 20 #include "build/build_config.h" |
21 #include "media/base/media_tracks.h" | |
21 #include "media/base/pipeline_impl.h" | 22 #include "media/base/pipeline_impl.h" |
22 #include "media/base/renderer_factory.h" | 23 #include "media/base/renderer_factory.h" |
23 #include "media/base/surface_manager.h" | 24 #include "media/base/surface_manager.h" |
24 #include "media/base/text_track.h" | 25 #include "media/base/text_track.h" |
25 #include "media/blink/buffered_data_source.h" | 26 #include "media/blink/buffered_data_source.h" |
26 #include "media/blink/buffered_data_source_host_impl.h" | 27 #include "media/blink/buffered_data_source_host_impl.h" |
27 #include "media/blink/media_blink_export.h" | 28 #include "media/blink/media_blink_export.h" |
28 #include "media/blink/multibuffer_data_source.h" | 29 #include "media/blink/multibuffer_data_source.h" |
29 #include "media/blink/video_frame_compositor.h" | 30 #include "media/blink/video_frame_compositor.h" |
30 #include "media/blink/webmediaplayer_delegate.h" | 31 #include "media/blink/webmediaplayer_delegate.h" |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
254 void FrameReady(const scoped_refptr<VideoFrame>& frame); | 255 void FrameReady(const scoped_refptr<VideoFrame>& frame); |
255 | 256 |
256 // Returns the current video frame from |compositor_|. Blocks until the | 257 // Returns the current video frame from |compositor_|. Blocks until the |
257 // compositor can return the frame. | 258 // compositor can return the frame. |
258 scoped_refptr<VideoFrame> GetCurrentFrameFromCompositor(); | 259 scoped_refptr<VideoFrame> GetCurrentFrameFromCompositor(); |
259 | 260 |
260 // Called when the demuxer encounters encrypted streams. | 261 // Called when the demuxer encounters encrypted streams. |
261 void OnEncryptedMediaInitData(EmeInitDataType init_data_type, | 262 void OnEncryptedMediaInitData(EmeInitDataType init_data_type, |
262 const std::vector<uint8_t>& init_data); | 263 const std::vector<uint8_t>& init_data); |
263 | 264 |
265 // Called when the FFmpegDemuxer encounters new media tracks. This is only | |
266 // invoked when using FFmpegDemuxer, since MSE/ChunkDemuxer handle media | |
267 // tracks separately in WebSourceBufferImpl. | |
268 void OnFFmpegMediaTracksUpdated(scoped_ptr<MediaTracks> tracks); | |
wolenetz
2016/03/05 01:47:43
Hmm. Having distinct routes for reporting this inf
servolk
2016/03/05 01:56:19
I've spend quite a bit of time trying different ap
| |
269 | |
264 // Called when a decoder detects that the key needed to decrypt the stream | 270 // Called when a decoder detects that the key needed to decrypt the stream |
265 // is not available. | 271 // is not available. |
266 void OnWaitingForDecryptionKey(); | 272 void OnWaitingForDecryptionKey(); |
267 | 273 |
268 // Sets |cdm_context| on the pipeline and fires |cdm_attached_cb| when done. | 274 // Sets |cdm_context| on the pipeline and fires |cdm_attached_cb| when done. |
269 // Parameter order is reversed for easy binding. | 275 // Parameter order is reversed for easy binding. |
270 void SetCdm(const CdmAttachedCB& cdm_attached_cb, CdmContext* cdm_context); | 276 void SetCdm(const CdmAttachedCB& cdm_attached_cb, CdmContext* cdm_context); |
271 | 277 |
272 // Called when a CDM has been attached to the |pipeline_|. | 278 // Called when a CDM has been attached to the |pipeline_|. |
273 void OnCdmAttached(bool success); | 279 void OnCdmAttached(bool success); |
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
453 // For requesting surfaces on behalf of the Android H/W decoder in fullscreen. | 459 // For requesting surfaces on behalf of the Android H/W decoder in fullscreen. |
454 // This will be null everywhere but Android. | 460 // This will be null everywhere but Android. |
455 SurfaceManager* surface_manager_; | 461 SurfaceManager* surface_manager_; |
456 | 462 |
457 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); | 463 DISALLOW_COPY_AND_ASSIGN(WebMediaPlayerImpl); |
458 }; | 464 }; |
459 | 465 |
460 } // namespace media | 466 } // namespace media |
461 | 467 |
462 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ | 468 #endif // MEDIA_BLINK_WEBMEDIAPLAYER_IMPL_H_ |
OLD | NEW |