Index: media/filters/frame_processor_base.cc |
diff --git a/media/filters/frame_processor_base.cc b/media/filters/frame_processor_base.cc |
index a1ed8d221e465b38e13867a188352399b8fe3841..9dfad888e13cdf271c4ec4557be77d681f90aad8 100644 |
--- a/media/filters/frame_processor_base.cc |
+++ b/media/filters/frame_processor_base.cc |
@@ -75,6 +75,18 @@ bool FrameProcessorBase::AddTrack(StreamParser::TrackId id, |
return true; |
} |
+bool FrameProcessorBase::UpdateTrack(StreamParser::TrackId old_id, |
+ StreamParser::TrackId new_id) { |
+ DVLOG(2) << __FUNCTION__ << "() : old_id=" << old_id << ", new_id=" << new_id; |
+ |
+ if (old_id == new_id || !FindTrack(old_id) || FindTrack(new_id)) |
+ return false; |
+ |
+ track_buffers_[new_id] = track_buffers_[old_id]; |
+ CHECK_EQ(1u, track_buffers_.erase(old_id)); |
+ return true; |
+} |
+ |
void FrameProcessorBase::Reset() { |
DVLOG(2) << __FUNCTION__ << "()"; |
for (TrackBufferMap::iterator itr = track_buffers_.begin(); |