Title: [110937] trunk/Source/WebCore
Revision
110937
Author
tom...@google.com
Date
2012-03-15 20:45:29 -0700 (Thu, 15 Mar 2012)

Log Message

MediaStream API (JSEP): Introducing MediaHints and IceOptions
https://bugs.webkit.org/show_bug.cgi?id=81207

Reviewed by Adam Barth.

Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
see bug 80589 for more information.
Introducing the platform MediaHints and IceOptions helper classes.

Not possible to test until the entire JSEP feature is commited.

* GNUmakefile.list.am:
* WebCore.gypi:
* platform/mediastream/IceOptions.cpp: Added.
(WebCore):
(WebCore::IceOptions::create):
* platform/mediastream/IceOptions.h: Added.
(WebCore):
(IceOptions):
(WebCore::IceOptions::~IceOptions):
(WebCore::IceOptions::useCandidates):
(WebCore::IceOptions::IceOptions):
* platform/mediastream/MediaHints.cpp: Added.
(WebCore):
(WebCore::MediaHints::create):
(WebCore::MediaHints::audio):
(WebCore::MediaHints::video):
* platform/mediastream/MediaHints.h: Added.
(WebCore):
(MediaHints):
(WebCore::MediaHints::~MediaHints):
(WebCore::MediaHints::MediaHints):

Modified Paths

Added Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (110936 => 110937)


--- trunk/Source/WebCore/ChangeLog	2012-03-16 03:39:18 UTC (rev 110936)
+++ trunk/Source/WebCore/ChangeLog	2012-03-16 03:45:29 UTC (rev 110937)
@@ -1,3 +1,38 @@
+2012-03-15  Tommy Widenflycht  <tom...@google.com>
+
+        MediaStream API (JSEP): Introducing MediaHints and IceOptions
+        https://bugs.webkit.org/show_bug.cgi?id=81207
+
+        Reviewed by Adam Barth.
+
+        Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
+        see bug 80589 for more information.
+        Introducing the platform MediaHints and IceOptions helper classes.
+
+        Not possible to test until the entire JSEP feature is commited.
+
+        * GNUmakefile.list.am:
+        * WebCore.gypi:
+        * platform/mediastream/IceOptions.cpp: Added.
+        (WebCore):
+        (WebCore::IceOptions::create):
+        * platform/mediastream/IceOptions.h: Added.
+        (WebCore):
+        (IceOptions):
+        (WebCore::IceOptions::~IceOptions):
+        (WebCore::IceOptions::useCandidates):
+        (WebCore::IceOptions::IceOptions):
+        * platform/mediastream/MediaHints.cpp: Added.
+        (WebCore):
+        (WebCore::MediaHints::create):
+        (WebCore::MediaHints::audio):
+        (WebCore::MediaHints::video):
+        * platform/mediastream/MediaHints.h: Added.
+        (WebCore):
+        (MediaHints):
+        (WebCore::MediaHints::~MediaHints):
+        (WebCore::MediaHints::MediaHints):
+
 2012-03-15  Shinya Kawanaka  <shin...@chromium.org>
 
         [Crash] Adding <content> into a ShadowRoot causes crash.

Modified: trunk/Source/WebCore/GNUmakefile.list.am (110936 => 110937)


--- trunk/Source/WebCore/GNUmakefile.list.am	2012-03-16 03:39:18 UTC (rev 110936)
+++ trunk/Source/WebCore/GNUmakefile.list.am	2012-03-16 03:45:29 UTC (rev 110937)
@@ -3330,6 +3330,10 @@
 	Source/WebCore/platform/mediastream/DeprecatedPeerConnectionHandlerClient.h \
 	Source/WebCore/platform/mediastream/IceCandidateDescriptor.cpp \
 	Source/WebCore/platform/mediastream/IceCandidateDescriptor.h \
+	Source/WebCore/platform/mediastream/IceOptions.cpp \
+	Source/WebCore/platform/mediastream/IceOptions.h \
+	Source/WebCore/platform/mediastream/MediaHints.cpp \
+	Source/WebCore/platform/mediastream/MediaHints.h \
 	Source/WebCore/platform/mediastream/MediaStreamCenter.cpp \
 	Source/WebCore/platform/mediastream/MediaStreamCenter.h \
 	Source/WebCore/platform/mediastream/MediaStreamComponent.h \

Modified: trunk/Source/WebCore/WebCore.gypi (110936 => 110937)


--- trunk/Source/WebCore/WebCore.gypi	2012-03-16 03:39:18 UTC (rev 110936)
+++ trunk/Source/WebCore/WebCore.gypi	2012-03-16 03:45:29 UTC (rev 110937)
@@ -420,6 +420,10 @@
             'platform/mediastream/DeprecatedPeerConnectionHandlerClient.h',
             'platform/mediastream/IceCandidateDescriptor.cpp',
             'platform/mediastream/IceCandidateDescriptor.h',
+            'platform/mediastream/IceOptions.cpp',
+            'platform/mediastream/IceOptions.h',
+            'platform/mediastream/MediaHints.cpp',
+            'platform/mediastream/MediaHints.h',
             'platform/mediastream/MediaStreamCenter.cpp',
             'platform/mediastream/MediaStreamCenter.h',
             'platform/mediastream/MediaStreamComponent.h',

Added: trunk/Source/WebCore/platform/mediastream/IceOptions.cpp (0 => 110937)


--- trunk/Source/WebCore/platform/mediastream/IceOptions.cpp	                        (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/IceOptions.cpp	2012-03-16 03:45:29 UTC (rev 110937)
@@ -0,0 +1,46 @@
+/*
+ * Copyright (C) 2012 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.
+ * 3. Neither the name of Google Inc. nor the names of its contributors
+ *    may be used to endorse or promote products derived from this
+ *    software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 "IceOptions.h"
+
+namespace WebCore {
+
+PassRefPtr<IceOptions> IceOptions::create(UseCandidatesOption useCandidates)
+{
+    return adoptRef(new IceOptions(useCandidates));
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)

Added: trunk/Source/WebCore/platform/mediastream/IceOptions.h (0 => 110937)


--- trunk/Source/WebCore/platform/mediastream/IceOptions.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/IceOptions.h	2012-03-16 03:45:29 UTC (rev 110937)
@@ -0,0 +1,64 @@
+/*
+ * Copyright (C) 2012 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.
+ * 3. Neither the name of Google Inc. nor the names of its contributors
+ *    may be used to endorse or promote products derived from this
+ *    software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 IceOptions_h
+#define IceOptions_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class IceOptions : public RefCounted<IceOptions> {
+public:
+    enum UseCandidatesOption {
+        ALL,
+        NO_RELAY,
+        ONLY_RELAY,
+    };
+
+    static PassRefPtr<IceOptions> create(UseCandidatesOption);
+    virtual ~IceOptions() { }
+
+    UseCandidatesOption useCandidates() { return m_useCandidates; }
+
+ private:
+    IceOptions(UseCandidatesOption useCandidates) : m_useCandidates(useCandidates) { }
+
+    UseCandidatesOption m_useCandidates;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // IceOptions_h

Added: trunk/Source/WebCore/platform/mediastream/MediaHints.cpp (0 => 110937)


--- trunk/Source/WebCore/platform/mediastream/MediaHints.cpp	                        (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/MediaHints.cpp	2012-03-16 03:45:29 UTC (rev 110937)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2012 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.
+ * 3. Neither the name of Google Inc. nor the names of its contributors
+ *    may be used to endorse or promote products derived from this
+ *    software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 "MediaHints.h"
+
+namespace WebCore {
+
+PassRefPtr<MediaHints> MediaHints::create(bool audio, bool video)
+{
+    return adoptRef(new MediaHints(audio, video));
+}
+
+bool MediaHints::audio()
+{
+    return m_audio;
+}
+
+bool MediaHints::video()
+{
+    return m_video;
+}
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)

Added: trunk/Source/WebCore/platform/mediastream/MediaHints.h (0 => 110937)


--- trunk/Source/WebCore/platform/mediastream/MediaHints.h	                        (rev 0)
+++ trunk/Source/WebCore/platform/mediastream/MediaHints.h	2012-03-16 03:45:29 UTC (rev 110937)
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2012 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.
+ * 3. Neither the name of Google Inc. nor the names of its contributors
+ *    may be used to endorse or promote products derived from this
+ *    software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND 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 THE COPYRIGHT
+ * OWNER OR 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 MediaHints_h
+#define MediaHints_h
+
+#if ENABLE(MEDIA_STREAM)
+
+#include <wtf/PassRefPtr.h>
+#include <wtf/RefCounted.h>
+
+namespace WebCore {
+
+class MediaHints : public RefCounted<MediaHints> {
+public:
+    static PassRefPtr<MediaHints> create(bool audio, bool video);
+    virtual ~MediaHints() { }
+
+    bool audio();
+    bool video();
+
+ private:
+    MediaHints(bool audio, bool video) : m_audio(audio), m_video(video) { }
+
+    bool m_audio;
+    bool m_video;
+};
+
+} // namespace WebCore
+
+#endif // ENABLE(MEDIA_STREAM)
+
+#endif // MediaHints_h
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to