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

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

Issue 76483005: Emit Media Source stream type and codecs to chrome://media-internals. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@sort_keys
Patch Set: Created 7 years, 1 month 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
« no previous file with comments | « media/filters/chunk_demuxer.h ('k') | media/filters/stream_parser_factory.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <deque> 8 #include <deque>
9 #include <limits> 9 #include <limits>
10 10
(...skipping 727 matching lines...) Expand 10 before | Expand all | Expand 10 after
738 buffer = StreamParserBuffer::CreateEOSBuffer(); 738 buffer = StreamParserBuffer::CreateEOSBuffer();
739 break; 739 break;
740 } 740 }
741 741
742 base::ResetAndReturn(&read_cb_).Run(status, buffer); 742 base::ResetAndReturn(&read_cb_).Run(status, buffer);
743 } 743 }
744 744
745 ChunkDemuxer::ChunkDemuxer(const base::Closure& open_cb, 745 ChunkDemuxer::ChunkDemuxer(const base::Closure& open_cb,
746 const NeedKeyCB& need_key_cb, 746 const NeedKeyCB& need_key_cb,
747 const AddTextTrackCB& add_text_track_cb, 747 const AddTextTrackCB& add_text_track_cb,
748 const scoped_refptr<MediaLog>& media_log,
748 const LogCB& log_cb) 749 const LogCB& log_cb)
749 : state_(WAITING_FOR_INIT), 750 : state_(WAITING_FOR_INIT),
750 cancel_next_seek_(false), 751 cancel_next_seek_(false),
751 host_(NULL), 752 host_(NULL),
752 open_cb_(open_cb), 753 open_cb_(open_cb),
753 need_key_cb_(need_key_cb), 754 need_key_cb_(need_key_cb),
754 add_text_track_cb_(add_text_track_cb), 755 add_text_track_cb_(add_text_track_cb),
756 media_log_(media_log),
755 log_cb_(log_cb), 757 log_cb_(log_cb),
756 duration_(kNoTimestamp()), 758 duration_(kNoTimestamp()),
757 user_specified_duration_(-1) { 759 user_specified_duration_(-1) {
758 DCHECK(!open_cb_.is_null()); 760 DCHECK(!open_cb_.is_null());
759 DCHECK(!need_key_cb_.is_null()); 761 DCHECK(!need_key_cb_.is_null());
760 } 762 }
761 763
762 void ChunkDemuxer::Initialize(DemuxerHost* host, const PipelineStatusCB& cb) { 764 void ChunkDemuxer::Initialize(DemuxerHost* host, const PipelineStatusCB& cb) {
763 DVLOG(1) << "Init()"; 765 DVLOG(1) << "Init()";
764 766
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
876 const std::string& type, 878 const std::string& type,
877 std::vector<std::string>& codecs) { 879 std::vector<std::string>& codecs) {
878 base::AutoLock auto_lock(lock_); 880 base::AutoLock auto_lock(lock_);
879 881
880 if ((state_ != WAITING_FOR_INIT && state_ != INITIALIZING) || IsValidId(id)) 882 if ((state_ != WAITING_FOR_INIT && state_ != INITIALIZING) || IsValidId(id))
881 return kReachedIdLimit; 883 return kReachedIdLimit;
882 884
883 bool has_audio = false; 885 bool has_audio = false;
884 bool has_video = false; 886 bool has_video = false;
885 scoped_ptr<media::StreamParser> stream_parser( 887 scoped_ptr<media::StreamParser> stream_parser(
886 StreamParserFactory::Create(type, codecs, log_cb_, 888 StreamParserFactory::Create(type, codecs, media_log_, log_cb_,
887 &has_audio, &has_video)); 889 &has_audio, &has_video));
888 890
889 if (!stream_parser) 891 if (!stream_parser)
890 return ChunkDemuxer::kNotSupported; 892 return ChunkDemuxer::kNotSupported;
891 893
892 if ((has_audio && !source_id_audio_.empty()) || 894 if ((has_audio && !source_id_audio_.empty()) ||
893 (has_video && !source_id_video_.empty())) 895 (has_video && !source_id_video_.empty()))
894 return kReachedIdLimit; 896 return kReachedIdLimit;
895 897
896 if (has_audio) 898 if (has_audio)
(...skipping 558 matching lines...) Expand 10 before | Expand all | Expand 10 after
1455 1457
1456 void ChunkDemuxer::CompletePendingReadsIfPossible() { 1458 void ChunkDemuxer::CompletePendingReadsIfPossible() {
1457 if (audio_) 1459 if (audio_)
1458 audio_->CompletePendingReadIfPossible(); 1460 audio_->CompletePendingReadIfPossible();
1459 1461
1460 if (video_) 1462 if (video_)
1461 video_->CompletePendingReadIfPossible(); 1463 video_->CompletePendingReadIfPossible();
1462 } 1464 }
1463 1465
1464 } // namespace media 1466 } // namespace media
OLDNEW
« no previous file with comments | « media/filters/chunk_demuxer.h ('k') | media/filters/stream_parser_factory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698