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

Side by Side Diff: third_party/WebKit/Source/platform/mediastream/MediaStreamComponent.h

Issue 2501623003: Implement MediaStreamTrack contentHint skeleton. (Closed)
Patch Set: ContentHint -> ContentHintType Created 4 years 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 /* 1 /*
2 * Copyright (C) 2011 Ericsson AB. All rights reserved. 2 * Copyright (C) 2011 Ericsson AB. All rights reserved.
3 * Copyright (C) 2013 Google Inc. All rights reserved. 3 * Copyright (C) 2013 Google Inc. All rights reserved.
4 * 4 *
5 * Redistribution and use in source and binary forms, with or without 5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions 6 * modification, are permitted provided that the following conditions
7 * are met: 7 * are met:
8 * 8 *
9 * 1. Redistributions of source code must retain the above copyright 9 * 1. Redistributions of source code must retain the above copyright
10 * notice, this list of conditions and the following disclaimer. 10 * notice, this list of conditions and the following disclaimer.
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 // So this class runs pre-finalizer to finalize |m_trackData| promptly. 73 // So this class runs pre-finalizer to finalize |m_trackData| promptly.
74 void dispose(); 74 void dispose();
75 75
76 MediaStreamSource* source() const { return m_source.get(); } 76 MediaStreamSource* source() const { return m_source.get(); }
77 77
78 String id() const { return m_id; } 78 String id() const { return m_id; }
79 bool enabled() const { return m_enabled; } 79 bool enabled() const { return m_enabled; }
80 void setEnabled(bool enabled) { m_enabled = enabled; } 80 void setEnabled(bool enabled) { m_enabled = enabled; }
81 bool muted() const { return m_muted; } 81 bool muted() const { return m_muted; }
82 void setMuted(bool muted) { m_muted = muted; } 82 void setMuted(bool muted) { m_muted = muted; }
83 WebMediaStreamTrack::ContentHintType contentHint() { return m_contentHint; }
84 void setContentHint(WebMediaStreamTrack::ContentHintType);
83 AudioSourceProvider* getAudioSourceProvider() { return &m_sourceProvider; } 85 AudioSourceProvider* getAudioSourceProvider() { return &m_sourceProvider; }
84 void setSourceProvider(WebAudioSourceProvider* provider) { 86 void setSourceProvider(WebAudioSourceProvider* provider) {
85 m_sourceProvider.wrap(provider); 87 m_sourceProvider.wrap(provider);
86 } 88 }
87 89
88 TrackData* getTrackData() const { return m_trackData.get(); } 90 TrackData* getTrackData() const { return m_trackData.get(); }
89 void setTrackData(std::unique_ptr<TrackData> trackData) { 91 void setTrackData(std::unique_ptr<TrackData> trackData) {
90 m_trackData = std::move(trackData); 92 m_trackData = std::move(trackData);
91 } 93 }
92 void getSettings(WebMediaStreamTrack::Settings&); 94 void getSettings(WebMediaStreamTrack::Settings&);
93 95
94 DECLARE_TRACE(); 96 DECLARE_TRACE();
95 97
96 private: 98 private:
97 MediaStreamComponent(const String& id, MediaStreamSource*); 99 MediaStreamComponent(const String& id, MediaStreamSource*);
98 MediaStreamComponent(const String& id, 100 MediaStreamComponent(const String& id,
99 MediaStreamSource*, 101 MediaStreamSource*,
100 bool enabled, 102 bool enabled,
101 bool muted); 103 bool muted,
104 WebMediaStreamTrack::ContentHintType);
102 105
103 // AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput() 106 // AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput()
104 // calls into chromium to get a rendered audio stream. 107 // calls into chromium to get a rendered audio stream.
105 108
106 class PLATFORM_EXPORT AudioSourceProviderImpl final 109 class PLATFORM_EXPORT AudioSourceProviderImpl final
107 : public AudioSourceProvider { 110 : public AudioSourceProvider {
108 public: 111 public:
109 AudioSourceProviderImpl() : m_webAudioSourceProvider(0) {} 112 AudioSourceProviderImpl() : m_webAudioSourceProvider(0) {}
110 113
111 ~AudioSourceProviderImpl() override {} 114 ~AudioSourceProviderImpl() override {}
112 115
113 // Wraps the given blink::WebAudioSourceProvider to 116 // Wraps the given blink::WebAudioSourceProvider to
114 // blink::AudioSourceProvider. 117 // blink::AudioSourceProvider.
115 void wrap(WebAudioSourceProvider*); 118 void wrap(WebAudioSourceProvider*);
116 119
117 // blink::AudioSourceProvider 120 // blink::AudioSourceProvider
118 void provideInput(AudioBus*, size_t framesToProcess) override; 121 void provideInput(AudioBus*, size_t framesToProcess) override;
119 122
120 private: 123 private:
121 WebAudioSourceProvider* m_webAudioSourceProvider; 124 WebAudioSourceProvider* m_webAudioSourceProvider;
122 Mutex m_provideInputLock; 125 Mutex m_provideInputLock;
123 }; 126 };
124 127
125 AudioSourceProviderImpl m_sourceProvider; 128 AudioSourceProviderImpl m_sourceProvider;
126 Member<MediaStreamSource> m_source; 129 Member<MediaStreamSource> m_source;
127 String m_id; 130 String m_id;
128 bool m_enabled; 131 bool m_enabled;
129 bool m_muted; 132 bool m_muted;
133 WebMediaStreamTrack::ContentHintType m_contentHint;
130 std::unique_ptr<TrackData> m_trackData; 134 std::unique_ptr<TrackData> m_trackData;
131 }; 135 };
132 136
133 typedef HeapVector<Member<MediaStreamComponent>> MediaStreamComponentVector; 137 typedef HeapVector<Member<MediaStreamComponent>> MediaStreamComponentVector;
134 138
135 } // namespace blink 139 } // namespace blink
136 140
137 #endif // MediaStreamComponent_h 141 #endif // MediaStreamComponent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698