Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(226)

Side by Side Diff: content/renderer/media/android/media_source_delegate.cc

Issue 66953005: Remove media::BindToLoop() in favour of media::BindToCurrentLoop(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: fix cros Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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 114 matching lines...) Expand 10 before | Expand all | Expand 10 after
125 // TODO(xhwang): Figure out if we need to Reset the DDSs after Seeking or 125 // TODO(xhwang): Figure out if we need to Reset the DDSs after Seeking or
126 // before destroying them. 126 // before destroying them.
127 audio_decrypting_demuxer_stream_.reset(); 127 audio_decrypting_demuxer_stream_.reset();
128 video_decrypting_demuxer_stream_.reset(); 128 video_decrypting_demuxer_stream_.reset();
129 129
130 media_weak_factory_.InvalidateWeakPtrs(); 130 media_weak_factory_.InvalidateWeakPtrs();
131 DCHECK(!media_weak_factory_.HasWeakPtrs()); 131 DCHECK(!media_weak_factory_.HasWeakPtrs());
132 132
133 // The callback OnDemuxerStopDone() owns |this| and will delete it when 133 // The callback OnDemuxerStopDone() owns |this| and will delete it when
134 // called. Hence using base::Unretained(this) is safe here. 134 // called. Hence using base::Unretained(this) is safe here.
135 demuxer_->Stop(media::BindToLoop(main_loop_, 135 demuxer_->Stop(base::Bind(&MediaSourceDelegate::OnDemuxerStopDone,
136 base::Bind(&MediaSourceDelegate::OnDemuxerStopDone, 136 base::Unretained(this)));
137 base::Unretained(this))));
138 } 137 }
139 138
140 void MediaSourceDelegate::InitializeMediaSource( 139 void MediaSourceDelegate::InitializeMediaSource(
141 const MediaSourceOpenedCB& media_source_opened_cb, 140 const MediaSourceOpenedCB& media_source_opened_cb,
142 const media::Demuxer::NeedKeyCB& need_key_cb, 141 const media::Demuxer::NeedKeyCB& need_key_cb,
143 const media::SetDecryptorReadyCB& set_decryptor_ready_cb, 142 const media::SetDecryptorReadyCB& set_decryptor_ready_cb,
144 const UpdateNetworkStateCB& update_network_state_cb, 143 const UpdateNetworkStateCB& update_network_state_cb,
145 const DurationChangeCB& duration_change_cb) { 144 const DurationChangeCB& duration_change_cb) {
146 DCHECK(main_loop_->BelongsToCurrentThread()); 145 DCHECK(main_loop_->BelongsToCurrentThread());
147 DCHECK(!media_source_opened_cb.is_null()); 146 DCHECK(!media_source_opened_cb.is_null());
(...skipping 507 matching lines...) Expand 10 before | Expand all | Expand 10 after
655 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 654 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
656 655
657 base::AutoLock auto_lock(seeking_lock_); 656 base::AutoLock auto_lock(seeking_lock_);
658 DCHECK(seeking_); 657 DCHECK(seeking_);
659 seeking_ = false; 658 seeking_ = false;
660 doing_browser_seek_ = false; 659 doing_browser_seek_ = false;
661 demuxer_client_->DemuxerSeekDone(demuxer_client_id_, browser_seek_time_); 660 demuxer_client_->DemuxerSeekDone(demuxer_client_id_, browser_seek_time_);
662 } 661 }
663 662
664 void MediaSourceDelegate::OnDemuxerStopDone() { 663 void MediaSourceDelegate::OnDemuxerStopDone() {
664 DCHECK(media_loop_->BelongsToCurrentThread());
665 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
666 main_loop_->PostTask(
667 FROM_HERE,
668 base::Bind(&MediaSourceDelegate::DeleteSelf, base::Unretained(this)));
669 }
670
671 void MediaSourceDelegate::DeleteSelf() {
665 DCHECK(main_loop_->BelongsToCurrentThread()); 672 DCHECK(main_loop_->BelongsToCurrentThread());
666 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 673 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
667 chunk_demuxer_.reset(); 674 chunk_demuxer_.reset();
668 demuxer_ = NULL; 675 demuxer_ = NULL;
669 delete this; 676 delete this;
670 } 677 }
671 678
672 void MediaSourceDelegate::OnMediaConfigRequest() { 679 void MediaSourceDelegate::OnMediaConfigRequest() {
673 DCHECK(media_loop_->BelongsToCurrentThread()); 680 DCHECK(media_loop_->BelongsToCurrentThread());
674 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 681 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
828 // current time have been garbage collected or removed by the web app, this is 835 // current time have been garbage collected or removed by the web app, this is
829 // unlikely. This may cause unexpected playback stall due to seek pending an 836 // unlikely. This may cause unexpected playback stall due to seek pending an
830 // append for a GOP prior to the last GOP demuxed. 837 // append for a GOP prior to the last GOP demuxed.
831 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected 838 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected
832 // player stall by replaying cached data since last keyframe in browser player 839 // player stall by replaying cached data since last keyframe in browser player
833 // rather than issuing browser seek. See http://crbug.com/304234. 840 // rather than issuing browser seek. See http://crbug.com/304234.
834 return seek_time; 841 return seek_time;
835 } 842 }
836 843
837 } // namespace content 844 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698