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

Side by Side Diff: media/filters/chunk_demuxer.cc

Issue 523283002: media: Introduce DemuxerStreamProvider interface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "media/filters/chunk_demuxer.h" 5 #include "media/filters/chunk_demuxer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <limits> 8 #include <limits>
9 #include <list> 9 #include <list>
10 10
(...skipping 1076 matching lines...) Expand 10 before | Expand all | Expand 10 after
1087 1087
1088 if (IsSeekWaitingForData_Locked()) { 1088 if (IsSeekWaitingForData_Locked()) {
1089 DVLOG(1) << "Seek() : waiting for more data to arrive."; 1089 DVLOG(1) << "Seek() : waiting for more data to arrive.";
1090 return; 1090 return;
1091 } 1091 }
1092 1092
1093 base::ResetAndReturn(&seek_cb_).Run(PIPELINE_OK); 1093 base::ResetAndReturn(&seek_cb_).Run(PIPELINE_OK);
1094 } 1094 }
1095 1095
1096 // Demuxer implementation. 1096 // Demuxer implementation.
1097 base::Time ChunkDemuxer::GetTimelineOffset() const {
1098 return timeline_offset_;
1099 }
1100
1097 DemuxerStream* ChunkDemuxer::GetStream(DemuxerStream::Type type) { 1101 DemuxerStream* ChunkDemuxer::GetStream(DemuxerStream::Type type) {
1098 DCHECK_NE(type, DemuxerStream::TEXT); 1102 DCHECK_NE(type, DemuxerStream::TEXT);
1099 base::AutoLock auto_lock(lock_); 1103 base::AutoLock auto_lock(lock_);
1100 if (type == DemuxerStream::VIDEO) 1104 if (type == DemuxerStream::VIDEO)
1101 return video_.get(); 1105 return video_.get();
1102 1106
1103 if (type == DemuxerStream::AUDIO) 1107 if (type == DemuxerStream::AUDIO)
1104 return audio_.get(); 1108 return audio_.get();
1105 1109
1106 return NULL; 1110 return NULL;
1107 } 1111 }
1108 1112
1109 base::Time ChunkDemuxer::GetTimelineOffset() const {
1110 return timeline_offset_;
1111 }
1112
1113 Demuxer::Liveness ChunkDemuxer::GetLiveness() const { 1113 Demuxer::Liveness ChunkDemuxer::GetLiveness() const {
1114 return liveness_; 1114 return liveness_;
1115 } 1115 }
1116 1116
1117 void ChunkDemuxer::StartWaitingForSeek(TimeDelta seek_time) { 1117 void ChunkDemuxer::StartWaitingForSeek(TimeDelta seek_time) {
1118 DVLOG(1) << "StartWaitingForSeek()"; 1118 DVLOG(1) << "StartWaitingForSeek()";
1119 base::AutoLock auto_lock(lock_); 1119 base::AutoLock auto_lock(lock_);
1120 DCHECK(state_ == INITIALIZED || state_ == ENDED || state_ == SHUTDOWN || 1120 DCHECK(state_ == INITIALIZED || state_ == ENDED || state_ == SHUTDOWN ||
1121 state_ == PARSE_ERROR) << state_; 1121 state_ == PARSE_ERROR) << state_;
1122 DCHECK(seek_cb_.is_null()); 1122 DCHECK(seek_cb_.is_null());
(...skipping 630 matching lines...) Expand 10 before | Expand all | Expand 10 after
1753 } 1753 }
1754 1754
1755 void ChunkDemuxer::ShutdownAllStreams() { 1755 void ChunkDemuxer::ShutdownAllStreams() {
1756 for (SourceStateMap::iterator itr = source_state_map_.begin(); 1756 for (SourceStateMap::iterator itr = source_state_map_.begin();
1757 itr != source_state_map_.end(); ++itr) { 1757 itr != source_state_map_.end(); ++itr) {
1758 itr->second->Shutdown(); 1758 itr->second->Shutdown();
1759 } 1759 }
1760 } 1760 }
1761 1761
1762 } // namespace media 1762 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698