OLD | NEW |
1 /* | 1 /* |
2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. | 2 * Copyright 2012 The WebRTC project authors. All Rights Reserved. |
3 * | 3 * |
4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
9 */ | 9 */ |
10 | 10 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
85 }; | 85 }; |
86 | 86 |
87 static const char kAudioKind[]; | 87 static const char kAudioKind[]; |
88 static const char kVideoKind[]; | 88 static const char kVideoKind[]; |
89 | 89 |
90 virtual std::string kind() const = 0; | 90 virtual std::string kind() const = 0; |
91 virtual std::string id() const = 0; | 91 virtual std::string id() const = 0; |
92 virtual bool enabled() const = 0; | 92 virtual bool enabled() const = 0; |
93 virtual TrackState state() const = 0; | 93 virtual TrackState state() const = 0; |
94 virtual bool set_enabled(bool enable) = 0; | 94 virtual bool set_enabled(bool enable) = 0; |
95 // These methods should be called by implementation only. | |
96 virtual bool set_state(TrackState new_state) = 0; | |
97 | 95 |
98 protected: | 96 protected: |
99 virtual ~MediaStreamTrackInterface() {} | 97 virtual ~MediaStreamTrackInterface() {} |
100 }; | 98 }; |
101 | 99 |
102 // VideoTrackSourceInterface is a reference counted source used for VideoTracks. | 100 // VideoTrackSourceInterface is a reference counted source used for VideoTracks. |
103 // The same source can be used in multiple VideoTracks. | 101 // The same source can be used in multiple VideoTracks. |
104 class VideoTrackSourceInterface | 102 class VideoTrackSourceInterface |
105 : public MediaSourceInterface, | 103 : public MediaSourceInterface, |
106 public rtc::VideoSourceInterface<cricket::VideoFrame> { | 104 public rtc::VideoSourceInterface<cricket::VideoFrame> { |
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
265 virtual bool RemoveTrack(AudioTrackInterface* track) = 0; | 263 virtual bool RemoveTrack(AudioTrackInterface* track) = 0; |
266 virtual bool RemoveTrack(VideoTrackInterface* track) = 0; | 264 virtual bool RemoveTrack(VideoTrackInterface* track) = 0; |
267 | 265 |
268 protected: | 266 protected: |
269 virtual ~MediaStreamInterface() {} | 267 virtual ~MediaStreamInterface() {} |
270 }; | 268 }; |
271 | 269 |
272 } // namespace webrtc | 270 } // namespace webrtc |
273 | 271 |
274 #endif // WEBRTC_API_MEDIASTREAMINTERFACE_H_ | 272 #endif // WEBRTC_API_MEDIASTREAMINTERFACE_H_ |
OLD | NEW |