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

Side by Side Diff: media/filters/ffmpeg_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/ffmpeg_demuxer.h" 5 #include "media/filters/ffmpeg_demuxer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 9
10 #include "base/base64.h" 10 #include "base/base64.h"
(...skipping 631 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 CHECK(blocking_thread_.Start()); 642 CHECK(blocking_thread_.Start());
643 base::PostTaskAndReplyWithResult( 643 base::PostTaskAndReplyWithResult(
644 blocking_thread_.message_loop_proxy().get(), 644 blocking_thread_.message_loop_proxy().get(),
645 FROM_HERE, 645 FROM_HERE,
646 base::Bind(&FFmpegGlue::OpenContext, base::Unretained(glue_.get())), 646 base::Bind(&FFmpegGlue::OpenContext, base::Unretained(glue_.get())),
647 base::Bind(&FFmpegDemuxer::OnOpenContextDone, 647 base::Bind(&FFmpegDemuxer::OnOpenContextDone,
648 weak_factory_.GetWeakPtr(), 648 weak_factory_.GetWeakPtr(),
649 status_cb)); 649 status_cb));
650 } 650 }
651 651
652 base::Time FFmpegDemuxer::GetTimelineOffset() const {
653 return timeline_offset_;
654 }
655
652 DemuxerStream* FFmpegDemuxer::GetStream(DemuxerStream::Type type) { 656 DemuxerStream* FFmpegDemuxer::GetStream(DemuxerStream::Type type) {
653 DCHECK(task_runner_->BelongsToCurrentThread()); 657 DCHECK(task_runner_->BelongsToCurrentThread());
654 return GetFFmpegStream(type); 658 return GetFFmpegStream(type);
655 } 659 }
656 660
657 FFmpegDemuxerStream* FFmpegDemuxer::GetFFmpegStream( 661 FFmpegDemuxerStream* FFmpegDemuxer::GetFFmpegStream(
658 DemuxerStream::Type type) const { 662 DemuxerStream::Type type) const {
659 StreamVector::const_iterator iter; 663 StreamVector::const_iterator iter;
660 for (iter = streams_.begin(); iter != streams_.end(); ++iter) { 664 for (iter = streams_.begin(); iter != streams_.end(); ++iter) {
661 if (*iter && (*iter)->type() == type) { 665 if (*iter && (*iter)->type() == type) {
662 return *iter; 666 return *iter;
663 } 667 }
664 } 668 }
665 return NULL; 669 return NULL;
666 } 670 }
667 671
668 base::Time FFmpegDemuxer::GetTimelineOffset() const {
669 return timeline_offset_;
670 }
671
672 Demuxer::Liveness FFmpegDemuxer::GetLiveness() const { 672 Demuxer::Liveness FFmpegDemuxer::GetLiveness() const {
673 DCHECK(task_runner_->BelongsToCurrentThread()); 673 DCHECK(task_runner_->BelongsToCurrentThread());
674 return liveness_; 674 return liveness_;
675 } 675 }
676 676
677 void FFmpegDemuxer::AddTextStreams() { 677 void FFmpegDemuxer::AddTextStreams() {
678 DCHECK(task_runner_->BelongsToCurrentThread()); 678 DCHECK(task_runner_->BelongsToCurrentThread());
679 679
680 for (StreamVector::size_type idx = 0; idx < streams_.size(); ++idx) { 680 for (StreamVector::size_type idx = 0; idx < streams_.size(); ++idx) {
681 FFmpegDemuxerStream* stream = streams_[idx]; 681 FFmpegDemuxerStream* stream = streams_[idx];
(...skipping 545 matching lines...) Expand 10 before | Expand all | Expand 10 after
1227 } 1227 }
1228 for (size_t i = 0; i < buffered.size(); ++i) 1228 for (size_t i = 0; i < buffered.size(); ++i)
1229 host_->AddBufferedTimeRange(buffered.start(i), buffered.end(i)); 1229 host_->AddBufferedTimeRange(buffered.start(i), buffered.end(i));
1230 } 1230 }
1231 1231
1232 void FFmpegDemuxer::OnDataSourceError() { 1232 void FFmpegDemuxer::OnDataSourceError() {
1233 host_->OnDemuxerError(PIPELINE_ERROR_READ); 1233 host_->OnDemuxerError(PIPELINE_ERROR_READ);
1234 } 1234 }
1235 1235
1236 } // namespace media 1236 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698