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

Side by Side Diff: chromecast/media/cma/base/demuxer_stream_adapter.cc

Issue 2158923004: Convert media constants to constexpr. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 5 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "chromecast/media/cma/base/demuxer_stream_adapter.h" 5 #include "chromecast/media/cma/base/demuxer_stream_adapter.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/callback_helpers.h" 8 #include "base/callback_helpers.h"
9 #include "base/single_thread_task_runner.h" 9 #include "base/single_thread_task_runner.h"
10 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.h" 10 #include "chromecast/media/cma/base/balanced_media_task_runner_factory.h"
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
90 weak_factory_.InvalidateWeakPtrs(); 90 weak_factory_.InvalidateWeakPtrs();
91 weak_this_ = weak_factory_.GetWeakPtr(); 91 weak_this_ = weak_factory_.GetWeakPtr();
92 92
93 CMALOG(kLogControl) << "Flush done"; 93 CMALOG(kLogControl) << "Flush done";
94 flush_cb.Run(); 94 flush_cb.Run();
95 } 95 }
96 96
97 void DemuxerStreamAdapter::ResetMediaTaskRunner() { 97 void DemuxerStreamAdapter::ResetMediaTaskRunner() {
98 DCHECK(thread_checker_.CalledOnValidThread()); 98 DCHECK(thread_checker_.CalledOnValidThread());
99 99
100 max_pts_ = ::media::kNoTimestamp(); 100 max_pts_ = ::media::kNoTimestamp;
101 if (media_task_runner_factory_.get()) { 101 if (media_task_runner_factory_.get()) {
102 media_task_runner_ = 102 media_task_runner_ =
103 media_task_runner_factory_->CreateMediaTaskRunner(task_runner_); 103 media_task_runner_factory_->CreateMediaTaskRunner(task_runner_);
104 } 104 }
105 } 105 }
106 106
107 void DemuxerStreamAdapter::RequestBuffer(const ReadCB& read_cb) { 107 void DemuxerStreamAdapter::RequestBuffer(const ReadCB& read_cb) {
108 DCHECK(thread_checker_.CalledOnValidThread()); 108 DCHECK(thread_checker_.CalledOnValidThread());
109 is_pending_demuxer_read_ = true; 109 is_pending_demuxer_read_ = true;
110 demuxer_stream_->Read(::media::BindToCurrentLoop( 110 demuxer_stream_->Read(::media::BindToCurrentLoop(
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
146 DCHECK_EQ(status, ::media::DemuxerStream::kOk); 146 DCHECK_EQ(status, ::media::DemuxerStream::kOk);
147 147
148 if (input->end_of_stream()) { 148 if (input->end_of_stream()) {
149 // This stream has ended, its media time will stop increasing, but there 149 // This stream has ended, its media time will stop increasing, but there
150 // might be other streams that are still playing. Remove the task runner of 150 // might be other streams that are still playing. Remove the task runner of
151 // this stream to ensure other streams are not blocked waiting for this one. 151 // this stream to ensure other streams are not blocked waiting for this one.
152 ResetMediaTaskRunner(); 152 ResetMediaTaskRunner();
153 } 153 }
154 154
155 // Updates the timestamp used for task scheduling. 155 // Updates the timestamp used for task scheduling.
156 if (!input->end_of_stream() && 156 if (!input->end_of_stream() && input->timestamp() != ::media::kNoTimestamp &&
157 input->timestamp() != ::media::kNoTimestamp() && 157 (max_pts_ == ::media::kNoTimestamp || input->timestamp() > max_pts_)) {
158 (max_pts_ == ::media::kNoTimestamp() || input->timestamp() > max_pts_)) {
159 max_pts_ = input->timestamp(); 158 max_pts_ = input->timestamp();
160 } 159 }
161 160
162 // Provides the buffer as well as possibly valid audio and video configs. 161 // Provides the buffer as well as possibly valid audio and video configs.
163 is_pending_read_ = false; 162 is_pending_read_ = false;
164 scoped_refptr<DecoderBufferBase> buffer(new DecoderBufferAdapter(input)); 163 scoped_refptr<DecoderBufferBase> buffer(new DecoderBufferAdapter(input));
165 read_cb.Run(buffer, audio_config_, video_config_); 164 read_cb.Run(buffer, audio_config_, video_config_);
166 165
167 // Back to the default audio/video config: 166 // Back to the default audio/video config:
168 // an invalid audio/video config means there is no config update. 167 // an invalid audio/video config means there is no config update.
169 if (audio_config_.IsValidConfig()) 168 if (audio_config_.IsValidConfig())
170 audio_config_ = ::media::AudioDecoderConfig(); 169 audio_config_ = ::media::AudioDecoderConfig();
171 if (video_config_.IsValidConfig()) 170 if (video_config_.IsValidConfig())
172 video_config_ = ::media::VideoDecoderConfig(); 171 video_config_ = ::media::VideoDecoderConfig();
173 } 172 }
174 173
175 } // namespace media 174 } // namespace media
176 } // namespace chromecast 175 } // namespace chromecast
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698