Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / WebKit / Source / platform / mediastream / MediaStreamSource.h
index cc24cdc..3615daf 100644 (file)
@@ -44,7 +44,7 @@
 
 namespace blink {
 
-class PLATFORM_EXPORT MediaStreamSource FINAL : public RefCounted<MediaStreamSource> {
+class PLATFORM_EXPORT MediaStreamSource final : public RefCounted<MediaStreamSource> {
 public:
     class Observer {
     public:
@@ -68,11 +68,13 @@ public:
         ReadyStateEnded = 2
     };
 
-    static PassRefPtr<MediaStreamSource> create(const String& id, Type, const String& name, ReadyState = ReadyStateLive, bool requiresConsumer = false);
+    static PassRefPtr<MediaStreamSource> create(const String& id, Type, const String& name, bool remote, bool readonly, ReadyState = ReadyStateLive, bool requiresConsumer = false);
 
     const String& id() const { return m_id; }
     Type type() const { return m_type; }
     const String& name() const { return m_name; }
+    bool remote() const { return m_remote; }
+    bool readonly() const { return m_readonly; }
 
     void setReadyState(ReadyState);
     ReadyState readyState() const { return m_readyState; }
@@ -83,30 +85,32 @@ public:
     ExtraData* extraData() const { return m_extraData.get(); }
     void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData; }
 
-    void setConstraints(blink::WebMediaConstraints constraints) { m_constraints = constraints; }
-    blink::WebMediaConstraints constraints() { return m_constraints; }
+    void setConstraints(WebMediaConstraints constraints) { m_constraints = constraints; }
+    WebMediaConstraints constraints() { return m_constraints; }
 
     void setAudioFormat(size_t numberOfChannels, float sampleRate);
     void consumeAudio(AudioBus*, size_t numberOfFrames);
 
     bool requiresAudioConsumer() const { return m_requiresConsumer; }
-    void addAudioConsumer(PassRefPtr<AudioDestinationConsumer>);
+    void addAudioConsumer(AudioDestinationConsumer*);
     bool removeAudioConsumer(AudioDestinationConsumer*);
-    const Vector<RefPtr<AudioDestinationConsumer> >& audioConsumers() { return m_audioConsumers; }
+    const HeapHashSet<Member<AudioDestinationConsumer> >& audioConsumers() { return m_audioConsumers; }
 
 private:
-    MediaStreamSource(const String& id, Type, const String& name, ReadyState, bool requiresConsumer);
+    MediaStreamSource(const String& id, Type, const String& name, bool remote, bool readonly, ReadyState, bool requiresConsumer);
 
     String m_id;
     Type m_type;
     String m_name;
+    bool m_remote;
+    bool m_readonly;
     ReadyState m_readyState;
     bool m_requiresConsumer;
     Vector<Observer*> m_observers;
     Mutex m_audioConsumersLock;
-    Vector<RefPtr<AudioDestinationConsumer> > m_audioConsumers;
+    PersistentHeapHashSet<Member<AudioDestinationConsumer> > m_audioConsumers;
     OwnPtr<ExtraData> m_extraData;
-    blink::WebMediaConstraints m_constraints;
+    WebMediaConstraints m_constraints;
 };
 
 typedef Vector<RefPtr<MediaStreamSource> > MediaStreamSourceVector;