| 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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 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 virtual ~MediaSourceDelegate(); |
| 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::NeedKeyCB& need_key_cb, | 61 const media::Demuxer::EncryptedMediaInitDataCB& |
| 62 encrypted_media_init_data_cb, |
| 62 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, | 63 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, |
| 63 const UpdateNetworkStateCB& update_network_state_cb, | 64 const UpdateNetworkStateCB& update_network_state_cb, |
| 64 const DurationChangeCB& duration_change_cb); | 65 const DurationChangeCB& duration_change_cb); |
| 65 | 66 |
| 66 blink::WebTimeRanges Buffered() const; | 67 blink::WebTimeRanges Buffered() const; |
| 67 size_t DecodedFrameCount() const; | 68 size_t DecodedFrameCount() const; |
| 68 size_t DroppedFrameCount() const; | 69 size_t DroppedFrameCount() const; |
| 69 size_t AudioDecodedByteCount() const; | 70 size_t AudioDecodedByteCount() const; |
| 70 size_t VideoDecodedByteCount() const; | 71 size_t VideoDecodedByteCount() const; |
| 71 | 72 |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 129 // Callback for ChunkDemuxer::Seek() and callback chain for resetting | 130 // Callback for ChunkDemuxer::Seek() and callback chain for resetting |
| 130 // decrypted audio/video streams if present. | 131 // decrypted audio/video streams if present. |
| 131 // | 132 // |
| 132 // Runs on the media thread. | 133 // Runs on the media thread. |
| 133 void OnDemuxerSeekDone(media::PipelineStatus status); | 134 void OnDemuxerSeekDone(media::PipelineStatus status); |
| 134 void ResetAudioDecryptingDemuxerStream(); | 135 void ResetAudioDecryptingDemuxerStream(); |
| 135 void ResetVideoDecryptingDemuxerStream(); | 136 void ResetVideoDecryptingDemuxerStream(); |
| 136 void FinishResettingDecryptingDemuxerStreams(); | 137 void FinishResettingDecryptingDemuxerStreams(); |
| 137 | 138 |
| 138 void OnDemuxerOpened(); | 139 void OnDemuxerOpened(); |
| 139 void OnNeedKey(const std::string& init_data_type, | 140 void OnEncryptedMediaInitData(const std::string& init_data_type, |
| 140 const std::vector<uint8>& init_data); | 141 const std::vector<uint8>& init_data); |
| 141 void NotifyDemuxerReady(); | 142 void NotifyDemuxerReady(); |
| 142 | 143 |
| 143 // Stops and clears objects on the media thread. | 144 // Stops and clears objects on the media thread. |
| 144 void StopDemuxer(const base::Closure& stop_cb); | 145 void StopDemuxer(const base::Closure& stop_cb); |
| 145 | 146 |
| 146 void InitializeDemuxer(); | 147 void InitializeDemuxer(); |
| 147 void SeekInternal(const base::TimeDelta& seek_time); | 148 void SeekInternal(const base::TimeDelta& seek_time); |
| 148 // Reads an access unit from the demuxer stream |stream| and stores it in | 149 // Reads an access unit from the demuxer stream |stream| and stores it in |
| 149 // the |index|th access unit in |params|. | 150 // the |index|th access unit in |params|. |
| 150 void ReadFromDemuxerStream(media::DemuxerStream::Type type, | 151 void ReadFromDemuxerStream(media::DemuxerStream::Type type, |
| (...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 189 scoped_ptr<media::DecryptingDemuxerStream> audio_decrypting_demuxer_stream_; | 190 scoped_ptr<media::DecryptingDemuxerStream> audio_decrypting_demuxer_stream_; |
| 190 scoped_ptr<media::DecryptingDemuxerStream> video_decrypting_demuxer_stream_; | 191 scoped_ptr<media::DecryptingDemuxerStream> video_decrypting_demuxer_stream_; |
| 191 | 192 |
| 192 media::DemuxerStream* audio_stream_; | 193 media::DemuxerStream* audio_stream_; |
| 193 media::DemuxerStream* video_stream_; | 194 media::DemuxerStream* video_stream_; |
| 194 | 195 |
| 195 media::PipelineStatistics statistics_; | 196 media::PipelineStatistics statistics_; |
| 196 media::Ranges<base::TimeDelta> buffered_time_ranges_; | 197 media::Ranges<base::TimeDelta> buffered_time_ranges_; |
| 197 | 198 |
| 198 MediaSourceOpenedCB media_source_opened_cb_; | 199 MediaSourceOpenedCB media_source_opened_cb_; |
| 199 media::Demuxer::NeedKeyCB need_key_cb_; | 200 media::Demuxer::EncryptedMediaInitDataCB encrypted_media_init_data_cb_; |
| 200 | 201 |
| 201 // Temporary for EME v0.1. In the future the init data type should be passed | 202 // Temporary for EME v0.1. In the future the init data type should be passed |
| 202 // through GenerateKeyRequest() directly from WebKit. | 203 // through GenerateKeyRequest() directly from WebKit. |
| 203 std::string init_data_type_; | 204 std::string init_data_type_; |
| 204 | 205 |
| 205 // Lock used to serialize access for |seeking_|. | 206 // Lock used to serialize access for |seeking_|. |
| 206 mutable base::Lock seeking_lock_; | 207 mutable base::Lock seeking_lock_; |
| 207 bool seeking_; | 208 bool seeking_; |
| 208 | 209 |
| 209 // Lock used to serialize access for |is_video_encrypted_|. | 210 // Lock used to serialize access for |is_video_encrypted_|. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 229 base::WeakPtrFactory<MediaSourceDelegate> main_weak_factory_; | 230 base::WeakPtrFactory<MediaSourceDelegate> main_weak_factory_; |
| 230 base::WeakPtrFactory<MediaSourceDelegate> media_weak_factory_; | 231 base::WeakPtrFactory<MediaSourceDelegate> media_weak_factory_; |
| 231 base::WeakPtr<MediaSourceDelegate> main_weak_this_; | 232 base::WeakPtr<MediaSourceDelegate> main_weak_this_; |
| 232 | 233 |
| 233 DISALLOW_COPY_AND_ASSIGN(MediaSourceDelegate); | 234 DISALLOW_COPY_AND_ASSIGN(MediaSourceDelegate); |
| 234 }; | 235 }; |
| 235 | 236 |
| 236 } // namespace content | 237 } // namespace content |
| 237 | 238 |
| 238 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ | 239 #endif // CONTENT_RENDERER_MEDIA_ANDROID_MEDIA_SOURCE_DELEGATE_H_ |
| OLD | NEW |