Index: media/filters/chunk_demuxer.cc |
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc |
index 73dbae6c0cf4e3144b4b2a459642e6b63a74ee39..e38a615b522f7da0bb8995b9122446c79d69e88c 100644 |
--- a/media/filters/chunk_demuxer.cc |
+++ b/media/filters/chunk_demuxer.cc |
@@ -48,7 +48,7 @@ class SourceState { |
// Sets |timestamp_offset_| if possible. |
// Returns if the offset was set. Returns false if the offset could not be |
// updated at this time. |
- bool SetTimestampOffset(TimeDelta timestamp_offset); |
+ bool set_timestampOffset(TimeDelta timestamp_offset); |
TimeDelta timestamp_offset() const { return timestamp_offset_; } |
@@ -96,9 +96,7 @@ class SourceState { |
}; |
SourceState::SourceState(scoped_ptr<StreamParser> stream_parser) |
- : can_update_offset_(true), |
- stream_parser_(stream_parser.release()) { |
-} |
+ : can_update_offset_(true), stream_parser_(stream_parser.release()) {} |
void SourceState::Init(const StreamParser::InitCB& init_cb, |
const StreamParser::NewConfigCB& config_cb, |
@@ -109,25 +107,20 @@ void SourceState::Init(const StreamParser::InitCB& init_cb, |
const AddTextTrackCB& add_text_track_cb, |
const StreamParser::NewMediaSegmentCB& new_segment_cb, |
const LogCB& log_cb) { |
- stream_parser_->Init(init_cb, config_cb, |
- base::Bind(&SourceState::OnBuffers, |
- base::Unretained(this), audio_cb), |
- base::Bind(&SourceState::OnBuffers, |
- base::Unretained(this), video_cb), |
- base::Bind(&SourceState::OnTextBuffers, |
- base::Unretained(this), text_cb), |
- need_key_cb, |
- add_text_track_cb, |
- base::Bind(&SourceState::OnNewMediaSegment, |
- base::Unretained(this), new_segment_cb), |
- base::Bind(&SourceState::OnEndOfMediaSegment, |
- base::Unretained(this)), |
- log_cb); |
-} |
- |
-bool SourceState::SetTimestampOffset(TimeDelta timestamp_offset) { |
- if (!can_update_offset_) |
- return false; |
+ stream_parser_->Init( |
+ init_cb, config_cb, |
+ base::Bind(&SourceState::OnBuffers, base::Unretained(this), audio_cb), |
+ base::Bind(&SourceState::OnBuffers, base::Unretained(this), video_cb), |
+ base::Bind(&SourceState::OnTextBuffers, base::Unretained(this), text_cb), |
+ need_key_cb, add_text_track_cb, |
+ base::Bind(&SourceState::OnNewMediaSegment, base::Unretained(this), |
+ new_segment_cb), |
+ base::Bind(&SourceState::OnEndOfMediaSegment, base::Unretained(this)), |
+ log_cb); |
+} |
+ |
+bool SourceState::set_timestampOffset(TimeDelta timestamp_offset) { |
+ if (!can_update_offset_) return false; |
timestamp_offset_ = timestamp_offset; |
return true; |
@@ -144,14 +137,13 @@ void SourceState::Abort() { |
void SourceState::AdjustBufferTimestamps( |
const StreamParser::BufferQueue& buffers) { |
- if (timestamp_offset_ == TimeDelta()) |
- return; |
+ if (timestamp_offset_ == TimeDelta()) return; |
for (StreamParser::BufferQueue::const_iterator itr = buffers.begin(); |
itr != buffers.end(); ++itr) { |
- (*itr)->SetDecodeTimestamp( |
- (*itr)->GetDecodeTimestamp() + timestamp_offset_); |
- (*itr)->SetTimestamp((*itr)->GetTimestamp() + timestamp_offset_); |
+ (*itr) |
+ ->SetDecodeTimestamp((*itr)->GetDecodeTimestamp() + timestamp_offset_); |
+ (*itr)->set_timestamp((*itr)->get_timestamp() + timestamp_offset_); |
} |
} |
@@ -172,8 +164,7 @@ void SourceState::OnEndOfMediaSegment() { |
bool SourceState::OnBuffers(const StreamParser::NewBuffersCB& new_buffers_cb, |
const StreamParser::BufferQueue& buffers) { |
- if (new_buffers_cb.is_null()) |
- return false; |
+ if (new_buffers_cb.is_null()) return false; |
AdjustBufferTimestamps(buffers); |
@@ -181,11 +172,9 @@ bool SourceState::OnBuffers(const StreamParser::NewBuffersCB& new_buffers_cb, |
} |
bool SourceState::OnTextBuffers( |
- const StreamParser::NewTextBuffersCB& new_buffers_cb, |
- TextTrack* text_track, |
+ const StreamParser::NewTextBuffersCB& new_buffers_cb, TextTrack* text_track, |
const StreamParser::BufferQueue& buffers) { |
- if (new_buffers_cb.is_null()) |
- return false; |
+ if (new_buffers_cb.is_null()) return false; |
AdjustBufferTimestamps(buffers); |
@@ -215,7 +204,7 @@ class ChunkDemuxerStream : public DemuxerStream { |
bool Append(const StreamParser::BufferQueue& buffers); |
// Signal to the stream that duration has changed to |duration|. |
- void OnSetDuration(base::TimeDelta duration); |
+ void Onset_duration(base::TimeDelta duration); |
// Returns the range of buffered data in this stream, capped at |duration|. |
Ranges<TimeDelta> GetBufferedRanges(base::TimeDelta duration) const; |
@@ -281,15 +270,13 @@ class ChunkDemuxerStream : public DemuxerStream { |
ChunkDemuxerStream::ChunkDemuxerStream(const AudioDecoderConfig& audio_config, |
const LogCB& log_cb) |
- : type_(AUDIO), |
- state_(RETURNING_DATA_FOR_READS) { |
+ : type_(AUDIO), state_(RETURNING_DATA_FOR_READS) { |
stream_.reset(new SourceBufferStream(audio_config, log_cb)); |
} |
ChunkDemuxerStream::ChunkDemuxerStream(const VideoDecoderConfig& video_config, |
const LogCB& log_cb) |
- : type_(VIDEO), |
- state_(RETURNING_DATA_FOR_READS) { |
+ : type_(VIDEO), state_(RETURNING_DATA_FOR_READS) { |
stream_.reset(new SourceBufferStream(video_config, log_cb)); |
} |
@@ -312,13 +299,11 @@ void ChunkDemuxerStream::Seek(TimeDelta time) { |
DCHECK(read_cbs_.empty()); |
// Ignore seek requests when canceled. |
- if (state_ == CANCELED) |
- return; |
+ if (state_ == CANCELED) return; |
stream_->Seek(time); |
- if (state_ == WAITING_FOR_SEEK) |
- ChangeState_Locked(RETURNING_DATA_FOR_READS); |
+ if (state_ == WAITING_FOR_SEEK) ChangeState_Locked(RETURNING_DATA_FOR_READS); |
} |
void ChunkDemuxerStream::CancelPendingSeek() { |
@@ -345,8 +330,7 @@ void ChunkDemuxerStream::OnNewMediaSegment(TimeDelta start_timestamp) { |
} |
bool ChunkDemuxerStream::Append(const StreamParser::BufferQueue& buffers) { |
- if (buffers.empty()) |
- return false; |
+ if (buffers.empty()) return false; |
ClosureQueue closures; |
{ |
@@ -365,7 +349,7 @@ bool ChunkDemuxerStream::Append(const StreamParser::BufferQueue& buffers) { |
return true; |
} |
-void ChunkDemuxerStream::OnSetDuration(base::TimeDelta duration) { |
+void ChunkDemuxerStream::Onset_duration(base::TimeDelta duration) { |
base::AutoLock auto_lock(lock_); |
stream_->OnSetDuration(duration); |
} |
@@ -375,8 +359,7 @@ Ranges<TimeDelta> ChunkDemuxerStream::GetBufferedRanges( |
base::AutoLock auto_lock(lock_); |
Ranges<TimeDelta> range = stream_->GetBufferedTime(); |
- if (range.size() == 0u) |
- return range; |
+ if (range.size() == 0u) return range; |
// Clamp the end of the stream's buffered ranges to fit within the duration. |
// This can be done by intersecting the stream's range with the valid time |
@@ -428,18 +411,18 @@ void ChunkDemuxerStream::Shutdown() { |
// Pass end of stream buffers to all callbacks to signal that no more data |
// will be sent. |
for (ReadCBQueue::iterator it = read_cbs.begin(); it != read_cbs.end(); ++it) |
- it->Run(DemuxerStream::kOk, StreamParserBuffer::CreateEOSBuffer()); |
+ it->Run(DemuxerStream::kOk, StreamParserBuffer::create_eos_buffer()); |
} |
// Helper function that makes sure |read_cb| runs on |message_loop_proxy|. |
static void RunOnMessageLoop( |
const DemuxerStream::ReadCB& read_cb, |
const scoped_refptr<base::MessageLoopProxy>& message_loop_proxy, |
- DemuxerStream::Status status, |
- const scoped_refptr<DecoderBuffer>& buffer) { |
+ DemuxerStream::Status status, const scoped_refptr<DecoderBuffer>& buffer) { |
if (!message_loop_proxy->BelongsToCurrentThread()) { |
- message_loop_proxy->PostTask(FROM_HERE, base::Bind( |
- &RunOnMessageLoop, read_cb, message_loop_proxy, status, buffer)); |
+ message_loop_proxy->PostTask( |
+ FROM_HERE, base::Bind(&RunOnMessageLoop, read_cb, message_loop_proxy, |
+ status, buffer)); |
return; |
} |
@@ -458,8 +441,8 @@ void ChunkDemuxerStream::Read(const ReadCB& read_cb) { |
} |
} |
- base::MessageLoopProxy::current()->PostTask(FROM_HERE, base::Bind( |
- read_cb, status, buffer)); |
+ base::MessageLoopProxy::current()->PostTask( |
+ FROM_HERE, base::Bind(read_cb, status, buffer)); |
} |
DemuxerStream::Type ChunkDemuxerStream::type() { return type_; } |
@@ -481,8 +464,7 @@ VideoDecoderConfig ChunkDemuxerStream::video_decoder_config() { |
void ChunkDemuxerStream::ChangeState_Locked(State state) { |
lock_.AssertAcquired(); |
DVLOG(1) << "ChunkDemuxerStream::ChangeState_Locked() : " |
- << "type " << type_ |
- << " - " << state_ << " -> " << state; |
+ << "type " << type_ << " - " << state_ << " -> " << state; |
state_ = state; |
} |
@@ -499,23 +481,19 @@ void ChunkDemuxerStream::DeferRead_Locked(const ReadCB& read_cb) { |
void ChunkDemuxerStream::CreateReadDoneClosures_Locked(ClosureQueue* closures) { |
lock_.AssertAcquired(); |
- if (state_ != RETURNING_DATA_FOR_READS) |
- return; |
+ if (state_ != RETURNING_DATA_FOR_READS) return; |
DemuxerStream::Status status; |
scoped_refptr<StreamParserBuffer> buffer; |
while (!read_cbs_.empty()) { |
- if (!GetNextBuffer_Locked(&status, &buffer)) |
- return; |
- closures->push_back(base::Bind(read_cbs_.front(), |
- status, buffer)); |
+ if (!GetNextBuffer_Locked(&status, &buffer)) return; |
+ closures->push_back(base::Bind(read_cbs_.front(), status, buffer)); |
read_cbs_.pop_front(); |
} |
} |
bool ChunkDemuxerStream::GetNextBuffer_Locked( |
- DemuxerStream::Status* status, |
- scoped_refptr<StreamParserBuffer>* buffer) { |
+ DemuxerStream::Status* status, scoped_refptr<StreamParserBuffer>* buffer) { |
lock_.AssertAcquired(); |
switch (state_) { |
@@ -528,7 +506,7 @@ bool ChunkDemuxerStream::GetNextBuffer_Locked( |
return false; |
case SourceBufferStream::kEndOfStream: |
*status = DemuxerStream::kOk; |
- *buffer = StreamParserBuffer::CreateEOSBuffer(); |
+ *buffer = StreamParserBuffer::create_eos_buffer(); |
return true; |
case SourceBufferStream::kConfigChange: |
DVLOG(2) << "Config change reported to ChunkDemuxerStream."; |
@@ -549,7 +527,7 @@ bool ChunkDemuxerStream::GetNextBuffer_Locked( |
case SHUTDOWN: |
DCHECK(read_cbs_.empty()); |
*status = DemuxerStream::kOk; |
- *buffer = StreamParserBuffer::CreateEOSBuffer(); |
+ *buffer = StreamParserBuffer::create_eos_buffer(); |
return true; |
} |
@@ -579,8 +557,8 @@ void ChunkDemuxer::Initialize(DemuxerHost* host, const PipelineStatusCB& cb) { |
base::AutoLock auto_lock(lock_); |
if (state_ == SHUTDOWN) { |
- base::MessageLoopProxy::current()->PostTask(FROM_HERE, base::Bind( |
- cb, DEMUXER_ERROR_COULD_NOT_OPEN)); |
+ base::MessageLoopProxy::current()->PostTask( |
+ FROM_HERE, base::Bind(cb, DEMUXER_ERROR_COULD_NOT_OPEN)); |
return; |
} |
DCHECK_EQ(state_, WAITING_FOR_INIT); |
@@ -608,11 +586,9 @@ void ChunkDemuxer::Seek(TimeDelta time, const PipelineStatusCB& cb) { |
base::AutoLock auto_lock(lock_); |
if (state_ == INITIALIZED || state_ == ENDED) { |
- if (audio_) |
- audio_->Seek(time); |
+ if (audio_) audio_->Seek(time); |
- if (video_) |
- video_->Seek(time); |
+ if (video_) video_->Seek(time); |
if (IsSeekPending_Locked()) { |
DVLOG(1) << "Seek() : waiting for more data to arrive."; |
@@ -636,32 +612,25 @@ void ChunkDemuxer::OnAudioRendererDisabled() { |
// Demuxer implementation. |
DemuxerStream* ChunkDemuxer::GetStream(DemuxerStream::Type type) { |
base::AutoLock auto_lock(lock_); |
- if (type == DemuxerStream::VIDEO) |
- return video_.get(); |
+ if (type == DemuxerStream::VIDEO) return video_.get(); |
- if (type == DemuxerStream::AUDIO) |
- return audio_.get(); |
+ if (type == DemuxerStream::AUDIO) return audio_.get(); |
return NULL; |
} |
-TimeDelta ChunkDemuxer::GetStartTime() const { |
- return TimeDelta(); |
-} |
+TimeDelta ChunkDemuxer::GetStartTime() const { return TimeDelta(); } |
void ChunkDemuxer::StartWaitingForSeek() { |
DVLOG(1) << "StartWaitingForSeek()"; |
base::AutoLock auto_lock(lock_); |
DCHECK(state_ == INITIALIZED || state_ == ENDED || state_ == SHUTDOWN); |
- if (state_ == SHUTDOWN) |
- return; |
+ if (state_ == SHUTDOWN) return; |
- if (audio_) |
- audio_->StartWaitingForSeek(); |
+ if (audio_) audio_->StartWaitingForSeek(); |
- if (video_) |
- video_->StartWaitingForSeek(); |
+ if (video_) video_->StartWaitingForSeek(); |
} |
void ChunkDemuxer::CancelPendingSeek() { |
@@ -671,15 +640,12 @@ void ChunkDemuxer::CancelPendingSeek() { |
if (IsSeekPending_Locked() && !seek_cb_.is_null()) { |
std::swap(cb, seek_cb_); |
} |
- if (audio_) |
- audio_->CancelPendingSeek(); |
+ if (audio_) audio_->CancelPendingSeek(); |
- if (video_) |
- video_->CancelPendingSeek(); |
+ if (video_) video_->CancelPendingSeek(); |
} |
- if (!cb.is_null()) |
- cb.Run(PIPELINE_OK); |
+ if (!cb.is_null()) cb.Run(PIPELINE_OK); |
} |
ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id, |
@@ -693,12 +659,10 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id, |
bool has_audio = false; |
bool has_video = false; |
- scoped_ptr<media::StreamParser> stream_parser( |
- StreamParserFactory::Create(type, codecs, log_cb_, |
- &has_audio, &has_video)); |
+ scoped_ptr<media::StreamParser> stream_parser(StreamParserFactory::Create( |
+ type, codecs, log_cb_, &has_audio, &has_video)); |
- if (!stream_parser) |
- return ChunkDemuxer::kNotSupported; |
+ if (!stream_parser) return ChunkDemuxer::kNotSupported; |
if ((has_audio && !source_id_audio_.empty()) || |
(has_video && !source_id_video_.empty())) |
@@ -709,23 +673,22 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id, |
if (has_audio) { |
source_id_audio_ = id; |
- audio_cb = base::Bind(&ChunkDemuxer::OnAudioBuffers, |
- base::Unretained(this)); |
+ audio_cb = |
+ base::Bind(&ChunkDemuxer::OnAudioBuffers, base::Unretained(this)); |
} |
if (has_video) { |
source_id_video_ = id; |
- video_cb = base::Bind(&ChunkDemuxer::OnVideoBuffers, |
- base::Unretained(this)); |
+ video_cb = |
+ base::Bind(&ChunkDemuxer::OnVideoBuffers, base::Unretained(this)); |
} |
scoped_ptr<SourceState> source_state(new SourceState(stream_parser.Pass())); |
source_state->Init( |
base::Bind(&ChunkDemuxer::OnSourceInitDone, base::Unretained(this)), |
- base::Bind(&ChunkDemuxer::OnNewConfigs, base::Unretained(this), |
- has_audio, has_video), |
- audio_cb, |
- video_cb, |
+ base::Bind(&ChunkDemuxer::OnNewConfigs, base::Unretained(this), has_audio, |
+ has_video), |
+ audio_cb, video_cb, |
base::Bind(&ChunkDemuxer::OnTextBuffers, base::Unretained(this)), |
base::Bind(&ChunkDemuxer::OnNeedKey, base::Unretained(this)), |
add_text_track_cb_, |
@@ -744,14 +707,12 @@ void ChunkDemuxer::RemoveId(const std::string& id) { |
source_state_map_.erase(id); |
if (source_id_audio_ == id) { |
- if (audio_) |
- audio_->Shutdown(); |
+ if (audio_) audio_->Shutdown(); |
source_id_audio_.clear(); |
} |
if (source_id_video_ == id) { |
- if (video_) |
- video_->Shutdown(); |
+ if (video_) video_->Shutdown(); |
source_id_video_.clear(); |
} |
} |
@@ -778,8 +739,7 @@ Ranges<TimeDelta> ChunkDemuxer::GetBufferedRanges(const std::string& id) const { |
Ranges<TimeDelta> ChunkDemuxer::ComputeIntersection() const { |
lock_.AssertAcquired(); |
- if (!audio_ || !video_) |
- return Ranges<TimeDelta>(); |
+ if (!audio_ || !video_) return Ranges<TimeDelta>(); |
// Include ranges that have been buffered in both |audio_| and |video_|. |
Ranges<TimeDelta> audio_ranges = audio_->GetBufferedRanges(duration_); |
@@ -800,14 +760,13 @@ Ranges<TimeDelta> ChunkDemuxer::ComputeIntersection() const { |
// This is enforced by the logic that controls the transition to ENDED. |
DCHECK((audio_start <= video_start && video_start <= audio_end) || |
(video_start <= audio_start && audio_start <= video_end)); |
- result.Add(result.end(result.size()-1), std::max(audio_end, video_end)); |
+ result.Add(result.end(result.size() - 1), std::max(audio_end, video_end)); |
} |
return result; |
} |
-void ChunkDemuxer::AppendData(const std::string& id, |
- const uint8* data, |
+void ChunkDemuxer::AppendData(const std::string& id, const uint8* data, |
size_t length) { |
DVLOG(1) << "AppendData(" << id << ", " << length << ")"; |
@@ -825,15 +784,12 @@ void ChunkDemuxer::AppendData(const std::string& id, |
if (state_ == ENDED) { |
ChangeState_Locked(INITIALIZED); |
- if (audio_) |
- audio_->CancelEndOfStream(); |
+ if (audio_) audio_->CancelEndOfStream(); |
- if (video_) |
- video_->CancelEndOfStream(); |
+ if (video_) video_->CancelEndOfStream(); |
} |
- if (length == 0u) |
- return; |
+ if (length == 0u) return; |
DCHECK(data); |
@@ -877,8 +833,7 @@ void ChunkDemuxer::AppendData(const std::string& id, |
for (size_t i = 0; i < ranges.size(); ++i) |
host_->AddBufferedTimeRange(ranges.start(i), ranges.end(i)); |
- if (!cb.is_null()) |
- cb.Run(PIPELINE_OK); |
+ if (!cb.is_null()) cb.Run(PIPELINE_OK); |
} |
void ChunkDemuxer::Abort(const std::string& id) { |
@@ -904,19 +859,17 @@ double ChunkDemuxer::GetDuration_Locked() { |
if (duration_ == kInfiniteDuration()) |
return std::numeric_limits<double>::infinity(); |
- if (user_specified_duration_ >= 0) |
- return user_specified_duration_; |
+ if (user_specified_duration_ >= 0) return user_specified_duration_; |
return duration_.InSecondsF(); |
} |
void ChunkDemuxer::SetDuration(double duration) { |
base::AutoLock auto_lock(lock_); |
- DVLOG(1) << "SetDuration(" << duration << ")"; |
+ DVLOG(1) << "set_duration(" << duration << ")"; |
DCHECK_GE(duration, 0); |
- if (duration == GetDuration_Locked()) |
- return; |
+ if (duration == GetDuration_Locked()) return; |
// Compute & bounds check the TimeDelta representation of duration. |
// This can be different if the value of |duration| doesn't fit the range or |
@@ -945,19 +898,18 @@ void ChunkDemuxer::SetDuration(double duration) { |
duration_ = duration_td; |
host_->SetDuration(duration_); |
- if (audio_) |
- audio_->OnSetDuration(duration_); |
+ if (audio_) audio_->Onset_duration(duration_); |
- if (video_) |
- video_->OnSetDuration(duration_); |
+ if (video_) video_->Onset_duration(duration_); |
} |
bool ChunkDemuxer::SetTimestampOffset(const std::string& id, TimeDelta offset) { |
base::AutoLock auto_lock(lock_); |
- DVLOG(1) << "SetTimestampOffset(" << id << ", " << offset.InSecondsF() << ")"; |
+ DVLOG(1) << "set_timestampOffset(" << id << ", " << offset.InSecondsF() |
+ << ")"; |
CHECK(IsValidId(id)); |
- return source_state_map_[id]->SetTimestampOffset(offset); |
+ return source_state_map_[id]->set_timestampOffset(offset); |
} |
void ChunkDemuxer::EndOfStream(PipelineStatus status) { |
@@ -968,8 +920,7 @@ void ChunkDemuxer::EndOfStream(PipelineStatus status) { |
DCHECK_NE(state_, WAITING_FOR_INIT); |
DCHECK_NE(state_, ENDED); |
- if (state_ == SHUTDOWN || state_ == PARSE_ERROR) |
- return; |
+ if (state_ == SHUTDOWN || state_ == PARSE_ERROR) return; |
if (state_ == INITIALIZING) { |
ReportError_Locked(DEMUXER_ERROR_COULD_NOT_OPEN); |
@@ -977,11 +928,9 @@ void ChunkDemuxer::EndOfStream(PipelineStatus status) { |
} |
bool old_seek_pending = IsSeekPending_Locked(); |
- if (audio_) |
- audio_->EndOfStream(); |
+ if (audio_) audio_->EndOfStream(); |
- if (video_) |
- video_->EndOfStream(); |
+ if (video_) video_->EndOfStream(); |
// Give a chance to resume the pending seek process. |
if (status != PIPELINE_OK) { |
@@ -996,8 +945,7 @@ void ChunkDemuxer::EndOfStream(PipelineStatus status) { |
std::swap(cb, seek_cb_); |
} |
- if (!cb.is_null()) |
- cb.Run(PIPELINE_OK); |
+ if (!cb.is_null()) cb.Run(PIPELINE_OK); |
} |
void ChunkDemuxer::Shutdown() { |
@@ -1006,28 +954,24 @@ void ChunkDemuxer::Shutdown() { |
{ |
base::AutoLock auto_lock(lock_); |
- if (state_ == SHUTDOWN) |
- return; |
+ if (state_ == SHUTDOWN) return; |
std::swap(cb, seek_cb_); |
- if (audio_) |
- audio_->Shutdown(); |
+ if (audio_) audio_->Shutdown(); |
- if (video_) |
- video_->Shutdown(); |
+ if (video_) video_->Shutdown(); |
ChangeState_Locked(SHUTDOWN); |
} |
- if (!cb.is_null()) |
- cb.Run(PIPELINE_ERROR_ABORT); |
+ if (!cb.is_null()) cb.Run(PIPELINE_ERROR_ABORT); |
} |
void ChunkDemuxer::ChangeState_Locked(State new_state) { |
lock_.AssertAcquired(); |
- DVLOG(1) << "ChunkDemuxer::ChangeState_Locked() : " |
- << state_ << " -> " << new_state; |
+ DVLOG(1) << "ChunkDemuxer::ChangeState_Locked() : " << state_ << " -> " |
+ << new_state; |
state_ = new_state; |
} |
@@ -1052,14 +996,11 @@ void ChunkDemuxer::ReportError_Locked(PipelineStatus error) { |
if (!init_cb_.is_null()) { |
std::swap(cb, init_cb_); |
} else { |
- if (!seek_cb_.is_null()) |
- std::swap(cb, seek_cb_); |
+ if (!seek_cb_.is_null()) std::swap(cb, seek_cb_); |
- if (audio_) |
- audio_->Shutdown(); |
+ if (audio_) audio_->Shutdown(); |
- if (video_) |
- video_->Shutdown(); |
+ if (video_) video_->Shutdown(); |
} |
if (!cb.is_null()) { |
@@ -1076,18 +1017,16 @@ bool ChunkDemuxer::IsSeekPending_Locked() const { |
lock_.AssertAcquired(); |
bool seek_pending = false; |
- if (audio_) |
- seek_pending = audio_->IsSeekPending(); |
+ if (audio_) seek_pending = audio_->IsSeekPending(); |
- if (!seek_pending && video_) |
- seek_pending = video_->IsSeekPending(); |
+ if (!seek_pending && video_) seek_pending = video_->IsSeekPending(); |
return seek_pending; |
} |
void ChunkDemuxer::OnSourceInitDone(bool success, TimeDelta duration) { |
- DVLOG(1) << "OnSourceInitDone(" << success << ", " |
- << duration.InSecondsF() << ")"; |
+ DVLOG(1) << "OnSourceInitDone(" << success << ", " << duration.InSecondsF() |
+ << ")"; |
lock_.AssertAcquired(); |
DCHECK_EQ(state_, INITIALIZING); |
if (!success || (!audio_ && !video_)) { |
@@ -1103,14 +1042,11 @@ void ChunkDemuxer::OnSourceInitDone(bool success, TimeDelta duration) { |
(!source_id_video_.empty() && !video_)) |
return; |
- if (audio_) |
- audio_->Seek(TimeDelta()); |
+ if (audio_) audio_->Seek(TimeDelta()); |
- if (video_) |
- video_->Seek(TimeDelta()); |
+ if (video_) video_->Seek(TimeDelta()); |
- if (duration_ == kNoTimestamp()) |
- duration_ = kInfiniteDuration(); |
+ if (duration_ == kNoTimestamp()) duration_ = kInfiniteDuration(); |
// The demuxer is now initialized after the |start_timestamp_| was set. |
ChangeState_Locked(INITIALIZED); |
@@ -1120,9 +1056,9 @@ void ChunkDemuxer::OnSourceInitDone(bool success, TimeDelta duration) { |
bool ChunkDemuxer::OnNewConfigs(bool has_audio, bool has_video, |
const AudioDecoderConfig& audio_config, |
const VideoDecoderConfig& video_config) { |
- DVLOG(1) << "OnNewConfigs(" << has_audio << ", " << has_video |
- << ", " << audio_config.IsValidConfig() |
- << ", " << video_config.IsValidConfig() << ")"; |
+ DVLOG(1) << "OnNewConfigs(" << has_audio << ", " << has_video << ", " |
+ << audio_config.IsValidConfig() << ", " |
+ << video_config.IsValidConfig() << ")"; |
lock_.AssertAcquired(); |
if (!audio_config.IsValidConfig() && !video_config.IsValidConfig()) { |
@@ -1179,12 +1115,10 @@ bool ChunkDemuxer::OnAudioBuffers(const StreamParser::BufferQueue& buffers) { |
lock_.AssertAcquired(); |
DCHECK_NE(state_, SHUTDOWN); |
- if (!audio_) |
- return false; |
+ if (!audio_) return false; |
CHECK(IsValidId(source_id_audio_)); |
- if (!audio_->Append(buffers)) |
- return false; |
+ if (!audio_->Append(buffers)) return false; |
IncreaseDurationIfNecessary(buffers, audio_.get()); |
return true; |
@@ -1194,20 +1128,17 @@ bool ChunkDemuxer::OnVideoBuffers(const StreamParser::BufferQueue& buffers) { |
lock_.AssertAcquired(); |
DCHECK_NE(state_, SHUTDOWN); |
- if (!video_) |
- return false; |
+ if (!video_) return false; |
CHECK(IsValidId(source_id_video_)); |
- if (!video_->Append(buffers)) |
- return false; |
+ if (!video_->Append(buffers)) return false; |
IncreaseDurationIfNecessary(buffers, video_.get()); |
return true; |
} |
-bool ChunkDemuxer::OnTextBuffers( |
- TextTrack* text_track, |
- const StreamParser::BufferQueue& buffers) { |
+bool ChunkDemuxer::OnTextBuffers(TextTrack* text_track, |
+ const StreamParser::BufferQueue& buffers) { |
lock_.AssertAcquired(); |
DCHECK_NE(state_, SHUTDOWN); |
@@ -1216,14 +1147,13 @@ bool ChunkDemuxer::OnTextBuffers( |
for (StreamParser::BufferQueue::const_iterator itr = buffers.begin(); |
itr != buffers.end(); ++itr) { |
const StreamParserBuffer* const buffer = itr->get(); |
- const base::TimeDelta start = buffer->GetTimestamp(); |
- const base::TimeDelta end = start + buffer->GetDuration(); |
+ const base::TimeDelta start = buffer->get_timestamp(); |
+ const base::TimeDelta end = start + buffer->get_duration(); |
std::string id, settings, content; |
- WebMWebVTTParser::Parse(buffer->GetData(), |
- buffer->GetDataSize(), |
- &id, &settings, &content); |
+ WebMWebVTTParser::Parse(buffer->get_data(), buffer->get_data_size(), &id, |
+ &settings, &content); |
text_track->addWebVTTCue(start, end, id, content, settings); |
} |
@@ -1269,11 +1199,9 @@ void ChunkDemuxer::UpdateDuration(base::TimeDelta new_duration) { |
} |
void ChunkDemuxer::IncreaseDurationIfNecessary( |
- const StreamParser::BufferQueue& buffers, |
- ChunkDemuxerStream* stream) { |
+ const StreamParser::BufferQueue& buffers, ChunkDemuxerStream* stream) { |
DCHECK(!buffers.empty()); |
- if (buffers.back()->GetTimestamp() <= duration_) |
- return; |
+ if (buffers.back()->get_timestamp() <= duration_) return; |
Ranges<TimeDelta> ranges = stream->GetBufferedRanges(kInfiniteDuration()); |
DCHECK_GT(ranges.size(), 0u); |
@@ -1285,8 +1213,7 @@ void ChunkDemuxer::IncreaseDurationIfNecessary( |
void ChunkDemuxer::DecreaseDurationIfNecessary() { |
Ranges<TimeDelta> ranges = GetBufferedRanges(); |
- if (ranges.size() == 0u) |
- return; |
+ if (ranges.size() == 0u) return; |
base::TimeDelta last_timestamp_buffered = ranges.end(ranges.size() - 1); |
if (last_timestamp_buffered < duration_) |