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 #include "content/renderer/media/android/media_source_delegate.h" | 5 #include "content/renderer/media/android/media_source_delegate.h" |
6 | 6 |
7 #include <limits> | 7 #include <limits> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
107 base::Bind(&MediaSourceDelegate::StopDemuxer, | 107 base::Bind(&MediaSourceDelegate::StopDemuxer, |
108 base::Unretained(this))); | 108 base::Unretained(this))); |
109 } | 109 } |
110 | 110 |
111 bool MediaSourceDelegate::IsVideoEncrypted() { | 111 bool MediaSourceDelegate::IsVideoEncrypted() { |
112 DCHECK(main_loop_->BelongsToCurrentThread()); | 112 DCHECK(main_loop_->BelongsToCurrentThread()); |
113 base::AutoLock auto_lock(is_video_encrypted_lock_); | 113 base::AutoLock auto_lock(is_video_encrypted_lock_); |
114 return is_video_encrypted_; | 114 return is_video_encrypted_; |
115 } | 115 } |
116 | 116 |
| 117 base::Time MediaSourceDelegate::GetTimelineOffset() const { |
| 118 DCHECK(main_loop_->BelongsToCurrentThread()); |
| 119 if (!chunk_demuxer_) |
| 120 return base::Time(); |
| 121 |
| 122 return chunk_demuxer_->GetTimelineOffset(); |
| 123 } |
| 124 |
117 void MediaSourceDelegate::StopDemuxer() { | 125 void MediaSourceDelegate::StopDemuxer() { |
118 DCHECK(media_loop_->BelongsToCurrentThread()); | 126 DCHECK(media_loop_->BelongsToCurrentThread()); |
119 DCHECK(chunk_demuxer_); | 127 DCHECK(chunk_demuxer_); |
120 | 128 |
121 demuxer_client_->RemoveDelegate(demuxer_client_id_); | 129 demuxer_client_->RemoveDelegate(demuxer_client_id_); |
122 demuxer_client_ = NULL; | 130 demuxer_client_ = NULL; |
123 | 131 |
124 audio_stream_ = NULL; | 132 audio_stream_ = NULL; |
125 video_stream_ = NULL; | 133 video_stream_ = NULL; |
126 // TODO(xhwang): Figure out if we need to Reset the DDSs after Seeking or | 134 // TODO(xhwang): Figure out if we need to Reset the DDSs after Seeking or |
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
756 // current time have been garbage collected or removed by the web app, this is | 764 // current time have been garbage collected or removed by the web app, this is |
757 // unlikely. This may cause unexpected playback stall due to seek pending an | 765 // unlikely. This may cause unexpected playback stall due to seek pending an |
758 // append for a GOP prior to the last GOP demuxed. | 766 // append for a GOP prior to the last GOP demuxed. |
759 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected | 767 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected |
760 // player stall by replaying cached data since last keyframe in browser player | 768 // player stall by replaying cached data since last keyframe in browser player |
761 // rather than issuing browser seek. See http://crbug.com/304234. | 769 // rather than issuing browser seek. See http://crbug.com/304234. |
762 return seek_time; | 770 return seek_time; |
763 } | 771 } |
764 | 772 |
765 } // namespace content | 773 } // namespace content |
OLD | NEW |