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

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

Issue 509933002: Oilpan: Move MediaStreamSource, MediaStreamComponent and MediaStreamDescriptor to oilpan's heap Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 3 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 | Annotate | Revision Log
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 15 matching lines...) Expand all
26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 26 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 27 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 28 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 29 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30 */ 30 */
31 31
32 #ifndef MediaStreamComponent_h 32 #ifndef MediaStreamComponent_h
33 #define MediaStreamComponent_h 33 #define MediaStreamComponent_h
34 34
35 #include "platform/audio/AudioSourceProvider.h" 35 #include "platform/audio/AudioSourceProvider.h"
36 #include "platform/heap/Handle.h"
36 #include "wtf/PassOwnPtr.h" 37 #include "wtf/PassOwnPtr.h"
37 #include "wtf/PassRefPtr.h" 38 #include "wtf/PassRefPtr.h"
38 #include "wtf/RefCounted.h"
39 #include "wtf/ThreadingPrimitives.h" 39 #include "wtf/ThreadingPrimitives.h"
40 #include "wtf/text/WTFString.h" 40 #include "wtf/text/WTFString.h"
41 41
42 namespace blink { 42 namespace blink {
43 class WebAudioSourceProvider; 43 class WebAudioSourceProvider;
44 } 44 }
45 45
46 namespace blink { 46 namespace blink {
47 47
48 class MediaStreamDescriptor; 48 class MediaStreamDescriptor;
49 class MediaStreamSource; 49 class MediaStreamSource;
50 50
51 class PLATFORM_EXPORT MediaStreamComponent : public RefCounted<MediaStreamCompon ent> { 51 class PLATFORM_EXPORT MediaStreamComponent FINAL : public GarbageCollectedFinali zed<MediaStreamComponent> {
52 public: 52 public:
53 class ExtraData { 53 class ExtraData {
54 public: 54 public:
55 virtual ~ExtraData() { } 55 virtual ~ExtraData() { }
56 }; 56 };
57 57
58 static PassRefPtr<MediaStreamComponent> create(PassRefPtr<MediaStreamSource> ); 58 static MediaStreamComponent* create(MediaStreamSource*);
59 static PassRefPtr<MediaStreamComponent> create(const String& id, PassRefPtr< MediaStreamSource>); 59 static MediaStreamComponent* create(const String& id, MediaStreamSource*);
60 60
61 MediaStreamSource* source() const { return m_source.get(); } 61 MediaStreamSource* source() const { return m_source.get(); }
62 62
63 String id() const { return m_id; } 63 String id() const { return m_id; }
64 bool enabled() const { return m_enabled; } 64 bool enabled() const { return m_enabled; }
65 void setEnabled(bool enabled) { m_enabled = enabled; } 65 void setEnabled(bool enabled) { m_enabled = enabled; }
66 bool muted() const { return m_muted; } 66 bool muted() const { return m_muted; }
67 67
68 #if ENABLE(WEB_AUDIO) 68 #if ENABLE(WEB_AUDIO)
69 AudioSourceProvider* audioSourceProvider() { return &m_sourceProvider; } 69 AudioSourceProvider* audioSourceProvider() { return &m_sourceProvider; }
70 void setSourceProvider(blink::WebAudioSourceProvider* provider) { m_sourcePr ovider.wrap(provider); } 70 void setSourceProvider(blink::WebAudioSourceProvider* provider) { m_sourcePr ovider.wrap(provider); }
71 #endif // ENABLE(WEB_AUDIO) 71 #endif // ENABLE(WEB_AUDIO)
72 72
73 ExtraData* extraData() const { return m_extraData.get(); } 73 ExtraData* extraData() const { return m_extraData.get(); }
74 void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData ; } 74 void setExtraData(PassOwnPtr<ExtraData> extraData) { m_extraData = extraData ; }
75 75
76 void trace(Visitor*);
77
76 private: 78 private:
77 MediaStreamComponent(const String& id, PassRefPtr<MediaStreamSource>); 79 MediaStreamComponent(const String& id, MediaStreamSource*);
78 80
79 #if ENABLE(WEB_AUDIO) 81 #if ENABLE(WEB_AUDIO)
80 // AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput() 82 // AudioSourceProviderImpl wraps a WebAudioSourceProvider::provideInput()
81 // calls into chromium to get a rendered audio stream. 83 // calls into chromium to get a rendered audio stream.
82 84
83 class PLATFORM_EXPORT AudioSourceProviderImpl FINAL: public AudioSourceProvi der { 85 class PLATFORM_EXPORT AudioSourceProviderImpl FINAL: public AudioSourceProvi der {
84 public: 86 public:
85 AudioSourceProviderImpl() 87 AudioSourceProviderImpl()
86 : m_webAudioSourceProvider(0) 88 : m_webAudioSourceProvider(0)
87 { 89 {
88 } 90 }
89 91
90 virtual ~AudioSourceProviderImpl() { } 92 virtual ~AudioSourceProviderImpl() { }
91 93
92 // Wraps the given blink::WebAudioSourceProvider to blink::AudioSourcePr ovider. 94 // Wraps the given blink::WebAudioSourceProvider to blink::AudioSourcePr ovider.
93 void wrap(blink::WebAudioSourceProvider*); 95 void wrap(blink::WebAudioSourceProvider*);
94 96
95 // blink::AudioSourceProvider 97 // blink::AudioSourceProvider
96 virtual void provideInput(blink::AudioBus*, size_t framesToProcess) OVER RIDE; 98 virtual void provideInput(blink::AudioBus*, size_t framesToProcess) OVER RIDE;
97 99
98 private: 100 private:
99 blink::WebAudioSourceProvider* m_webAudioSourceProvider; 101 blink::WebAudioSourceProvider* m_webAudioSourceProvider;
100 Mutex m_provideInputLock; 102 Mutex m_provideInputLock;
101 }; 103 };
102 104
103 AudioSourceProviderImpl m_sourceProvider; 105 AudioSourceProviderImpl m_sourceProvider;
104 #endif // ENABLE(WEB_AUDIO) 106 #endif // ENABLE(WEB_AUDIO)
105 107
106 RefPtr<MediaStreamSource> m_source; 108 Member<MediaStreamSource> m_source;
107 String m_id; 109 String m_id;
108 bool m_enabled; 110 bool m_enabled;
109 bool m_muted; 111 bool m_muted;
110 OwnPtr<ExtraData> m_extraData; 112 OwnPtr<ExtraData> m_extraData;
111 }; 113 };
112 114
113 typedef Vector<RefPtr<MediaStreamComponent> > MediaStreamComponentVector; 115 typedef HeapVector<Member<MediaStreamComponent> > MediaStreamComponentVector;
114 116
115 } // namespace blink 117 } // namespace blink
116 118
117 #endif // MediaStreamComponent_h 119 #endif // MediaStreamComponent_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698