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

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: comma operator 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 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
649 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 648 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
650 649
651 base::AutoLock auto_lock(seeking_lock_); 650 base::AutoLock auto_lock(seeking_lock_);
652 DCHECK(seeking_); 651 DCHECK(seeking_);
653 seeking_ = false; 652 seeking_ = false;
654 doing_browser_seek_ = false; 653 doing_browser_seek_ = false;
655 demuxer_client_->DemuxerSeekDone(demuxer_client_id_, browser_seek_time_); 654 demuxer_client_->DemuxerSeekDone(demuxer_client_id_, browser_seek_time_);
656 } 655 }
657 656
658 void MediaSourceDelegate::OnDemuxerStopDone() { 657 void MediaSourceDelegate::OnDemuxerStopDone() {
658 DCHECK(media_loop_->BelongsToCurrentThread());
659 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
660 main_loop_->PostTask(
661 FROM_HERE,
662 base::Bind(&MediaSourceDelegate::DeleteSelf, base::Unretained(this)));
663 }
664
665 void MediaSourceDelegate::DeleteSelf() {
659 DCHECK(main_loop_->BelongsToCurrentThread()); 666 DCHECK(main_loop_->BelongsToCurrentThread());
660 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 667 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
661 chunk_demuxer_.reset(); 668 chunk_demuxer_.reset();
662 demuxer_ = NULL; 669 demuxer_ = NULL;
663 delete this; 670 delete this;
664 } 671 }
665 672
666 void MediaSourceDelegate::OnMediaConfigRequest() { 673 void MediaSourceDelegate::OnMediaConfigRequest() {
667 DCHECK(media_loop_->BelongsToCurrentThread()); 674 DCHECK(media_loop_->BelongsToCurrentThread());
668 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_; 675 DVLOG(1) << __FUNCTION__ << " : " << demuxer_client_id_;
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
822 // current time have been garbage collected or removed by the web app, this is 829 // current time have been garbage collected or removed by the web app, this is
823 // unlikely. This may cause unexpected playback stall due to seek pending an 830 // unlikely. This may cause unexpected playback stall due to seek pending an
824 // append for a GOP prior to the last GOP demuxed. 831 // append for a GOP prior to the last GOP demuxed.
825 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected 832 // TODO(wolenetz): Remove the possibility for this seek to cause unexpected
826 // player stall by replaying cached data since last keyframe in browser player 833 // player stall by replaying cached data since last keyframe in browser player
827 // rather than issuing browser seek. See http://crbug.com/304234. 834 // rather than issuing browser seek. See http://crbug.com/304234.
828 return seek_time; 835 return seek_time;
829 } 836 }
830 837
831 } // namespace content 838 } // namespace content
OLDNEW
« no previous file with comments | « content/renderer/media/android/media_source_delegate.h ('k') | content/renderer/media/rtc_video_decoder_factory_tv.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698