Changeset 106581 in webkit


Ignore:
Timestamp:
Feb 2, 2012 12:53:58 PM (12 years ago)
Author:
tommyw@google.com
Message:

[chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
https://bugs.webkit.org/show_bug.cgi?id=73130

Reviewed by Darin Fisher.

Source/WebCore:

Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.

  • mediastream/UserMediaClient.h:

(UserMediaClient):

  • mediastream/UserMediaRequest.cpp:

(WebCore::UserMediaRequest::didCompleteQuery):

  • mediastream/UserMediaRequest.h:

(UserMediaRequest):
(WebCore::UserMediaRequest::audio):
(WebCore::UserMediaRequest::video):
(WebCore::UserMediaRequest::cameraPreferenceUser):
(WebCore::UserMediaRequest::cameraPreferenceEnvironment):

  • platform/mediastream/MediaStreamCenter.cpp:

(WebCore):
(WebCore::MediaStreamCenter::queryMediaStreamSources):

  • platform/mediastream/MediaStreamCenter.h:

(WebCore):
(MediaStreamSourcesQueryClient):
(MediaStreamCenter):

Source/WebKit/chromium:

  • WebKit.gyp:
  • bridge/MediaStreamCenter.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebCore):
(WebCore::MediaStreamCenter::MediaStreamCenter):
(WebCore::MediaStreamCenter::~MediaStreamCenter):
(WebCore::MediaStreamCenter::queryMediaStreamSources):
(WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenter::didStopLocalMediaStream):
(WebCore::MediaStreamCenter::didConstructMediaStream):

  • bridge/MediaStreamCenterInternal.cpp: Added.

(WebCore):
(WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
(WebCore::MediaStreamCenterInternal::~MediaStreamCenterInternal):
(WebCore::MediaStreamCenterInternal::queryMediaStreamSources):
(WebCore::MediaStreamCenterInternal::didSetMediaStreamTrackEnabled):
(WebCore::MediaStreamCenterInternal::didStopLocalMediaStream):
(WebCore::MediaStreamCenterInternal::didConstructMediaStream):
(WebCore::MediaStreamCenterInternal::stopLocalMediaStream):

  • bridge/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebKit):
(WebCore):
(MediaStreamCenterInternal):

  • public/platform/WebKitPlatformSupport.h:

(WebKit):
(WebKit::WebKitPlatformSupport::createMediaStreamCenter):

  • public/platform/WebMediaStreamCenter.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebKit):
(WebMediaStreamCenter):
(WebKit::WebMediaStreamCenter::~WebMediaStreamCenter):

  • public/platform/WebMediaStreamCenterClient.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebKit):
(WebMediaStreamCenterClient):
(WebKit::WebMediaStreamCenterClient::~WebMediaStreamCenterClient):

  • public/platform/WebMediaStreamComponent.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebCore):
(WebKit):
(WebMediaStreamComponent):
(WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
(WebKit::WebMediaStreamComponent::~WebMediaStreamComponent):
(WebKit::WebMediaStreamComponent::isNull):

  • public/platform/WebMediaStreamDescriptor.h:

(WebKit):
(WebMediaStreamDescriptor):

  • public/platform/WebMediaStreamSourcesRequest.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebCore):
(WebKit):
(WebMediaStreamSourcesRequest):
(WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
(WebKit::WebMediaStreamSourcesRequest::~WebMediaStreamSourcesRequest):
(WebKit::WebMediaStreamSourcesRequest::isNull):

  • src/UserMediaClientImpl.h:

(UserMediaClientImpl):

  • src/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebKit):
(WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
(WebKit::WebMediaStreamComponent::operator=):
(WebKit::WebMediaStreamComponent::reset):
(WebKit::WebMediaStreamComponent::operator PassRefPtr<MediaStreamComponent>):
(WebKit::WebMediaStreamComponent::operator MediaStreamComponent*):
(WebKit::WebMediaStreamComponent::isEnabled):
(WebKit::WebMediaStreamComponent::source):

  • src/WebMediaStreamDescriptor.cpp:

(WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
(WebKit):
(WebKit::WebMediaStreamDescriptor::audioSources):
(WebKit::WebMediaStreamDescriptor::videoSources):

  • src/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.

(WebKit):
(WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
(WebKit::WebMediaStreamSourcesRequest::reset):
(WebKit::WebMediaStreamSourcesRequest::audio):
(WebKit::WebMediaStreamSourcesRequest::video):
(WebKit::WebMediaStreamSourcesRequest::didCompleteQuery):

Location:
trunk/Source
Files:
1 added
12 edited
8 copied

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r106580 r106581  
     12012-02-02  Tommy Widenflycht  <tommyw@google.com>
     2
     3        [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
     4        https://bugs.webkit.org/show_bug.cgi?id=73130
     5
     6        Reviewed by Darin Fisher.
     7
     8        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
     9
     10        * mediastream/UserMediaClient.h:
     11        (UserMediaClient):
     12        * mediastream/UserMediaRequest.cpp:
     13        (WebCore::UserMediaRequest::didCompleteQuery):
     14        * mediastream/UserMediaRequest.h:
     15        (UserMediaRequest):
     16        (WebCore::UserMediaRequest::audio):
     17        (WebCore::UserMediaRequest::video):
     18        (WebCore::UserMediaRequest::cameraPreferenceUser):
     19        (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
     20        * platform/mediastream/MediaStreamCenter.cpp:
     21        (WebCore):
     22        (WebCore::MediaStreamCenter::queryMediaStreamSources):
     23        * platform/mediastream/MediaStreamCenter.h:
     24        (WebCore):
     25        (MediaStreamSourcesQueryClient):
     26        (MediaStreamCenter):
     27
    1282012-02-02  Raymond Toy  <rtoy@google.com>
    229
  • trunk/Source/WebCore/mediastream/UserMediaClient.h

    r105774 r106581  
    4343    virtual void pageDestroyed() = 0;
    4444
    45     virtual void requestUserMedia(PassRefPtr<UserMediaRequest>, const MediaStreamSourceVector&,  const MediaStreamSourceVector&) = 0;
     45    virtual void requestUserMedia(PassRefPtr<UserMediaRequest>, const MediaStreamSourceVector& audioSources,  const MediaStreamSourceVector& videoSources) = 0;
    4646    virtual void cancelUserMediaRequest(UserMediaRequest*) = 0;
    4747
  • trunk/Source/WebCore/mediastream/UserMediaRequest.cpp

    r105774 r106581  
    7272}
    7373
    74 void UserMediaRequest::mediaStreamSourcesQueryCompleted(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources)
     74void UserMediaRequest::didCompleteQuery(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources)
    7575{
    7676    if (m_client)
  • trunk/Source/WebCore/mediastream/UserMediaRequest.h

    r105774 r106581  
    5252    ~UserMediaRequest();
    5353
    54     bool audio() const { return m_audio; }
    55     bool video() const { return m_video; }
    56 
    57     bool cameraPreferenceUser() const { return m_cameraPreferenceUser; }
    58     bool cameraPreferenceEnvironment() const { return m_cameraPreferenceEnvironment; }
    59 
    6054    NavigatorUserMediaSuccessCallback* successCallback() const { return m_successCallback.get(); }
    6155    NavigatorUserMediaErrorCallback* errorCallback() const { return m_errorCallback.get(); }
    6256
    6357    void start();
    64     void mediaStreamSourcesQueryCompleted(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
    6558
    6659    void succeed(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
    6760    void fail();
     61
     62    // MediaStreamSourcesQueryClient
     63    virtual bool audio() const { return m_audio; }
     64    virtual bool video() const { return m_video; }
     65    virtual bool cameraPreferenceUser() const { return m_cameraPreferenceUser; }
     66    virtual bool cameraPreferenceEnvironment() const { return m_cameraPreferenceEnvironment; }
     67    virtual void didCompleteQuery(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources);
    6868
    6969    // ContextDestructionObserver
  • trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.cpp

    r105774 r106581  
    5656}
    5757
    58 // FIXME: remove when real implementations are available
    59 // Empty implementations for ports that build with MEDIA_STREAM enabled by default.
     58#if !PLATFORM(CHROMIUM)
     59
     60// Empty implementations for ports that build with MEDIA_STREAM enabled by default, but haven't yet implemented MediaStreamCenter.
    6061
    6162MediaStreamCenter::MediaStreamCenter()
     
    7071{
    7172    MediaStreamSourceVector audioSources, videoSources;
    72     client->mediaStreamSourcesQueryCompleted(audioSources, videoSources);
     73    client->didCompleteQuery(audioSources, videoSources);
    7374}
    7475
     
    8586}
    8687
     88#endif // !PLATFORM(CHROMIUM)
     89
    8790} // namespace WebCore
    8891
  • trunk/Source/WebCore/platform/mediastream/MediaStreamCenter.h

    r105774 r106581  
    3939namespace WebCore {
    4040
     41#if PLATFORM(CHROMIUM)
     42class MediaStreamCenterInternal;
     43#endif
     44
    4145class MediaStreamComponent;
    4246class MediaStreamDescriptor;
     
    4852    virtual bool audio() const = 0;
    4953    virtual bool video() const = 0;
     54    virtual bool cameraPreferenceUser() const = 0;
     55    virtual bool cameraPreferenceEnvironment() const = 0;
    5056
    51     virtual void mediaStreamSourcesQueryCompleted(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources) = 0;
     57    virtual void didCompleteQuery(const MediaStreamSourceVector& audioSources, const MediaStreamSourceVector& videoSources) = 0;
    5258};
    5359
     
    7480private:
    7581    MediaStreamCenter();
     82
     83#if PLATFORM(CHROMIUM)
     84    OwnPtr<MediaStreamCenterInternal> m_private;
     85#endif
    7686};
    7787
  • trunk/Source/WebKit/chromium/ChangeLog

    r106573 r106581  
     12012-02-02  Tommy Widenflycht  <tommyw@google.com>
     2
     3        [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
     4        https://bugs.webkit.org/show_bug.cgi?id=73130
     5
     6        Reviewed by Darin Fisher.
     7
     8        * WebKit.gyp:
     9        * bridge/MediaStreamCenter.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     10        (WebCore):
     11        (WebCore::MediaStreamCenter::MediaStreamCenter):
     12        (WebCore::MediaStreamCenter::~MediaStreamCenter):
     13        (WebCore::MediaStreamCenter::queryMediaStreamSources):
     14        (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
     15        (WebCore::MediaStreamCenter::didStopLocalMediaStream):
     16        (WebCore::MediaStreamCenter::didConstructMediaStream):
     17        * bridge/MediaStreamCenterInternal.cpp: Added.
     18        (WebCore):
     19        (WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
     20        (WebCore::MediaStreamCenterInternal::~MediaStreamCenterInternal):
     21        (WebCore::MediaStreamCenterInternal::queryMediaStreamSources):
     22        (WebCore::MediaStreamCenterInternal::didSetMediaStreamTrackEnabled):
     23        (WebCore::MediaStreamCenterInternal::didStopLocalMediaStream):
     24        (WebCore::MediaStreamCenterInternal::didConstructMediaStream):
     25        (WebCore::MediaStreamCenterInternal::stopLocalMediaStream):
     26        * bridge/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     27        (WebKit):
     28        (WebCore):
     29        (MediaStreamCenterInternal):
     30        * public/platform/WebKitPlatformSupport.h:
     31        (WebKit):
     32        (WebKit::WebKitPlatformSupport::createMediaStreamCenter):
     33        * public/platform/WebMediaStreamCenter.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     34        (WebKit):
     35        (WebMediaStreamCenter):
     36        (WebKit::WebMediaStreamCenter::~WebMediaStreamCenter):
     37        * public/platform/WebMediaStreamCenterClient.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     38        (WebKit):
     39        (WebMediaStreamCenterClient):
     40        (WebKit::WebMediaStreamCenterClient::~WebMediaStreamCenterClient):
     41        * public/platform/WebMediaStreamComponent.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     42        (WebCore):
     43        (WebKit):
     44        (WebMediaStreamComponent):
     45        (WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
     46        (WebKit::WebMediaStreamComponent::~WebMediaStreamComponent):
     47        (WebKit::WebMediaStreamComponent::isNull):
     48        * public/platform/WebMediaStreamDescriptor.h:
     49        (WebKit):
     50        (WebMediaStreamDescriptor):
     51        * public/platform/WebMediaStreamSourcesRequest.h: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     52        (WebCore):
     53        (WebKit):
     54        (WebMediaStreamSourcesRequest):
     55        (WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
     56        (WebKit::WebMediaStreamSourcesRequest::~WebMediaStreamSourcesRequest):
     57        (WebKit::WebMediaStreamSourcesRequest::isNull):
     58        * src/UserMediaClientImpl.h:
     59        (UserMediaClientImpl):
     60        * src/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     61        (WebKit):
     62        (WebKit::WebMediaStreamComponent::WebMediaStreamComponent):
     63        (WebKit::WebMediaStreamComponent::operator=):
     64        (WebKit::WebMediaStreamComponent::reset):
     65        (WebKit::WebMediaStreamComponent::operator PassRefPtr<MediaStreamComponent>):
     66        (WebKit::WebMediaStreamComponent::operator MediaStreamComponent*):
     67        (WebKit::WebMediaStreamComponent::isEnabled):
     68        (WebKit::WebMediaStreamComponent::source):
     69        * src/WebMediaStreamDescriptor.cpp:
     70        (WebKit::WebMediaStreamDescriptor::WebMediaStreamDescriptor):
     71        (WebKit):
     72        (WebKit::WebMediaStreamDescriptor::audioSources):
     73        (WebKit::WebMediaStreamDescriptor::videoSources):
     74        * src/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/UserMediaClientImpl.h.
     75        (WebKit):
     76        (WebKit::WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest):
     77        (WebKit::WebMediaStreamSourcesRequest::reset):
     78        (WebKit::WebMediaStreamSourcesRequest::audio):
     79        (WebKit::WebMediaStreamSourcesRequest::video):
     80        (WebKit::WebMediaStreamSourcesRequest::didCompleteQuery):
     81
    1822012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
    283
  • trunk/Source/WebKit/chromium/WebKit.gyp

    r106399 r106581  
    9292            ],
    9393            'sources': [
     94                'bridge/MediaStreamCenter.cpp',
     95                'bridge/MediaStreamCenterInternal.cpp',
     96                'bridge/MediaStreamCenterInternal.h',
    9497                'bridge/PeerConnectionHandler.cpp',
    9598                'bridge/PeerConnectionHandlerInternal.cpp',
     
    313316                'public/platform/WebLayerTreeViewClient.h',
    314317                'public/platform/WebLocalizedString.h',
     318                'public/platform/WebMediaStreamCenter.h',
     319                'public/platform/WebMediaStreamComponent.h',
    315320                'public/platform/WebMediaStreamDescriptor.h',
    316321                'public/platform/WebMediaStreamSource.h',
     322                'public/platform/WebMediaStreamSourcesRequest.h',
    317323                'public/platform/WebNonCopyable.h',
    318324                'public/platform/WebPeerConnectionHandler.h',
     
    598604                'src/WebMediaPlayerClientImpl.cpp',
    599605                'src/WebMediaPlayerClientImpl.h',
     606                'src/WebMediaStreamComponent.cpp',
    600607                'src/WebMediaStreamDescriptor.cpp',
    601608                'src/WebMediaStreamRegistry.cpp',
    602609                'src/WebMediaStreamSource.cpp',
     610                'src/WebMediaStreamSourcesRequest.cpp',
    603611                'src/WebNamedNodeMap.cpp',
    604612                'src/WebNetworkStateNotifier.cpp',
  • trunk/Source/WebKit/chromium/bridge/MediaStreamCenter.cpp

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#include "config.h"
    3332
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
     33#if ENABLE(MEDIA_STREAM)
     34
     35#include "MediaStreamCenter.h"
     36
     37#include "MediaStreamCenterInternal.h"
     38#include "MediaStreamDescriptor.h"
     39#include <wtf/PassOwnPtr.h>
    3740
    3841namespace WebCore {
    39 class UserMediaRequest;
     42
     43MediaStreamCenter::MediaStreamCenter()
     44    : m_private(adoptPtr(new MediaStreamCenterInternal(this)))
     45{
    4046}
    4147
    42 namespace WebKit {
     48MediaStreamCenter::~MediaStreamCenter()
     49{
     50}
    4351
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     52void MediaStreamCenter::queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient> client)
     53{
     54    m_private->queryMediaStreamSources(client);
     55}
    4656
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
    48 public:
    49     UserMediaClientImpl(WebViewImpl*);
     57void MediaStreamCenter::didSetMediaStreamTrackEnabled(MediaStreamDescriptor* stream,  MediaStreamComponent* component)
     58{
     59    m_private->didSetMediaStreamTrackEnabled(stream, component);
     60}
    5061
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     62void MediaStreamCenter::didStopLocalMediaStream(MediaStreamDescriptor* stream)
     63{
     64    m_private->didStopLocalMediaStream(stream);
     65}
    5566
    56 private:
    57     UserMediaClientImpl();
     67void MediaStreamCenter::didConstructMediaStream(MediaStreamDescriptor* stream)
     68{
     69    m_private->didConstructMediaStream(stream);
     70}
    5871
    59     WebUserMediaClient* m_client;
    60 };
     72} // namespace WebCore
    6173
    62 } // namespace WebKit
    63 
    64 #endif // UserMediaClientImpl_h
     74#endif // ENABLE(MEDIA_STREAM)
  • trunk/Source/WebKit/chromium/bridge/MediaStreamCenterInternal.h

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#ifndef MediaStreamCenterInternal_h
     32#define MediaStreamCenterInternal_h
    3333
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
     34#if ENABLE(MEDIA_STREAM)
     35
     36#include "platform/WebMediaStreamCenterClient.h"
     37#include <wtf/OwnPtr.h>
    3638#include <wtf/PassRefPtr.h>
    3739
    38 namespace WebCore {
    39 class UserMediaRequest;
     40namespace WebKit {
     41class WebMediaStreamCenter;
    4042}
    4143
    42 namespace WebKit {
     44namespace WebCore {
    4345
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     46class MediaStreamCenter;
     47class MediaStreamComponent;
     48class MediaStreamDescriptor;
     49class MediaStreamSourcesQueryClient;
    4650
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
     51class MediaStreamCenterInternal : public WebKit::WebMediaStreamCenterClient {
    4852public:
    49     UserMediaClientImpl(WebViewImpl*);
     53    explicit MediaStreamCenterInternal(MediaStreamCenter*);
     54    ~MediaStreamCenterInternal();
    5055
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     56    void queryMediaStreamSources(PassRefPtr<MediaStreamSourcesQueryClient>);
     57    void didSetMediaStreamTrackEnabled(MediaStreamDescriptor*, MediaStreamComponent*);
     58    void didStopLocalMediaStream(MediaStreamDescriptor*);
     59    void didConstructMediaStream(MediaStreamDescriptor*);
     60
     61    // From WebKit::WebMediaStreamCenterClient.
     62    virtual void stopLocalMediaStream(const WebKit::WebMediaStreamDescriptor&);
    5563
    5664private:
    57     UserMediaClientImpl();
    58 
    59     WebUserMediaClient* m_client;
     65    OwnPtr<WebKit::WebMediaStreamCenter> m_private;
     66    MediaStreamCenter* m_owner;
    6067};
    6168
    62 } // namespace WebKit
     69} // namespace WebCore
    6370
    64 #endif // UserMediaClientImpl_h
     71#endif // ENABLE(MEDIA_STREAM)
     72
     73#endif // MediaStreamCenterInternal_h
  • trunk/Source/WebKit/chromium/public/platform/WebKitPlatformSupport.h

    r106487 r106581  
    6262class WebIDBFactory; // FIXME: Does this belong in platform?
    6363class WebIDBKey; // FIXME: Does this belong in platform?
     64class WebMediaStreamCenter;
     65class WebMediaStreamCenterClient;
    6466class WebMessagePortChannel; // FIXME: Does this belong in platform?
    6567class WebMimeRegistry;
     
    338340    // May return null if WebRTC functionality is not avaliable or out of resources.
    339341    virtual WebPeerConnectionHandler* createPeerConnectionHandler(WebPeerConnectionHandlerClient*) { return 0; }
     342    virtual WebMediaStreamCenter* createMediaStreamCenter(WebMediaStreamCenterClient*) { return 0; }
    340343
    341344    virtual void didStartWorkerRunLoop(const WebWorkerRunLoop&) { }
  • trunk/Source/WebKit/chromium/public/platform/WebMediaStreamCenter.h

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
    33 
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
    37 
    38 namespace WebCore {
    39 class UserMediaRequest;
    40 }
     31#ifndef WebMediaStreamCenter_h
     32#define WebMediaStreamCenter_h
    4133
    4234namespace WebKit {
    4335
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     36class WebMediaStreamComponent;
     37class WebMediaStreamDescriptor;
     38class WebMediaStreamSourcesRequest;
    4639
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
     40class WebMediaStreamCenter {
    4841public:
    49     UserMediaClientImpl(WebViewImpl*);
     42    virtual ~WebMediaStreamCenter() { }
    5043
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
    55 
    56 private:
    57     UserMediaClientImpl();
    58 
    59     WebUserMediaClient* m_client;
     44    virtual void queryMediaStreamSources(const WebMediaStreamSourcesRequest&) = 0;
     45    virtual void didEnableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
     46    virtual void didDisableMediaStreamTrack(const WebMediaStreamDescriptor&, const WebMediaStreamComponent&) = 0;
     47    virtual void didStopLocalMediaStream(const WebMediaStreamDescriptor&) = 0;
     48    virtual void didConstructMediaStream(const WebMediaStreamDescriptor&) = 0;
    6049};
    6150
    6251} // namespace WebKit
    6352
    64 #endif // UserMediaClientImpl_h
     53#endif // WebMediaStreamCenter_h
     54
  • trunk/Source/WebKit/chromium/public/platform/WebMediaStreamCenterClient.h

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
    33 
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
    37 
    38 namespace WebCore {
    39 class UserMediaRequest;
    40 }
     31#ifndef WebMediaStreamCenterClient_h
     32#define WebMediaStreamCenterClient_h
    4133
    4234namespace WebKit {
    4335
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     36class WebMediaStreamDescriptor;
    4637
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
     38class WebMediaStreamCenterClient {
    4839public:
    49     UserMediaClientImpl(WebViewImpl*);
     40    virtual ~WebMediaStreamCenterClient() { }
    5041
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
    55 
    56 private:
    57     UserMediaClientImpl();
    58 
    59     WebUserMediaClient* m_client;
     42    virtual void stopLocalMediaStream(const WebMediaStreamDescriptor&) = 0;
    6043};
    6144
    6245} // namespace WebKit
    6346
    64 #endif // UserMediaClientImpl_h
     47#endif // WebMediaStreamCenterClient_h
  • trunk/Source/WebKit/chromium/public/platform/WebMediaStreamComponent.h

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#ifndef WebMediaStreamComponent_h
     32#define WebMediaStreamComponent_h
    3333
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
     34#include "WebCommon.h"
     35#include "WebNonCopyable.h"
     36#include "WebPrivatePtr.h"
    3737
    3838namespace WebCore {
    39 class UserMediaRequest;
     39class MediaStreamComponent;
    4040}
    4141
    4242namespace WebKit {
    4343
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     44class WebMediaStreamSource;
     45class WebString;
    4646
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
     47class WebMediaStreamComponent {
    4848public:
    49     UserMediaClientImpl(WebViewImpl*);
     49    WebMediaStreamComponent() { }
     50    ~WebMediaStreamComponent() { reset(); }
    5051
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     52    WEBKIT_EXPORT void reset();
     53    bool isNull() const { return m_private.isNull(); }
     54
     55    WEBKIT_EXPORT WebMediaStreamSource source() const;
     56    WEBKIT_EXPORT bool isEnabled() const;
     57
     58#if WEBKIT_IMPLEMENTATION
     59    WebMediaStreamComponent(WebCore::MediaStreamComponent*);
     60    WebMediaStreamComponent& operator=(WebCore::MediaStreamComponent*);
     61    operator WTF::PassRefPtr<WebCore::MediaStreamComponent>() const;
     62    operator WebCore::MediaStreamComponent*() const;
     63#endif
    5564
    5665private:
    57     UserMediaClientImpl();
    58 
    59     WebUserMediaClient* m_client;
     66    WebPrivatePtr<WebCore::MediaStreamComponent> m_private;
    6067};
    6168
    6269} // namespace WebKit
    6370
    64 #endif // UserMediaClientImpl_h
     71#endif // WebMediaStreamComponent_h
  • trunk/Source/WebKit/chromium/public/platform/WebMediaStreamDescriptor.h

    r106256 r106581  
    3737namespace WebKit {
    3838
     39class WebMediaStreamComponent;
    3940class WebMediaStreamSource;
    4041class WebString;
     
    6667    WEBKIT_EXPORT void sources(WebVector<WebMediaStreamSource>&) const;
    6768
    68     WEBKIT_EXPORT void audioSources(WebVector<WebMediaStreamSource>&) const;
    69     WEBKIT_EXPORT void videoSources(WebVector<WebMediaStreamSource>&) const;
     69    WEBKIT_EXPORT void audioSources(WebVector<WebMediaStreamComponent>&) const;
     70    WEBKIT_EXPORT void videoSources(WebVector<WebMediaStreamComponent>&) const;
    7071
    7172#if WEBKIT_IMPLEMENTATION
     73    WebMediaStreamDescriptor(WebCore::MediaStreamDescriptor*);
    7274    WebMediaStreamDescriptor(const WTF::PassRefPtr<WebCore::MediaStreamDescriptor>&);
    7375    operator WTF::PassRefPtr<WebCore::MediaStreamDescriptor>() const;
  • trunk/Source/WebKit/chromium/public/platform/WebMediaStreamSourcesRequest.h

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#ifndef WebMediaStreamSourcesRequest_h
     32#define WebMediaStreamSourcesRequest_h
    3333
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
     34#include "WebCommon.h"
     35#include "WebPrivatePtr.h"
    3736
    3837namespace WebCore {
    39 class UserMediaRequest;
     38class MediaStreamSourcesQueryClient;
    4039}
    4140
    4241namespace WebKit {
    4342
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     43class WebMediaStreamSource;
     44template <typename T> class WebVector;
    4645
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
     46class WebMediaStreamSourcesRequest {
    4847public:
    49     UserMediaClientImpl(WebViewImpl*);
     48    WebMediaStreamSourcesRequest() { }
     49    ~WebMediaStreamSourcesRequest() { reset(); }
    5050
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     51    WEBKIT_EXPORT void reset();
     52    bool isNull() const { return m_private.isNull(); }
     53
     54    WEBKIT_EXPORT bool audio() const;
     55    WEBKIT_EXPORT bool video() const;
     56
     57    WEBKIT_EXPORT void didCompleteQuery(const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources) const;
     58
     59#if WEBKIT_IMPLEMENTATION
     60    WebMediaStreamSourcesRequest(const WTF::PassRefPtr<WebCore::MediaStreamSourcesQueryClient>&);
     61#endif
    5562
    5663private:
    57     UserMediaClientImpl();
    58 
    59     WebUserMediaClient* m_client;
     64    WebPrivatePtr<WebCore::MediaStreamSourcesQueryClient> m_private;
    6065};
    6166
    6267} // namespace WebKit
    6368
    64 #endif // UserMediaClientImpl_h
     69#endif // WebMediaStreamSourcesRequest_h
  • trunk/Source/WebKit/chromium/src/UserMediaClientImpl.h

    r105774 r106581  
    5151    // WebCore::UserMediaClient ----------------------------------------------
    5252    virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
     53    virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector& audioSources, const WebCore::MediaStreamSourceVector& videoSources);
    5454    virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
    5555
  • trunk/Source/WebKit/chromium/src/WebMediaStreamComponent.cpp

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#include "config.h"
    3332
    34 #include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
     33#if ENABLE(MEDIA_STREAM)
    3734
    38 namespace WebCore {
    39 class UserMediaRequest;
    40 }
     35#include "platform/WebMediaStreamComponent.h"
     36
     37#include "MediaStreamComponent.h"
     38#include "platform/WebMediaStreamSource.h"
     39#include "platform/WebString.h"
     40#include <wtf/Vector.h>
     41
     42using namespace WebCore;
    4143
    4244namespace WebKit {
    4345
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     46WebMediaStreamComponent::WebMediaStreamComponent(WebCore::MediaStreamComponent* mediaStreamComponent)
     47    : m_private(mediaStreamComponent)
     48{
     49}
    4650
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
    48 public:
    49     UserMediaClientImpl(WebViewImpl*);
     51WebMediaStreamComponent& WebMediaStreamComponent::operator=(WebCore::MediaStreamComponent* mediaStreamComponent)
     52{
     53    m_private = mediaStreamComponent;
     54    return *this;
     55}
    5056
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     57void WebMediaStreamComponent::reset()
     58{
     59    m_private.reset();
     60}
    5561
    56 private:
    57     UserMediaClientImpl();
     62WebMediaStreamComponent::operator PassRefPtr<MediaStreamComponent>() const
     63{
     64    return m_private.get();
     65}
    5866
    59     WebUserMediaClient* m_client;
    60 };
     67WebMediaStreamComponent::operator MediaStreamComponent*() const
     68{
     69    return m_private.get();
     70}
     71
     72bool WebMediaStreamComponent::isEnabled() const
     73{
     74    ASSERT(!m_private.isNull());
     75    return m_private.get()->enabled();
     76}
     77
     78WebMediaStreamSource WebMediaStreamComponent::source() const
     79{
     80    ASSERT(!m_private.isNull());
     81    return WebMediaStreamSource(m_private.get()->source());
     82}
    6183
    6284} // namespace WebKit
    6385
    64 #endif // UserMediaClientImpl_h
     86#endif // ENABLE(MEDIA_STREAM)
     87
  • trunk/Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp

    r106256 r106581  
    3838#include "MediaStreamDescriptor.h"
    3939#include "MediaStreamSource.h"
     40#include "platform/WebMediaStreamComponent.h"
    4041#include "platform/WebMediaStreamSource.h"
    4142#include "platform/WebString.h"
     
    4748
    4849WebMediaStreamDescriptor::WebMediaStreamDescriptor(const PassRefPtr<WebCore::MediaStreamDescriptor>& mediaStreamDescriptor)
     50    : m_private(mediaStreamDescriptor)
     51{
     52}
     53
     54WebMediaStreamDescriptor::WebMediaStreamDescriptor(WebCore::MediaStreamDescriptor* mediaStreamDescriptor)
    4955    : m_private(mediaStreamDescriptor)
    5056{
     
    7581}
    7682
    77 void WebMediaStreamDescriptor::audioSources(WebVector<WebMediaStreamSource>& webSources) const
     83void WebMediaStreamDescriptor::audioSources(WebVector<WebMediaStreamComponent>& webSources) const
    7884{
    7985    size_t numberOfSources = m_private->numberOfAudioComponents();
    80     WebVector<WebMediaStreamSource> result(numberOfSources);
     86    WebVector<WebMediaStreamComponent> result(numberOfSources);
    8187    for (size_t i = 0; i < numberOfSources; ++i)
    82         result[i] = m_private->audioComponent(i)->source();
     88        result[i] = m_private->audioComponent(i);
    8389    webSources.swap(result);
    8490}
    8591
    86 void WebMediaStreamDescriptor::videoSources(WebVector<WebMediaStreamSource>& webSources) const
     92void WebMediaStreamDescriptor::videoSources(WebVector<WebMediaStreamComponent>& webSources) const
    8793{
    8894    size_t numberOfSources = m_private->numberOfVideoComponents();
    89     WebVector<WebMediaStreamSource> result(numberOfSources);
     95    WebVector<WebMediaStreamComponent> result(numberOfSources);
    9096    for (size_t i = 0; i < numberOfSources; ++i)
    91         result[i] = m_private->videoComponent(i)->source();
     97        result[i] = m_private->videoComponent(i);
    9298    webSources.swap(result);
    9399}
  • trunk/Source/WebKit/chromium/src/WebMediaStreamSourcesRequest.cpp

    r106580 r106581  
    11/*
    2  * Copyright (C) 2011 Google Inc. All rights reserved.
     2 * Copyright (C) 2012 Google Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2929 */
    3030
    31 #ifndef UserMediaClientImpl_h
    32 #define UserMediaClientImpl_h
     31#include "config.h"
    3332
     33#if ENABLE(MEDIA_STREAM)
     34
     35#include "platform/WebMediaStreamSourcesRequest.h"
     36
     37#include "MediaStreamCenter.h"
    3438#include "MediaStreamSource.h"
    35 #include "UserMediaClient.h"
    36 #include <wtf/PassRefPtr.h>
     39#include "platform/WebMediaStreamSource.h"
     40#include "platform/WebVector.h"
     41#include <wtf/Vector.h>
    3742
    38 namespace WebCore {
    39 class UserMediaRequest;
    40 }
     43using namespace WebCore;
    4144
    4245namespace WebKit {
    4346
    44 class WebUserMediaClient;
    45 class WebViewImpl;
     47WebMediaStreamSourcesRequest::WebMediaStreamSourcesRequest(const PassRefPtr<WebCore::MediaStreamSourcesQueryClient>& queryClient)
     48    : m_private(queryClient)
     49{
     50}
    4651
    47 class UserMediaClientImpl : public WebCore::UserMediaClient {
    48 public:
    49     UserMediaClientImpl(WebViewImpl*);
     52void WebMediaStreamSourcesRequest::reset()
     53{
     54    m_private.reset();
     55}
    5056
    51     // WebCore::UserMediaClient ----------------------------------------------
    52     virtual void pageDestroyed();
    53     virtual void requestUserMedia(PassRefPtr<WebCore::UserMediaRequest>, const WebCore::MediaStreamSourceVector&, const WebCore::MediaStreamSourceVector&);
    54     virtual void cancelUserMediaRequest(WebCore::UserMediaRequest*);
     57bool WebMediaStreamSourcesRequest::audio() const
     58{
     59    ASSERT(!isNull());
     60    return m_private->audio();
     61}
    5562
    56 private:
    57     UserMediaClientImpl();
     63bool WebMediaStreamSourcesRequest::video() const
     64{
     65    ASSERT(!isNull());
     66    return m_private->video();
     67}
    5868
    59     WebUserMediaClient* m_client;
    60 };
     69void WebMediaStreamSourcesRequest::didCompleteQuery(const WebVector<WebMediaStreamSource>& audioSources, const WebVector<WebMediaStreamSource>& videoSources) const
     70{
     71    ASSERT(!isNull());
     72    MediaStreamSourceVector audio;
     73    for (size_t i = 0; i < audioSources.size(); ++i) {
     74        MediaStreamSource* curr = audioSources[i];
     75        audio.append(curr);
     76    }
     77    MediaStreamSourceVector video;
     78    for (size_t i = 0; i < videoSources.size(); ++i) {
     79        MediaStreamSource* curr = videoSources[i];
     80        video.append(curr);
     81    }
     82    m_private->didCompleteQuery(audio, video);
     83}
    6184
    6285} // namespace WebKit
    6386
    64 #endif // UserMediaClientImpl_h
     87#endif // ENABLE(MEDIA_STREAM)
     88
Note: See TracChangeset for help on using the changeset viewer.