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 CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ | 5 #ifndef CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ |
6 #define CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ | 6 #define CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
45 MediaSourceOpenedCB; | 45 MediaSourceOpenedCB; |
46 typedef base::Callback<void(blink::WebMediaPlayer::NetworkState)> | 46 typedef base::Callback<void(blink::WebMediaPlayer::NetworkState)> |
47 UpdateNetworkStateCB; | 47 UpdateNetworkStateCB; |
48 typedef base::Callback<void(const base::TimeDelta&)> DurationChangeCB; | 48 typedef base::Callback<void(const base::TimeDelta&)> DurationChangeCB; |
49 | 49 |
50 MediaSourceDelegate( | 50 MediaSourceDelegate( |
51 RendererDemuxerAndroid* demuxer_client, | 51 RendererDemuxerAndroid* demuxer_client, |
52 int demuxer_client_id, | 52 int demuxer_client_id, |
53 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, | 53 const scoped_refptr<base::SingleThreadTaskRunner>& task_runner, |
54 const scoped_refptr<media::MediaLog> media_log); | 54 const scoped_refptr<media::MediaLog> media_log); |
55 virtual ~MediaSourceDelegate(); | 55 ~MediaSourceDelegate() override; |
56 | 56 |
57 // Initialize the MediaSourceDelegate. |media_source| will be owned by | 57 // Initialize the MediaSourceDelegate. |media_source| will be owned by |
58 // this object after this call. | 58 // this object after this call. |
59 void InitializeMediaSource( | 59 void InitializeMediaSource( |
60 const MediaSourceOpenedCB& media_source_opened_cb, | 60 const MediaSourceOpenedCB& media_source_opened_cb, |
61 const media::Demuxer::EncryptedMediaInitDataCB& | 61 const media::Demuxer::EncryptedMediaInitDataCB& |
62 encrypted_media_init_data_cb, | 62 encrypted_media_init_data_cb, |
63 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, | 63 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, |
64 const UpdateNetworkStateCB& update_network_state_cb, | 64 const UpdateNetworkStateCB& update_network_state_cb, |
65 const DurationChangeCB& duration_change_cb); | 65 const DurationChangeCB& duration_change_cb); |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
98 void Stop(const base::Closure& stop_cb); | 98 void Stop(const base::Closure& stop_cb); |
99 | 99 |
100 // Called on the main thread to check whether the video stream is encrypted. | 100 // Called on the main thread to check whether the video stream is encrypted. |
101 bool IsVideoEncrypted(); | 101 bool IsVideoEncrypted(); |
102 | 102 |
103 // Gets the ChunkDemuxer timeline offset. | 103 // Gets the ChunkDemuxer timeline offset. |
104 base::Time GetTimelineOffset() const; | 104 base::Time GetTimelineOffset() const; |
105 | 105 |
106 private: | 106 private: |
107 // Methods inherited from DemuxerHost. | 107 // Methods inherited from DemuxerHost. |
108 virtual void AddBufferedTimeRange(base::TimeDelta start, | 108 void AddBufferedTimeRange(base::TimeDelta start, |
109 base::TimeDelta end) override; | 109 base::TimeDelta end) override; |
110 virtual void SetDuration(base::TimeDelta duration) override; | 110 void SetDuration(base::TimeDelta duration) override; |
111 virtual void OnDemuxerError(media::PipelineStatus status) override; | 111 void OnDemuxerError(media::PipelineStatus status) override; |
112 virtual void AddTextStream(media::DemuxerStream* text_stream, | 112 void AddTextStream(media::DemuxerStream* text_stream, |
113 const media::TextTrackConfig& config) override; | 113 const media::TextTrackConfig& config) override; |
114 virtual void RemoveTextStream(media::DemuxerStream* text_stream) override; | 114 void RemoveTextStream(media::DemuxerStream* text_stream) override; |
115 | 115 |
116 // Notifies |demuxer_client_| and fires |duration_changed_cb_|. | 116 // Notifies |demuxer_client_| and fires |duration_changed_cb_|. |
117 void OnDurationChanged(const base::TimeDelta& duration); | 117 void OnDurationChanged(const base::TimeDelta& duration); |
118 | 118 |
119 // Callback for ChunkDemuxer initialization. | 119 // Callback for ChunkDemuxer initialization. |
120 void OnDemuxerInitDone(media::PipelineStatus status); | 120 void OnDemuxerInitDone(media::PipelineStatus status); |
121 | 121 |
122 // Initializes DecryptingDemuxerStreams if audio/video stream is encrypted. | 122 // Initializes DecryptingDemuxerStreams if audio/video stream is encrypted. |
123 void InitAudioDecryptingDemuxerStream(); | 123 void InitAudioDecryptingDemuxerStream(); |
124 void InitVideoDecryptingDemuxerStream(); | 124 void InitVideoDecryptingDemuxerStream(); |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
230 base::WeakPtr<MediaSourceDelegate> main_weak_this_; | 230 base::WeakPtr<MediaSourceDelegate> main_weak_this_; |
231 base::WeakPtrFactory<MediaSourceDelegate> main_weak_factory_; | 231 base::WeakPtrFactory<MediaSourceDelegate> main_weak_factory_; |
232 base::WeakPtrFactory<MediaSourceDelegate> media_weak_factory_; | 232 base::WeakPtrFactory<MediaSourceDelegate> media_weak_factory_; |
233 | 233 |
234 DISALLOW_COPY_AND_ASSIGN(MediaSourceDelegate); | 234 DISALLOW_COPY_AND_ASSIGN(MediaSourceDelegate); |
235 }; | 235 }; |
236 | 236 |
237 } // namespace content | 237 } // namespace content |
238 | 238 |
239 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ | 239 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ |
OLD | NEW |