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

Unified Diff: media/filters/chunk_demuxer.cc

Issue 2371783002: Remove stl_util's deletion functions from media/. (Closed)
Patch Set: wolenetz Created 4 years, 3 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « media/filters/chunk_demuxer.h ('k') | media/filters/frame_processor.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: media/filters/chunk_demuxer.cc
diff --git a/media/filters/chunk_demuxer.cc b/media/filters/chunk_demuxer.cc
index c50923ccd4e87084913353589b4e7fe9b45cd080..9c3a9d7642ddcd3520e4a118c238b914ebe05575 100644
--- a/media/filters/chunk_demuxer.cc
+++ b/media/filters/chunk_demuxer.cc
@@ -12,8 +12,8 @@
#include "base/callback_helpers.h"
#include "base/location.h"
#include "base/macros.h"
+#include "base/memory/ptr_util.h"
#include "base/metrics/histogram_macros.h"
-#include "base/stl_util.h"
#include "base/strings/string_number_conversions.h"
#include "media/base/audio_decoder_config.h"
#include "media/base/bind_to_current_loop.h"
@@ -621,7 +621,7 @@ ChunkDemuxer::Status ChunkDemuxer::AddId(const std::string& id,
base::Bind(&ChunkDemuxer::OnSourceInitDone, base::Unretained(this), id),
expected_mss_codecs, encrypted_media_init_data_cb_, new_text_track_cb);
- source_state_map_[id] = source_state.release();
+ source_state_map_[id] = std::move(source_state);
return kOk;
}
@@ -638,7 +638,6 @@ void ChunkDemuxer::RemoveId(const std::string& id) {
base::AutoLock auto_lock(lock_);
CHECK(IsValidId(id));
- delete source_state_map_[id];
source_state_map_.erase(id);
pending_source_init_ids_.erase(id);
// Remove demuxer streams created for this id.
@@ -671,7 +670,7 @@ Ranges<TimeDelta> ChunkDemuxer::GetBufferedRanges(const std::string& id) const {
base::AutoLock auto_lock(lock_);
DCHECK(!id.empty());
- MediaSourceStateMap::const_iterator itr = source_state_map_.find(id);
+ auto itr = source_state_map_.find(id);
DCHECK(itr != source_state_map_.end());
return itr->second->GetBufferedRanges(duration_, state_ == ENDED);
@@ -682,7 +681,7 @@ base::TimeDelta ChunkDemuxer::GetHighestPresentationTimestamp(
base::AutoLock auto_lock(lock_);
DCHECK(!id.empty());
- MediaSourceStateMap::const_iterator itr = source_state_map_.find(id);
+ auto itr = source_state_map_.find(id);
DCHECK(itr != source_state_map_.end());
return itr->second->GetHighestPresentationTimestamp();
@@ -757,7 +756,7 @@ bool ChunkDemuxer::EvictCodedFrames(const std::string& id,
DecodeTimestamp::FromPresentationTime(currentMediaTime);
DCHECK(!id.empty());
- MediaSourceStateMap::const_iterator itr = source_state_map_.find(id);
+ auto itr = source_state_map_.find(id);
if (itr == source_state_map_.end()) {
LOG(WARNING) << __func__ << " stream " << id << " not found";
return false;
@@ -924,8 +923,8 @@ void ChunkDemuxer::SetDuration(double duration) {
duration_ = duration_td;
host_->SetDuration(duration_);
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->OnSetDuration(duration_);
}
}
@@ -977,8 +976,8 @@ void ChunkDemuxer::MarkEndOfStream(PipelineStatus status) {
}
bool old_waiting_for_data = IsSeekWaitingForData_Locked();
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->MarkEndOfStream();
}
@@ -1008,8 +1007,8 @@ void ChunkDemuxer::UnmarkEndOfStream() {
ChangeState_Locked(INITIALIZED);
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->UnmarkEndOfStream();
}
}
@@ -1031,8 +1030,8 @@ void ChunkDemuxer::Shutdown() {
void ChunkDemuxer::SetMemoryLimitsForTest(DemuxerStream::Type type,
size_t memory_limit) {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->SetMemoryLimits(type, memory_limit);
}
}
@@ -1046,8 +1045,6 @@ void ChunkDemuxer::ChangeState_Locked(State new_state) {
ChunkDemuxer::~ChunkDemuxer() {
DCHECK_NE(state_, INITIALIZED);
-
- base::STLDeleteValues(&source_state_map_);
}
void ChunkDemuxer::ReportError_Locked(PipelineStatus error) {
@@ -1079,8 +1076,8 @@ void ChunkDemuxer::ReportError_Locked(PipelineStatus error) {
bool ChunkDemuxer::IsSeekWaitingForData_Locked() const {
lock_.AssertAcquired();
- for (MediaSourceStateMap::const_iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
if (itr->second->IsSeekWaitingForData())
return true;
}
@@ -1175,40 +1172,35 @@ ChunkDemuxerStream* ChunkDemuxer::CreateDemuxerStream(
MediaTrack::Id media_track_id = GenerateMediaTrackId();
+ OwnedChunkDemuxerStreamVector* owning_vector = nullptr;
switch (type) {
- case DemuxerStream::AUDIO: {
- std::unique_ptr<ChunkDemuxerStream> audio_stream(new ChunkDemuxerStream(
- DemuxerStream::AUDIO, splice_frames_enabled_, media_track_id));
- DCHECK(track_id_to_demux_stream_map_.find(media_track_id) ==
- track_id_to_demux_stream_map_.end());
- track_id_to_demux_stream_map_[media_track_id] = audio_stream.get();
- id_to_streams_map_[source_id].push_back(audio_stream.get());
- audio_streams_.push_back(std::move(audio_stream));
- return audio_streams_.back().get();
- }
- case DemuxerStream::VIDEO: {
- std::unique_ptr<ChunkDemuxerStream> video_stream(new ChunkDemuxerStream(
- DemuxerStream::VIDEO, splice_frames_enabled_, media_track_id));
- DCHECK(track_id_to_demux_stream_map_.find(media_track_id) ==
- track_id_to_demux_stream_map_.end());
- track_id_to_demux_stream_map_[media_track_id] = video_stream.get();
- id_to_streams_map_[source_id].push_back(video_stream.get());
- video_streams_.push_back(std::move(video_stream));
- return video_streams_.back().get();
- }
- case DemuxerStream::TEXT: {
- ChunkDemuxerStream* text_stream = new ChunkDemuxerStream(
- DemuxerStream::TEXT, splice_frames_enabled_, media_track_id);
- id_to_streams_map_[source_id].push_back(text_stream);
- return text_stream;
- }
+ case DemuxerStream::AUDIO:
+ owning_vector = &audio_streams_;
+ break;
+
+ case DemuxerStream::VIDEO:
+ owning_vector = &video_streams_;
+ break;
+
+ case DemuxerStream::TEXT:
+ owning_vector = &text_streams_;
+ break;
+
case DemuxerStream::UNKNOWN:
case DemuxerStream::NUM_TYPES:
NOTREACHED();
- return NULL;
+ return nullptr;
}
- NOTREACHED();
- return NULL;
+
+ std::unique_ptr<ChunkDemuxerStream> stream =
+ base::MakeUnique<ChunkDemuxerStream>(type, splice_frames_enabled_,
+ media_track_id);
+ DCHECK(track_id_to_demux_stream_map_.find(media_track_id) ==
+ track_id_to_demux_stream_map_.end());
+ track_id_to_demux_stream_map_[media_track_id] = stream.get();
+ id_to_streams_map_[source_id].push_back(stream.get());
+ owning_vector->push_back(std::move(stream));
+ return owning_vector->back().get();
}
void ChunkDemuxer::OnNewTextTrack(ChunkDemuxerStream* text_stream,
@@ -1255,8 +1247,8 @@ void ChunkDemuxer::DecreaseDurationIfNecessary() {
TimeDelta max_duration;
- for (MediaSourceStateMap::const_iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
max_duration = std::max(max_duration,
itr->second->GetMaxBufferedDuration());
}
@@ -1280,8 +1272,8 @@ Ranges<TimeDelta> ChunkDemuxer::GetBufferedRanges_Locked() const {
// TODO(acolwell): When we start allowing SourceBuffers that are not active,
// we'll need to update this loop to only add ranges from active sources.
MediaSourceState::RangesList ranges_list;
- for (MediaSourceStateMap::const_iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
ranges_list.push_back(itr->second->GetBufferedRanges(duration_, ended));
}
@@ -1289,36 +1281,36 @@ Ranges<TimeDelta> ChunkDemuxer::GetBufferedRanges_Locked() const {
}
void ChunkDemuxer::StartReturningData() {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->StartReturningData();
}
}
void ChunkDemuxer::AbortPendingReads_Locked() {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->AbortReads();
}
}
void ChunkDemuxer::SeekAllSources(TimeDelta seek_time) {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->Seek(seek_time);
}
}
void ChunkDemuxer::CompletePendingReadsIfPossible() {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->CompletePendingReadIfPossible();
}
}
void ChunkDemuxer::ShutdownAllStreams() {
- for (MediaSourceStateMap::iterator itr = source_state_map_.begin();
- itr != source_state_map_.end(); ++itr) {
+ for (auto itr = source_state_map_.begin(); itr != source_state_map_.end();
+ ++itr) {
itr->second->Shutdown();
}
}
« no previous file with comments | « media/filters/chunk_demuxer.h ('k') | media/filters/frame_processor.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698