Title: [99004] trunk/Source/WebKit/chromium
Revision
99004
Author
[email protected]
Date
2011-11-01 15:32:33 -0700 (Tue, 01 Nov 2011)

Log Message

[chromium] Media Stream API: Adding supporting classes to WebPeerConnectionHandler
https://bugs.webkit.org/show_bug.cgi?id=71008

Expanding WebMediaStreamDescriptor and adding WebMediaStreamSource

Patch by Tommy Widenflycht <[email protected]> on 2011-11-01
Reviewed by Darin Fisher.

* WebKit.gyp:
* public/WebMediaStreamDescriptor.h:
* public/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/WebMediaStreamDescriptor.h.
(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::~WebMediaStreamSource):
(WebKit::WebMediaStreamSource::isNull):
* src/AssertMatchingEnums.cpp:
* src/WebMediaStreamDescriptor.cpp:
(WebKit::WebMediaStreamDescriptor::operator=):
(WebKit::WebMediaStreamDescriptor::initialize):
* src/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
(WebKit::WebMediaStreamSource::WebMediaStreamSource):
(WebKit::WebMediaStreamSource::reset):
(WebKit::WebMediaStreamSource::operator PassRefPtr<MediaStreamSource>):
(WebKit::WebMediaStreamSource::operator MediaStreamSource*):
(WebKit::WebMediaStreamSource::initialize):
(WebKit::WebMediaStreamSource::id):
(WebKit::WebMediaStreamSource::type):
(WebKit::WebMediaStreamSource::name):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (99003 => 99004)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-11-01 22:32:33 UTC (rev 99004)
@@ -1,3 +1,32 @@
+2011-11-01  Tommy Widenflycht  <[email protected]>
+
+        [chromium] Media Stream API: Adding supporting classes to WebPeerConnectionHandler
+        https://bugs.webkit.org/show_bug.cgi?id=71008
+
+        Expanding WebMediaStreamDescriptor and adding WebMediaStreamSource
+
+        Reviewed by Darin Fisher.
+
+        * WebKit.gyp:
+        * public/WebMediaStreamDescriptor.h:
+        * public/WebMediaStreamSource.h: Copied from Source/WebKit/chromium/public/WebMediaStreamDescriptor.h.
+        (WebKit::WebMediaStreamSource::WebMediaStreamSource):
+        (WebKit::WebMediaStreamSource::~WebMediaStreamSource):
+        (WebKit::WebMediaStreamSource::isNull):
+        * src/AssertMatchingEnums.cpp:
+        * src/WebMediaStreamDescriptor.cpp:
+        (WebKit::WebMediaStreamDescriptor::operator=):
+        (WebKit::WebMediaStreamDescriptor::initialize):
+        * src/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
+        (WebKit::WebMediaStreamSource::WebMediaStreamSource):
+        (WebKit::WebMediaStreamSource::reset):
+        (WebKit::WebMediaStreamSource::operator PassRefPtr<MediaStreamSource>):
+        (WebKit::WebMediaStreamSource::operator MediaStreamSource*):
+        (WebKit::WebMediaStreamSource::initialize):
+        (WebKit::WebMediaStreamSource::id):
+        (WebKit::WebMediaStreamSource::type):
+        (WebKit::WebMediaStreamSource::name):
+
 2011-11-01  Nat Duca  <[email protected]>
 
         CCSchedulerTests fail on Chromium Windows (dbg) after r98915

Modified: trunk/Source/WebKit/chromium/WebKit.gyp (99003 => 99004)


--- trunk/Source/WebKit/chromium/WebKit.gyp	2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/WebKit.gyp	2011-11-01 22:32:33 UTC (rev 99004)
@@ -235,6 +235,7 @@
                 'public/WebMediaPlayerAction.h',
                 'public/WebMediaPlayerClient.h',
                 'public/WebMediaStreamDescriptor.h',
+                'public/WebMediaStreamSource.h',
                 'public/WebMenuItemInfo.h',
                 'public/WebMessagePortChannel.h',
                 'public/WebMessagePortChannelClient.h',
@@ -562,6 +563,7 @@
                 'src/WebMediaPlayerClientImpl.cpp',
                 'src/WebMediaPlayerClientImpl.h',
                 'src/WebMediaStreamDescriptor.cpp',
+                'src/WebMediaStreamSource.cpp',
                 'src/WebNamedNodeMap.cpp',
                 'src/WebNetworkStateNotifier.cpp',
                 'src/WebNode.cpp',

Modified: trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h (99003 => 99004)


--- trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h	2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h	2011-11-01 22:32:33 UTC (rev 99004)
@@ -28,6 +28,7 @@
 #include "WebCommon.h"
 #include "WebNonCopyable.h"
 #include "WebPrivatePtr.h"
+#include "WebVector.h"
 
 namespace WebCore {
 class MediaStreamDescriptor;
@@ -35,16 +36,19 @@
 
 namespace WebKit {
 
+class WebMediaStreamSource;
+class WebString;
+
 class WebMediaStreamDescriptor {
 public:
     WebMediaStreamDescriptor() { }
     ~WebMediaStreamDescriptor() { reset(); }
 
-    WEBKIT_EXPORT void initialize(); // FIXME: Add params.
+    WEBKIT_EXPORT void initialize(const WebString& label, const WebVector<WebMediaStreamSource>&);
     WEBKIT_EXPORT void reset();
     bool isNull() const { return m_private.isNull(); }
 
-    // FIXME: Add functions.
+    WEBKIT_EXPORT WebString label() const;
 
 #if WEBKIT_IMPLEMENTATION
     WebMediaStreamDescriptor(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>&);

Copied: trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h (from rev 99003, trunk/Source/WebKit/chromium/public/WebMediaStreamDescriptor.h) (0 => 99004)


--- trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h	                        (rev 0)
+++ trunk/Source/WebKit/chromium/public/WebMediaStreamSource.h	2011-11-01 22:32:33 UTC (rev 99004)
@@ -0,0 +1,70 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebMediaStreamSource_h
+#define WebMediaStreamSource_h
+
+#include "WebCommon.h"
+#include "WebNonCopyable.h"
+#include "WebPrivatePtr.h"
+
+namespace WebCore {
+class MediaStreamSource;
+}
+
+namespace WebKit {
+
+class WebString;
+
+class WebMediaStreamSource {
+public:
+    enum Type {
+        TypeAudio,
+        TypeVideo
+    };
+
+    WebMediaStreamSource() { }
+    ~WebMediaStreamSource() { reset(); }
+
+    WEBKIT_EXPORT void initialize(const WebString& id, Type, const WebString& name);
+    WEBKIT_EXPORT void reset();
+    bool isNull() const { return m_private.isNull(); }
+
+    WEBKIT_EXPORT WebString id() const;
+    WEBKIT_EXPORT Type type() const;
+    WEBKIT_EXPORT WebString name() const;
+
+#if WEBKIT_IMPLEMENTATION
+    WebMediaStreamSource(const WTF::PassRefPtr<WebCore::MediaStreamSource>&);
+    operator WTF::PassRefPtr<WebCore::MediaStreamSource>() const;
+    operator WebCore::MediaStreamSource*() const;
+#endif
+
+private:
+    WebPrivatePtr<WebCore::MediaStreamSource> m_private;
+};
+
+} // namespace WebKit
+
+#endif // WebMediaStreamSource_h

Modified: trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp (99003 => 99004)


--- trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/src/AssertMatchingEnums.cpp	2011-11-01 22:32:33 UTC (rev 99004)
@@ -50,6 +50,7 @@
 #include "IDBFactoryBackendInterface.h"
 #include "IDBKey.h"
 #include "MediaPlayer.h"
+#include "MediaStreamSource.h"
 #include "NotificationPresenter.h"
 #include "PageVisibilityState.h"
 #include "PasteboardPrivate.h"
@@ -78,6 +79,7 @@
 #include "WebIconURL.h"
 #include "WebInputElement.h"
 #include "WebMediaPlayer.h"
+#include "WebMediaStreamSource.h"
 #include "WebNotificationPresenter.h"
 #include "WebPageVisibilityState.h"
 #include "WebScrollbar.h"
@@ -459,3 +461,8 @@
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateVisible, PageVisibilityStateVisible);
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStateHidden, PageVisibilityStateHidden);
 COMPILE_ASSERT_MATCHING_ENUM(WebPageVisibilityStatePrerender, PageVisibilityStatePrerender);
+
+#if ENABLE(MEDIA_STREAM)
+COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::TypeAudio, MediaStreamSource::TypeAudio);
+COMPILE_ASSERT_MATCHING_ENUM(WebMediaStreamSource::TypeVideo, MediaStreamSource::TypeVideo);
+#endif

Modified: trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp (99003 => 99004)


--- trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp	2011-11-01 22:12:30 UTC (rev 99003)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp	2011-11-01 22:32:33 UTC (rev 99004)
@@ -29,11 +29,16 @@
 #include "WebMediaStreamDescriptor.h"
 
 #include "MediaStreamDescriptor.h"
+#include "MediaStreamSource.h"
+#include "WebMediaStreamSource.h"
 #include "WebString.h"
+#include <wtf/Vector.h>
 
+using namespace WebCore;
+
 namespace WebKit {
 
-WebMediaStreamDescriptor::WebMediaStreamDescriptor(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
+WebMediaStreamDescriptor::WebMediaStreamDescriptor(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
     : m_private(mediaStreamDescriptor)
 {
 }
@@ -43,13 +48,13 @@
     m_private.reset();
 }
 
-WebMediaStreamDescriptor& WebMediaStreamDescriptor::operator=(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
+WebMediaStreamDescriptor& WebMediaStreamDescriptor::operator=(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
 {
     m_private = mediaStreamDescriptor;
     return *this;
 }
 
-WebMediaStreamDescriptor::operator WTF::PassRefPtr<WebCore::MediaStreamDescriptor>() const
+WebMediaStreamDescriptor::operator PassRefPtr<WebCore::MediaStreamDescriptor>() const
 {
     return m_private.get();
 }
@@ -59,6 +64,16 @@
     return m_private.get();
 }
 
+void WebMediaStreamDescriptor::initialize(const WebString& label, const WebVector<WebMediaStreamSource>& sources)
+{
+    MediaStreamSourceVector s;
+    for (size_t i = 0; i < sources.size(); ++i) {
+        MediaStreamSource* curr = sources[i];
+        s.append(curr);
+    }
+    m_private = MediaStreamDescriptor::create(label, s);
+}
+
 } // namespace WebKit
 
 #endif // ENABLE(MEDIA_STREAM)

Copied: trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp (from rev 99003, trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp) (0 => 99004)


--- trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp	                        (rev 0)
+++ trunk/Source/WebKit/chromium/src/WebMediaStreamSource.cpp	2011-11-01 22:32:33 UTC (rev 99004)
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2011 Google Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1.  Redistributions of source code must retain the above copyright
+ *     notice, this list of conditions and the following disclaimer.
+ * 2.  Redistributions in binary form must reproduce the above copyright
+ *     notice, this list of conditions and the following disclaimer in the
+ *     documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS'' AND ANY
+ * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+ * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+ * DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS BE LIABLE FOR ANY
+ * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+ * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+ * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
+ * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "config.h"
+
+#if ENABLE(MEDIA_STREAM)
+
+#include "WebMediaStreamSource.h"
+
+#include "MediaStreamSource.h"
+#include "WebString.h"
+#include <wtf/Vector.h>
+
+using namespace WebCore;
+
+namespace WebKit {
+
+WebMediaStreamSource::WebMediaStreamSource(const PassRefPtr<MediaStreamSource>& mediaStreamSource)
+    : m_private(mediaStreamSource)
+{
+}
+
+void WebMediaStreamSource::reset()
+{
+    m_private.reset();
+}
+
+WebMediaStreamSource::operator PassRefPtr<MediaStreamSource>() const
+{
+    return m_private.get();
+}
+
+WebMediaStreamSource::operator MediaStreamSource*() const
+{
+    return m_private.get();
+}
+
+void WebMediaStreamSource::initialize(const WebString& id, Type type, const WebString& name)
+{
+    m_private = MediaStreamSource::create(id, static_cast<MediaStreamSource::Type>(type), name);
+}
+
+WebString WebMediaStreamSource::id() const
+{
+    ASSERT(!m_private.isNull());
+    return m_private.get()->id();
+}
+
+WebMediaStreamSource::Type WebMediaStreamSource::type() const
+{
+    ASSERT(!m_private.isNull());
+    return static_cast<Type>(m_private.get()->type());
+}
+
+WebString WebMediaStreamSource::name() const
+{
+    ASSERT(!m_private.isNull());
+    return m_private.get()->name();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(MEDIA_STREAM)
+
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to