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

Side by Side Diff: media/mojo/services/mojo_demuxer_stream_adapter.cc

Issue 1935873002: Implement disabling and enabling media tracks (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@track-control2
Patch Set: Updated comments + dchecks in ffmpeg demux stream Created 4 years, 6 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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/mojo/services/mojo_demuxer_stream_adapter.h" 5 #include "media/mojo/services/mojo_demuxer_stream_adapter.h"
6 6
7 #include <stdint.h> 7 #include <stdint.h>
8 #include <utility> 8 #include <utility>
9 9
10 #include "base/bind.h" 10 #include "base/bind.h"
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
63 63
64 bool MojoDemuxerStreamAdapter::SupportsConfigChanges() { 64 bool MojoDemuxerStreamAdapter::SupportsConfigChanges() {
65 return true; 65 return true;
66 } 66 }
67 67
68 VideoRotation MojoDemuxerStreamAdapter::video_rotation() { 68 VideoRotation MojoDemuxerStreamAdapter::video_rotation() {
69 NOTIMPLEMENTED(); 69 NOTIMPLEMENTED();
70 return VIDEO_ROTATION_0; 70 return VIDEO_ROTATION_0;
71 } 71 }
72 72
73 #if DCHECK_IS_ON()
74 void DcheckRemoteEnabledValue(bool local_enabled_value,
75 bool remote_enabled_value) {
76 DCHECK_EQ(local_enabled_value, remote_enabled_value);
77 }
78 #endif
79
80 bool MojoDemuxerStreamAdapter::enabled() const {
81 #if DCHECK_IS_ON()
82 // TODO(servolk): Is it worth waiting for the IPC call roundtrip, when we can
83 // just maintain the current |enabled_| status in here. Would this cause any
84 // problems?
85 demuxer_stream_->enabled(base::Bind(&DcheckRemoteEnabledValue, enabled_));
86 #endif
87 return enabled_;
88 }
89
90 void MojoDemuxerStreamAdapter::set_enabled(bool enabled,
91 base::TimeDelta timestamp) {
92 demuxer_stream_->set_enabled(enabled, timestamp.InMicroseconds());
93 enabled_ = enabled;
94 }
95
73 // TODO(xhwang): Pass liveness here. 96 // TODO(xhwang): Pass liveness here.
74 void MojoDemuxerStreamAdapter::OnStreamReady( 97 void MojoDemuxerStreamAdapter::OnStreamReady(
75 mojom::DemuxerStream::Type type, 98 mojom::DemuxerStream::Type type,
76 mojo::ScopedDataPipeConsumerHandle pipe, 99 mojo::ScopedDataPipeConsumerHandle pipe,
77 mojom::AudioDecoderConfigPtr audio_config, 100 mojom::AudioDecoderConfigPtr audio_config,
78 mojom::VideoDecoderConfigPtr video_config) { 101 mojom::VideoDecoderConfigPtr video_config) {
79 DVLOG(1) << __FUNCTION__; 102 DVLOG(1) << __FUNCTION__;
80 DCHECK(pipe.is_valid()); 103 DCHECK(pipe.is_valid());
81 DCHECK_EQ(DemuxerStream::UNKNOWN, type_); 104 DCHECK_EQ(DemuxerStream::UNKNOWN, type_);
82 105
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
148 case DemuxerStream::VIDEO: 171 case DemuxerStream::VIDEO:
149 DCHECK(video_config && !audio_config); 172 DCHECK(video_config && !audio_config);
150 video_config_ = video_config.To<VideoDecoderConfig>(); 173 video_config_ = video_config.To<VideoDecoderConfig>();
151 break; 174 break;
152 default: 175 default:
153 NOTREACHED(); 176 NOTREACHED();
154 } 177 }
155 } 178 }
156 179
157 } // namespace media 180 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698