Changeset 192954 in webkit


Ignore:
Timestamp:
Dec 2, 2015, 12:20:37 PM (10 years ago)
Author:
eric.carlson@apple.com
Message:

[MediaStream] Implement MediaStreamTrack.getSettings()
https://bugs.webkit.org/show_bug.cgi?id=151727

Reviewed by Jer Noble.

Source/WebCore:

MediaStreamTrack.getStates has been replaced by MediaStreamTrack.getSettings.

Test: fast/mediastream/MediaStreamTrack-getSettings.html

  • CMakeLists.txt: MediaSourceStates.* -> MediaSourceSettings.*.
  • DerivedSources.make: No more MediaSourceStates.idl.
  • Modules/mediastream/CapabilityRange.cpp: MediaSourceStates.* -> MediaSourceSettings.*.
  • Modules/mediastream/MediaSourceSettings.cpp: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.cpp.

(WebCore::MediaSourceSettings::create):
(WebCore::MediaSourceSettings::MediaSourceSettings):
(WebCore::MediaSourceSettings::facingMode):
(WebCore::MediaSourceStates::create): Deleted.
(WebCore::MediaSourceStates::MediaSourceStates): Deleted.
(WebCore::MediaSourceStates::sourceType): Deleted.
(WebCore::MediaSourceStates::facingMode): Deleted.

  • Modules/mediastream/MediaSourceSettings.h: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.h.

MediaSourceStates.* renamed to MediaSourceSettings.* and updated to new API.

  • Modules/mediastream/MediaSourceStates.cpp: Removed.
  • Modules/mediastream/MediaSourceStates.h: Removed.
  • Modules/mediastream/MediaSourceStates.idl: Removed.
  • Modules/mediastream/MediaStreamCapabilities.cpp:

(WebCore::MediaStreamCapabilities::sourceType): Return an empty vector for now, will be fixed

by the changes for https://bugs.webkit.org/show_bug.cgi?id=151728.

(WebCore::MediaStreamCapabilities::sourceId): RealtimeMediaSourceStates -> MediaSourceSettings.
(WebCore::MediaStreamCapabilities::facingMode): Ditto.

  • Modules/mediastream/MediaStreamTrack.cpp:

(WebCore::MediaStreamTrack::getSettings): New.
(WebCore::MediaStreamTrack::getCapabilities): Don't modify states, just pass through whatever

private track returns.

(WebCore::MediaStreamTrack::trackSettingsChanged):
(WebCore::MediaStreamTrack::states): Deleted.
(WebCore::MediaStreamTrack::trackStatesChanged): Deleted.

  • Modules/mediastream/MediaStreamTrack.h:
  • Modules/mediastream/MediaStreamTrack.idl: MediaSourceStates -> MediaSourceSettings.
  • Modules/webaudio/MediaStreamAudioSource.cpp:

(WebCore::MediaStreamAudioSource::settings):
(WebCore::MediaStreamAudioSource::states): Deleted.

  • Modules/webaudio/MediaStreamAudioSource.h: MediaSourceStates -> MediaSourceSettings.
  • WebCore.xcodeproj/project.pbxproj: MediaSourceStates.* -> MediaSourceSettings.*.
  • bindings/js/JSMediaSourceStatesCustom.cpp: Removed.
  • bindings/js/JSMediaStreamTrackCustom.cpp: Added.

(WebCore::JSMediaStreamTrack::getSettings): MediaSourceSettings is a generic dictionary so

it has to be generated manually.

  • platform/mediastream/MediaStreamPrivate.cpp:

(WebCore::MediaStreamPrivate::intrinsicSize): states -> settings.
(WebCore::MediaStreamPrivate::trackStatesChanged): Deleted.

  • platform/mediastream/MediaStreamPrivate.h:
  • platform/mediastream/MediaStreamTrackPrivate.cpp:

(WebCore::MediaStreamTrackPrivate::settings):
(WebCore::MediaStreamTrackPrivate::sourceSettingsChanged):
(WebCore::MediaStreamTrackPrivate::states): Deleted.
(WebCore::MediaStreamTrackPrivate::sourceStatesChanged): Deleted.

  • platform/mediastream/MediaStreamTrackPrivate.h:
  • platform/mediastream/RealtimeMediaSource.cpp:

(WebCore::RealtimeMediaSource::settingsDidChanged):
(WebCore::RealtimeMediaSource::statesDidChanged): Deleted.

  • platform/mediastream/RealtimeMediaSource.h:
  • platform/mediastream/RealtimeMediaSourceCapabilities.h:

(WebCore::RealtimeMediaSourceCapabilities::facingModes): States -> Settings.
(WebCore::RealtimeMediaSourceCapabilities::addFacingMode): Ditto.
(WebCore::RealtimeMediaSourceCapabilities::sourceTypes): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::setSourceType): Deleted.
(WebCore::RealtimeMediaSourceCapabilities::addSourceType): Deleted.

  • platform/mediastream/RealtimeMediaSourceCenter.h: States -> Settings.
  • platform/mediastream/RealtimeMediaSourceSettings.cpp: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.cpp.

(WebCore::RealtimeMediaSourceSettings::facingMode):
(WebCore::RealtimeMediaSourceStates::facingMode): Deleted.
(WebCore::RealtimeMediaSourceStates::sourceType): Deleted.

  • platform/mediastream/RealtimeMediaSourceSettings.h: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.h.
  • platform/mediastream/RealtimeMediaSourceStates.cpp: Removed.
  • platform/mediastream/RealtimeMediaSourceStates.h: Removed.
  • platform/mediastream/mac/AVAudioCaptureSource.h:
  • platform/mediastream/mac/AVAudioCaptureSource.mm:

(WebCore::AVAudioCaptureSource::updateStates): Deleted.

  • platform/mediastream/mac/AVCaptureDeviceManager.h:
  • platform/mediastream/mac/AVCaptureDeviceManager.mm:
  • platform/mediastream/mac/AVMediaCaptureSource.h:
  • platform/mediastream/mac/AVMediaCaptureSource.mm:

(WebCore::AVMediaCaptureSource::states): Deleted.

  • platform/mediastream/mac/AVVideoCaptureSource.h:
  • platform/mediastream/mac/AVVideoCaptureSource.mm:

(WebCore::AVVideoCaptureSource::updateStates): Deleted.

  • platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
  • platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
  • platform/mock/MockRealtimeAudioSource.cpp:

(WebCore::MockRealtimeAudioSource::initializeSupportedConstraints):
(WebCore::MockRealtimeAudioSource::updateStates): Deleted.

  • platform/mock/MockRealtimeAudioSource.h:
  • platform/mock/MockRealtimeMediaSource.cpp:

(WebCore::MockRealtimeMediaSource::capabilities): Minor cleanup.
(WebCore::MockRealtimeMediaSource::settings):
(WebCore::MockRealtimeMediaSource::supportedConstraints):
(WebCore::MockRealtimeMediaSource::states): Deleted.

  • platform/mock/MockRealtimeMediaSource.h:

(WebCore::MockRealtimeMediaSource::constraints):
(WebCore::MockRealtimeMediaSource::currentStates): Deleted.

  • platform/mock/MockRealtimeVideoSource.cpp:

(WebCore::MockRealtimeVideoSource::updateSettings):
(WebCore::MockRealtimeVideoSource::initializeCapabilities):
(WebCore::MockRealtimeVideoSource::initializeSupportedConstraints):
(WebCore::MockRealtimeVideoSource::setFrameRate): states -> settings.
(WebCore::MockRealtimeVideoSource::setSize): Ditto.
(WebCore::MockRealtimeVideoSource::drawAnimation): Ditto.
(WebCore::MockRealtimeVideoSource::drawText): Ditto.
(WebCore::MockRealtimeVideoSource::updateStates): Deleted.
(WebCore::MockRealtimeVideoSource::setFacingMode): Deleted.

  • platform/mock/MockRealtimeVideoSource.h:

LayoutTests:

  • fast/mediastream/MediaStream-video-element-expected.txt:
  • fast/mediastream/MediaStream-video-element-track-stop-expected.txt:
  • fast/mediastream/MediaStream-video-element-track-stop.html:
  • fast/mediastream/MediaStream-video-element.html:
  • fast/mediastream/MediaStreamTrack-getSettings-expected.txt: Added.
  • fast/mediastream/MediaStreamTrack-getSettings.html: Added.
Location:
trunk
Files:
3 added
2 deleted
43 edited
4 moved

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r192953 r192954  
     12015-12-02  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [MediaStream] Implement MediaStreamTrack.getSettings()
     4        https://bugs.webkit.org/show_bug.cgi?id=151727
     5
     6        Reviewed by Jer Noble.
     7
     8        * fast/mediastream/MediaStream-video-element-expected.txt:
     9        * fast/mediastream/MediaStream-video-element-track-stop-expected.txt:
     10        * fast/mediastream/MediaStream-video-element-track-stop.html:
     11        * fast/mediastream/MediaStream-video-element.html:
     12        * fast/mediastream/MediaStreamTrack-getSettings-expected.txt: Added.
     13        * fast/mediastream/MediaStreamTrack-getSettings.html: Added.
     14
    1152015-12-01  David Hyatt  <hyatt@apple.com>
    216
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element-expected.txt

    r192503 r192954  
    2222
    2323**** check video element ****
    24 PASS video.videoWidth is mediaStream.getVideoTracks()[0].states().width
    25 PASS video.videoHeight is mediaStream.getVideoTracks()[0].states().height
     24PASS video.videoWidth is mediaStream.getVideoTracks()[0].getSettings().width
     25PASS video.videoHeight is mediaStream.getVideoTracks()[0].getSettings().height
    2626PASS video.src.indexOf("blob:") is 0
    2727PASS video.srcObject is mediaStream
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element-track-stop-expected.txt

    r192503 r192954  
    2323**** check states with live video stream track ****
    2424PASS video.ended is false
    25 PASS video.videoWidth is mediaStream.getVideoTracks()[0].states().width
    26 PASS video.videoHeight is mediaStream.getVideoTracks()[0].states().height
     25PASS video.videoWidth is mediaStream.getVideoTracks()[0].getSettings().width
     26PASS video.videoHeight is mediaStream.getVideoTracks()[0].getSettings().height
    2727PASS video.src.indexOf("blob:") is 0
    2828PASS video.srcObject is mediaStream
     
    4242**** re-check states now that the video stream has been disabled ****
    4343PASS mediaStream.getVideoTracks()[0].enabled is false
    44 PASS video.videoWidth is mediaStream.getVideoTracks()[0].states().width
    45 PASS video.videoHeight is mediaStream.getVideoTracks()[0].states().height
     44PASS video.videoWidth is mediaStream.getVideoTracks()[0].getSettings().width
     45PASS video.videoHeight is mediaStream.getVideoTracks()[0].getSettings().height
    4646
    4747**** stop MediaStream tracks ****
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element-track-stop.html

    r192503 r192954  
    4545                debug("<br>**** re-check states now that the video stream has been disabled ****");
    4646                shouldBe('mediaStream.getVideoTracks()[0].enabled', 'false');
    47                 shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].states().width');
    48                 shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].states().height');
     47                shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].getSettings().width');
     48                shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].getSettings().height');
    4949
    5050                debug("<br>**** stop MediaStream tracks ****");
     
    6161                debug("<br>**** check states with live video stream track ****");
    6262                shouldBe('video.ended', 'false');
    63                 shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].states().width');
    64                 shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].states().height');
     63                shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].getSettings().width');
     64                shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].getSettings().height');
    6565                shouldBe('video.src.indexOf("blob:")', '0');
    6666                shouldBe('video.srcObject', 'mediaStream');
  • trunk/LayoutTests/fast/mediastream/MediaStream-video-element.html

    r192503 r192954  
    3131            {
    3232                for (var property in object) {
    33                     // When https://webkit.org/b/129375 is fixed, we have to remove
    34                     // states.hasOwnProperty(property), because all the attributes
    35                     // will be in the prototype chain.
    3633                    if (!object.hasOwnProperty(property) && !object.__proto__.hasOwnProperty(property))
    3734                        continue;
     
    6057
    6158                debug("<br>**** check video element ****");
    62                 shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].states().width');
    63                 shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].states().height');
     59                shouldBe('video.videoWidth', 'mediaStream.getVideoTracks()[0].getSettings().width');
     60                shouldBe('video.videoHeight', 'mediaStream.getVideoTracks()[0].getSettings().height');
    6461                shouldBe('video.src.indexOf("blob:")', '0');
    6562                shouldBe('video.srcObject', 'mediaStream');
  • trunk/Source/WebCore/CMakeLists.txt

    r192953 r192954  
    229229    Modules/mediastream/MediaDeviceInfo.idl
    230230    Modules/mediastream/MediaDevices.idl
    231     Modules/mediastream/MediaSourceStates.idl
    232231    Modules/mediastream/MediaStream.idl
    233232    Modules/mediastream/MediaStreamCapabilities.idl
     
    953952    Modules/mediastream/MediaDevicesRequest.cpp
    954953    Modules/mediastream/MediaEndpointPeerConnection.cpp
    955     Modules/mediastream/MediaSourceStates.cpp
     954    Modules/mediastream/MediaSourceSettings.cpp
    956955    Modules/mediastream/MediaStream.cpp
    957956    Modules/mediastream/MediaStreamCapabilities.cpp
     
    12081207    bindings/js/JSLocationCustom.cpp
    12091208    bindings/js/JSMainThreadExecState.cpp
    1210     bindings/js/JSMediaSourceStatesCustom.cpp
    12111209    bindings/js/JSMediaStreamCapabilitiesCustom.cpp
     1210    bindings/js/JSMediaStreamTrackCustom.cpp
    12121211    bindings/js/JSMediaTrackSupportedConstraintsCustom.cpp
    12131212    bindings/js/JSMessageChannelCustom.cpp
     
    23112310    platform/mediastream/RealtimeMediaSource.cpp
    23122311    platform/mediastream/RealtimeMediaSourceCenter.cpp
    2313     platform/mediastream/RealtimeMediaSourceStates.cpp
     2312    platform/mediastream/RealtimeMediaSourceSettings.cpp
    23142313
    23152314    platform/mock/DeviceMotionClientMock.cpp
  • trunk/Source/WebCore/ChangeLog

    r192953 r192954  
     12015-12-02  Eric Carlson  <eric.carlson@apple.com>
     2
     3        [MediaStream] Implement MediaStreamTrack.getSettings()
     4        https://bugs.webkit.org/show_bug.cgi?id=151727
     5
     6        Reviewed by Jer Noble.
     7
     8        MediaStreamTrack.getStates has been replaced by MediaStreamTrack.getSettings.
     9
     10        Test: fast/mediastream/MediaStreamTrack-getSettings.html
     11
     12        * CMakeLists.txt: MediaSourceStates.* -> MediaSourceSettings.*.
     13        * DerivedSources.make: No more MediaSourceStates.idl.
     14        * Modules/mediastream/CapabilityRange.cpp: MediaSourceStates.* -> MediaSourceSettings.*.
     15        * Modules/mediastream/MediaSourceSettings.cpp: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.cpp.
     16        (WebCore::MediaSourceSettings::create):
     17        (WebCore::MediaSourceSettings::MediaSourceSettings):
     18        (WebCore::MediaSourceSettings::facingMode):
     19        (WebCore::MediaSourceStates::create): Deleted.
     20        (WebCore::MediaSourceStates::MediaSourceStates): Deleted.
     21        (WebCore::MediaSourceStates::sourceType): Deleted.
     22        (WebCore::MediaSourceStates::facingMode): Deleted.
     23        * Modules/mediastream/MediaSourceSettings.h: Copied from Source/WebCore/Modules/mediastream/MediaSourceStates.h.
     24
     25        MediaSourceStates.* renamed to MediaSourceSettings.* and updated to new API.
     26        * Modules/mediastream/MediaSourceStates.cpp: Removed.
     27        * Modules/mediastream/MediaSourceStates.h: Removed.
     28        * Modules/mediastream/MediaSourceStates.idl: Removed.
     29
     30        * Modules/mediastream/MediaStreamCapabilities.cpp:
     31        (WebCore::MediaStreamCapabilities::sourceType): Return an empty vector for now, will be fixed
     32          by the changes for https://bugs.webkit.org/show_bug.cgi?id=151728.
     33        (WebCore::MediaStreamCapabilities::sourceId): RealtimeMediaSourceStates -> MediaSourceSettings.
     34        (WebCore::MediaStreamCapabilities::facingMode): Ditto.
     35
     36        * Modules/mediastream/MediaStreamTrack.cpp:
     37        (WebCore::MediaStreamTrack::getSettings): New.
     38        (WebCore::MediaStreamTrack::getCapabilities): Don't modify states, just pass through whatever
     39          private track returns.
     40        (WebCore::MediaStreamTrack::trackSettingsChanged):
     41        (WebCore::MediaStreamTrack::states): Deleted.
     42        (WebCore::MediaStreamTrack::trackStatesChanged): Deleted.
     43        * Modules/mediastream/MediaStreamTrack.h:
     44        * Modules/mediastream/MediaStreamTrack.idl: MediaSourceStates -> MediaSourceSettings.
     45
     46        * Modules/webaudio/MediaStreamAudioSource.cpp:
     47        (WebCore::MediaStreamAudioSource::settings):
     48        (WebCore::MediaStreamAudioSource::states): Deleted.
     49        * Modules/webaudio/MediaStreamAudioSource.h: MediaSourceStates -> MediaSourceSettings.
     50
     51        * WebCore.xcodeproj/project.pbxproj: MediaSourceStates.* -> MediaSourceSettings.*.
     52
     53        * bindings/js/JSMediaSourceStatesCustom.cpp: Removed.
     54        * bindings/js/JSMediaStreamTrackCustom.cpp: Added.
     55        (WebCore::JSMediaStreamTrack::getSettings): MediaSourceSettings is a generic dictionary so
     56          it has to be generated manually.
     57
     58        * platform/mediastream/MediaStreamPrivate.cpp:
     59        (WebCore::MediaStreamPrivate::intrinsicSize): states -> settings.
     60        (WebCore::MediaStreamPrivate::trackStatesChanged): Deleted.
     61        * platform/mediastream/MediaStreamPrivate.h:
     62
     63        * platform/mediastream/MediaStreamTrackPrivate.cpp:
     64        (WebCore::MediaStreamTrackPrivate::settings):
     65        (WebCore::MediaStreamTrackPrivate::sourceSettingsChanged):
     66        (WebCore::MediaStreamTrackPrivate::states): Deleted.
     67        (WebCore::MediaStreamTrackPrivate::sourceStatesChanged): Deleted.
     68        * platform/mediastream/MediaStreamTrackPrivate.h:
     69
     70        * platform/mediastream/RealtimeMediaSource.cpp:
     71        (WebCore::RealtimeMediaSource::settingsDidChanged):
     72        (WebCore::RealtimeMediaSource::statesDidChanged): Deleted.
     73        * platform/mediastream/RealtimeMediaSource.h:
     74
     75        * platform/mediastream/RealtimeMediaSourceCapabilities.h:
     76        (WebCore::RealtimeMediaSourceCapabilities::facingModes): States -> Settings.
     77        (WebCore::RealtimeMediaSourceCapabilities::addFacingMode): Ditto.
     78        (WebCore::RealtimeMediaSourceCapabilities::sourceTypes): Deleted.
     79        (WebCore::RealtimeMediaSourceCapabilities::setSourceType): Deleted.
     80        (WebCore::RealtimeMediaSourceCapabilities::addSourceType): Deleted.
     81
     82        * platform/mediastream/RealtimeMediaSourceCenter.h: States -> Settings.
     83        * platform/mediastream/RealtimeMediaSourceSettings.cpp: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.cpp.
     84        (WebCore::RealtimeMediaSourceSettings::facingMode):
     85        (WebCore::RealtimeMediaSourceStates::facingMode): Deleted.
     86        (WebCore::RealtimeMediaSourceStates::sourceType): Deleted.
     87
     88        * platform/mediastream/RealtimeMediaSourceSettings.h: Copied from Source/WebCore/platform/mediastream/RealtimeMediaSourceStates.h.
     89        * platform/mediastream/RealtimeMediaSourceStates.cpp: Removed.
     90
     91        * platform/mediastream/RealtimeMediaSourceStates.h: Removed.
     92        * platform/mediastream/mac/AVAudioCaptureSource.h:
     93        * platform/mediastream/mac/AVAudioCaptureSource.mm:
     94        (WebCore::AVAudioCaptureSource::updateStates): Deleted.
     95
     96        * platform/mediastream/mac/AVCaptureDeviceManager.h:
     97        * platform/mediastream/mac/AVCaptureDeviceManager.mm:
     98
     99        * platform/mediastream/mac/AVMediaCaptureSource.h:
     100        * platform/mediastream/mac/AVMediaCaptureSource.mm:
     101        (WebCore::AVMediaCaptureSource::states): Deleted.
     102
     103        * platform/mediastream/mac/AVVideoCaptureSource.h:
     104        * platform/mediastream/mac/AVVideoCaptureSource.mm:
     105        (WebCore::AVVideoCaptureSource::updateStates): Deleted.
     106
     107        * platform/mediastream/mac/MockRealtimeVideoSourceMac.mm:
     108
     109        * platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h:
     110
     111        * platform/mock/MockRealtimeAudioSource.cpp:
     112        (WebCore::MockRealtimeAudioSource::initializeSupportedConstraints):
     113        (WebCore::MockRealtimeAudioSource::updateStates): Deleted.
     114        * platform/mock/MockRealtimeAudioSource.h:
     115
     116        * platform/mock/MockRealtimeMediaSource.cpp:
     117        (WebCore::MockRealtimeMediaSource::capabilities): Minor cleanup.
     118        (WebCore::MockRealtimeMediaSource::settings):
     119        (WebCore::MockRealtimeMediaSource::supportedConstraints):
     120        (WebCore::MockRealtimeMediaSource::states): Deleted.
     121        * platform/mock/MockRealtimeMediaSource.h:
     122        (WebCore::MockRealtimeMediaSource::constraints):
     123        (WebCore::MockRealtimeMediaSource::currentStates): Deleted.
     124
     125        * platform/mock/MockRealtimeVideoSource.cpp:
     126        (WebCore::MockRealtimeVideoSource::updateSettings):
     127        (WebCore::MockRealtimeVideoSource::initializeCapabilities):
     128        (WebCore::MockRealtimeVideoSource::initializeSupportedConstraints):
     129        (WebCore::MockRealtimeVideoSource::setFrameRate): states -> settings.
     130        (WebCore::MockRealtimeVideoSource::setSize): Ditto.
     131        (WebCore::MockRealtimeVideoSource::drawAnimation): Ditto.
     132        (WebCore::MockRealtimeVideoSource::drawText): Ditto.
     133        (WebCore::MockRealtimeVideoSource::updateStates): Deleted.
     134        (WebCore::MockRealtimeVideoSource::setFacingMode): Deleted.
     135        * platform/mock/MockRealtimeVideoSource.h:
     136
    11372015-11-30  David Hyatt  <hyatt@apple.com>
    2138
  • trunk/Source/WebCore/DerivedSources.make

    r192953 r192954  
    123123        $(WebCore)/Modules/mediastream/DOMURLMediaStream.idl \
    124124    $(WebCore)/Modules/mediastream/HTMLMediaElementMediaStream.idl \
    125     $(WebCore)/Modules/mediastream/MediaSourceStates.idl \
    126125    $(WebCore)/Modules/mediastream/MediaDeviceInfo.idl \
    127126    $(WebCore)/Modules/mediastream/MediaDevices.idl \
  • trunk/Source/WebCore/Modules/mediastream/CapabilityRange.cpp

    r190028 r192954  
    3232
    3333#include "JSDOMBinding.h"
    34 #include "MediaSourceStates.h"
     34#include "MediaSourceSettings.h"
    3535#include <bindings/ScriptValue.h>
    3636#include <interpreter/CallFrame.h>
  • trunk/Source/WebCore/Modules/mediastream/CaptureDeviceInfo.h

    r192838 r192954  
    4343    bool m_enabled { false };
    4444    RealtimeMediaSource::Type m_sourceType { RealtimeMediaSource::None };
    45     RealtimeMediaSourceStates::VideoFacingMode m_position { RealtimeMediaSourceStates::Unknown };
     45    RealtimeMediaSourceSettings::VideoFacingMode m_position { RealtimeMediaSourceSettings::Unknown };
    4646};
    4747
  • trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.cpp

    r192838 r192954  
    3333#import "RealtimeMediaSource.h"
    3434#import "RealtimeMediaSourceCenter.h"
    35 #import "RealtimeMediaSourceStates.h"
     35#import "RealtimeMediaSourceSettings.h"
    3636#import "UUID.h"
    3737#import <wtf/MainThread.h>
     
    126126}
    127127
    128 CaptureDeviceInfo* CaptureDeviceManager::bestDeviceForFacingMode(RealtimeMediaSourceStates::VideoFacingMode facingMode)
     128CaptureDeviceInfo* CaptureDeviceManager::bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode facingMode)
    129129{
    130     if (facingMode == RealtimeMediaSourceStates::Unknown)
     130    if (facingMode == RealtimeMediaSourceSettings::Unknown)
    131131        return nullptr;
    132132
     
    138138}
    139139
    140 static inline RealtimeMediaSourceStates::VideoFacingMode facingModeFromString(const String& facingModeString)
     140static inline RealtimeMediaSourceSettings::VideoFacingMode facingModeFromString(const String& facingModeString)
    141141{
    142142    static NeverDestroyed<AtomicString> userFacingModeString("user", AtomicString::ConstructFromLiteral);
     
    145145    static NeverDestroyed<AtomicString> rightFacingModeString("right", AtomicString::ConstructFromLiteral);
    146146    if (facingModeString == userFacingModeString)
    147         return RealtimeMediaSourceStates::User;
     147        return RealtimeMediaSourceSettings::User;
    148148    if (facingModeString == environmentFacingModeString)
    149         return RealtimeMediaSourceStates::Environment;
     149        return RealtimeMediaSourceSettings::Environment;
    150150    if (facingModeString == leftFacingModeString)
    151         return RealtimeMediaSourceStates::Left;
     151        return RealtimeMediaSourceSettings::Left;
    152152    if (facingModeString == rightFacingModeString)
    153         return RealtimeMediaSourceStates::Right;
    154     return RealtimeMediaSourceStates::Unknown;
     153        return RealtimeMediaSourceSettings::Right;
     154    return RealtimeMediaSourceSettings::Unknown;
    155155}
    156156
  • trunk/Source/WebCore/Modules/mediastream/CaptureDeviceManager.h

    r192838 r192954  
    5555
    5656    bool captureDeviceFromDeviceID(const String& captureDeviceID, CaptureDeviceInfo& source);
    57     CaptureDeviceInfo* bestDeviceForFacingMode(RealtimeMediaSourceStates::VideoFacingMode);
     57    CaptureDeviceInfo* bestDeviceForFacingMode(RealtimeMediaSourceSettings::VideoFacingMode);
    5858};
    5959
  • trunk/Source/WebCore/Modules/mediastream/MediaSourceSettings.cpp

    r192930 r192954  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2525
    2626#include "config.h"
     27#include "MediaSourceSettings.h"
    2728
    2829#if ENABLE(MEDIA_STREAM)
    29 
    30 #include "MediaSourceStates.h"
    3130
    3231#include <wtf/NeverDestroyed.h>
     
    3433namespace WebCore {
    3534
    36 Ref<MediaSourceStates> MediaSourceStates::create(const RealtimeMediaSourceStates& states)
     35Ref<MediaSourceSettings> MediaSourceSettings::create(const RealtimeMediaSourceSettings& settings)
    3736{
    38     return adoptRef(*new MediaSourceStates(states));
     37    return adoptRef(*new MediaSourceSettings(settings));
    3938}
    4039
    41 MediaSourceStates::MediaSourceStates(const RealtimeMediaSourceStates& states)
    42     : m_sourceStates(states)
     40MediaSourceSettings::MediaSourceSettings(const RealtimeMediaSourceSettings& settings)
     41    : m_sourceSettings(settings)
    4342{
    4443}
    4544
    46 const AtomicString& MediaSourceStates::sourceType() const
     45const AtomicString& MediaSourceSettings::facingMode() const
    4746{
    48     return RealtimeMediaSourceStates::sourceType(m_sourceStates.sourceType());
     47    return RealtimeMediaSourceSettings::facingMode(m_sourceSettings.facingMode());
    4948}
    50 
    51 const AtomicString& MediaSourceStates::facingMode() const
    52 {
    53     return RealtimeMediaSourceStates::facingMode(m_sourceStates.facingMode());
    54 }
    55 
    5649
    5750} // namespace WebCore
  • trunk/Source/WebCore/Modules/mediastream/MediaSourceSettings.h

    r192930 r192954  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #ifndef MediaSourceStates_h
    27 #define MediaSourceStates_h
     26#ifndef MediaSourceSettings_h
     27#define MediaSourceSettings_h
    2828
    2929#if ENABLE(MEDIA_STREAM)
     
    3636namespace WebCore {
    3737
    38 class MediaSourceStates : public RefCounted<MediaSourceStates>, public ScriptWrappable {
     38class MediaSourceSettings : public RefCounted<MediaSourceSettings>, public ScriptWrappable {
    3939public:
    40     static Ref<MediaSourceStates> create(const RealtimeMediaSourceStates&);
     40    static Ref<MediaSourceSettings> create(const RealtimeMediaSourceSettings&);
    4141
    42     const AtomicString& sourceType() const;
    43     const AtomicString& sourceId() const { return m_sourceStates.sourceId(); }
    44     unsigned long width() const { return m_sourceStates.width(); }
    45     unsigned long height() const { return m_sourceStates.height(); }
    46     float frameRate() const { return m_sourceStates.frameRate(); }
    47     float aspectRatio() const { return m_sourceStates.aspectRatio(); }
     42    bool supportsWidth() const { return m_sourceSettings.supportsWidth(); }
     43    unsigned long width() const { return m_sourceSettings.width(); }
     44
     45    bool supportsHeight() const { return m_sourceSettings.supportsHeight(); }
     46    unsigned long height() const { return m_sourceSettings.height(); }
     47
     48    bool supportsAspectRatio() const { return m_sourceSettings.supportsAspectRatio(); }
     49    float aspectRatio() const { return m_sourceSettings.aspectRatio(); }
     50
     51    bool supportsFrameRate() const { return m_sourceSettings.supportsFrameRate(); }
     52    float frameRate() const { return m_sourceSettings.frameRate(); }
     53
     54    bool supportsFacingMode() const { return m_sourceSettings.supportsFacingMode(); }
    4855    const AtomicString& facingMode() const;
    49     unsigned long volume() const { return m_sourceStates.volume(); }
    50    
    51     bool hasVideoSource() const { return m_sourceStates.sourceType() == RealtimeMediaSourceStates::Camera; }
     56
     57    bool supportsVolume() const { return m_sourceSettings.supportsVolume(); }
     58    unsigned long volume() const { return m_sourceSettings.volume(); }
     59
     60    bool supportsSampleRate() const { return m_sourceSettings.supportsSampleRate(); }
     61    unsigned long sampleRate() const { return m_sourceSettings.sampleRate(); }
     62
     63    bool supportsSampleSize() const { return m_sourceSettings.supportsSampleSize(); }
     64    unsigned long sampleSize() const { return m_sourceSettings.sampleSize(); }
     65
     66    bool supportsEchoCancellation() const { return m_sourceSettings.supportsEchoCancellation(); }
     67    bool echoCancellation() const { return m_sourceSettings.echoCancellation(); }
     68
     69    bool supportsDeviceId() const { return m_sourceSettings.supportsDeviceId(); }
     70    const AtomicString& deviceId() const { return m_sourceSettings.deviceId(); }
     71
     72    bool supportsGroupId() const { return m_sourceSettings.supportsGroupId(); }
     73    const AtomicString& groupId() const { return m_sourceSettings.groupId(); }
    5274
    5375private:
    54     explicit MediaSourceStates(const RealtimeMediaSourceStates&);
     76    explicit MediaSourceSettings(const RealtimeMediaSourceSettings&);
    5577
    56     RealtimeMediaSourceStates m_sourceStates;
     78    RealtimeMediaSourceSettings m_sourceSettings;
    5779};
    5880
    5981} // namespace WebCore
    6082
    61 #endif // MediaSourceStates_h
     83#endif // MediaSourceSettings_h
    6284
    6385#endif
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamCapabilities.cpp

    r185101 r192954  
    3333#include "AllVideoCapabilities.h"
    3434#include "CapabilityRange.h"
    35 #include "MediaSourceStates.h"
     35#include "MediaSourceSettings.h"
    3636#include "RealtimeMediaSourceCapabilities.h"
    3737
     
    5353Vector<String> MediaStreamCapabilities::sourceType() const
    5454{
    55     ASSERT(m_SourceCapabilities->hasVideoSource());
    56    
    57     size_t count = m_SourceCapabilities->sourceTypes().size();
    58     if (!count)
    59         return Vector<String>();
    60    
    61     Vector<String> capabilities;
    62     capabilities.reserveCapacity(count);
    63    
    64     for (auto& type : m_SourceCapabilities->sourceTypes())
    65         capabilities.append(RealtimeMediaSourceStates::sourceType(type));
    66    
    67     return capabilities;
     55    // This will be fixed by https://bugs.webkit.org/show_bug.cgi?id=151728.
     56    return Vector<String>();
    6857}
    6958
     
    9584   
    9685    for (auto& mode : m_SourceCapabilities->facingModes())
    97         capabilities.append(RealtimeMediaSourceStates::facingMode(mode));
     86        capabilities.append(RealtimeMediaSourceSettings::facingMode(mode));
    9887   
    9988    return capabilities;
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.cpp

    r192848 r192954  
    3838#include "ExceptionCodePlaceholder.h"
    3939#include "MediaConstraintsImpl.h"
    40 #include "MediaSourceStates.h"
     40#include "MediaSourceSettings.h"
    4141#include "MediaStream.h"
    4242#include "MediaStreamPrivate.h"
     
    163163}
    164164
    165 RefPtr<MediaSourceStates> MediaStreamTrack::states() const
    166 {
    167     return MediaSourceStates::create(m_private->states());
     165RefPtr<MediaSourceSettings> MediaStreamTrack::getSettings() const
     166{
     167    return MediaSourceSettings::create(m_private->settings());
    168168}
    169169
    170170RefPtr<MediaStreamCapabilities> MediaStreamTrack::getCapabilities() const
    171171{
    172     // The source may be shared by multiple tracks, so its states is not necessarily
    173     // in sync with the track state. A track that has ended always has a source
    174     // type of "none".
    175     RefPtr<RealtimeMediaSourceCapabilities> sourceCapabilities = m_private->capabilities();
    176     if (ended())
    177         sourceCapabilities->setSourceType(RealtimeMediaSourceStates::None);
    178    
    179     return MediaStreamCapabilities::create(sourceCapabilities.release());
     172    return MediaStreamCapabilities::create(m_private->capabilities());
    180173}
    181174
     
    239232}
    240233
    241 void MediaStreamTrack::trackStatesChanged(MediaStreamTrackPrivate&)
     234void MediaStreamTrack::trackSettingsChanged(MediaStreamTrackPrivate&)
    242235{
    243236    configureTrackRendering();
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.h

    r192848 r192954  
    4646class Dictionary;
    4747class MediaConstraintsImpl;
    48 class MediaSourceStates;
     48class MediaSourceSettings;
    4949class MediaStreamCapabilities;
    5050class MediaTrackConstraints;
     
    8080
    8181    RefPtr<MediaTrackConstraints> getConstraints() const;
    82     RefPtr<MediaSourceStates> states() const;
     82    RefPtr<MediaSourceSettings> getSettings() const;
    8383    RefPtr<MediaStreamCapabilities> getCapabilities() const;
    8484    void applyConstraints(const Dictionary&);
     
    118118    void trackEnded(MediaStreamTrackPrivate&) override;
    119119    void trackMutedChanged(MediaStreamTrackPrivate&) override;
    120     void trackStatesChanged(MediaStreamTrackPrivate&) override;
     120    void trackSettingsChanged(MediaStreamTrackPrivate&) override;
    121121    void trackEnabledChanged(MediaStreamTrackPrivate&) override;
    122122
  • trunk/Source/WebCore/Modules/mediastream/MediaStreamTrack.idl

    r186081 r192954  
    4848
    4949    MediaTrackConstraints getConstraints();
    50     MediaSourceStates states();
     50    [Custom] MediaSourceSettings getSettings();
    5151    MediaStreamCapabilities getCapabilities(); // returns either AllVideoCapabilities or AllAudioCapabilities
    5252    void applyConstraints(Dictionary constraints);
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp

    r191721 r192954  
    5353}
    5454
    55 const RealtimeMediaSourceStates& MediaStreamAudioSource::states()
     55const RealtimeMediaSourceSettings& MediaStreamAudioSource::settings()
    5656{
    5757    // FIXME: implement this.
    5858    // https://bugs.webkit.org/show_bug.cgi?id=122430
    5959    notImplemented();
    60     return m_currentStates;
     60    return m_currentSettings;
    6161}
    6262
  • trunk/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.h

    r191721 r192954  
    4949
    5050    RefPtr<RealtimeMediaSourceCapabilities> capabilities() override;
    51     const RealtimeMediaSourceStates& states() override;
     51    const RealtimeMediaSourceSettings& settings() override;
    5252   
    5353    const String& deviceId() const { return m_deviceId; }
     
    6969    Lock m_audioConsumersLock;
    7070    Vector<RefPtr<AudioDestinationConsumer>> m_audioConsumers;
    71     RealtimeMediaSourceStates m_currentStates;
     71    RealtimeMediaSourceSettings m_currentSettings;
    7272};
    7373
  • trunk/Source/WebCore/WebCore.xcodeproj/project.pbxproj

    r192953 r192954  
    320320                07C1C0E21BFB600100BD2256 /* MediaTrackSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E01BFB600100BD2256 /* MediaTrackSupportedConstraints.h */; };
    321321                07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */; settings = {ATTRIBUTES = (Private, ); }; };
    322                 07C59B6817F784BA000FBCBB /* MediaSourceStates.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6517F784BA000FBCBB /* MediaSourceStates.cpp */; };
    323                 07C59B6917F784BA000FBCBB /* MediaSourceStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C59B6617F784BA000FBCBB /* MediaSourceStates.h */; };
    324                 07C59B6E17F794F6000FBCBB /* JSMediaSourceStatesCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6D17F794F6000FBCBB /* JSMediaSourceStatesCustom.cpp */; };
    325                 07C59B7117F79C7C000FBCBB /* JSMediaSourceStates.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6F17F79C7C000FBCBB /* JSMediaSourceStates.cpp */; };
    326                 07C59B7217F79C7C000FBCBB /* JSMediaSourceStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C59B7017F79C7C000FBCBB /* JSMediaSourceStates.h */; };
     322                07C59B6817F784BA000FBCBB /* MediaSourceSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6517F784BA000FBCBB /* MediaSourceSettings.cpp */; };
     323                07C59B6917F784BA000FBCBB /* MediaSourceSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C59B6617F784BA000FBCBB /* MediaSourceSettings.h */; };
     324                07C59B6E17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07C59B6D17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp */; };
    327325                07C59B7617F7D0DB000FBCBB /* CapabilityRange.h in Headers */ = {isa = PBXBuildFile; fileRef = 07C59B7417F7D09D000FBCBB /* CapabilityRange.h */; };
    328326                07CA120E182D67D800D12197 /* JSRTCPeerConnectionCustom.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 07CA120D182D67D800D12197 /* JSRTCPeerConnectionCustom.cpp */; };
     
    18581856                4A4F65711AA997F100E38CDD /* RealtimeMediaSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4F656C1AA997F100E38CDD /* RealtimeMediaSource.h */; settings = {ATTRIBUTES = (Private, ); }; };
    18591857                4A4F65721AA997F100E38CDD /* RealtimeMediaSourceCapabilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4F656D1AA997F100E38CDD /* RealtimeMediaSourceCapabilities.h */; settings = {ATTRIBUTES = (Private, ); }; };
    1860                 4A4F65731AA997F100E38CDD /* RealtimeMediaSourceStates.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceStates.cpp */; };
    1861                 4A4F65741AA997F100E38CDD /* RealtimeMediaSourceStates.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceStates.h */; settings = {ATTRIBUTES = (Private, ); }; };
     1858                4A4F65731AA997F100E38CDD /* RealtimeMediaSourceSettings.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceSettings.cpp */; };
     1859                4A4F65741AA997F100E38CDD /* RealtimeMediaSourceSettings.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceSettings.h */; settings = {ATTRIBUTES = (Private, ); }; };
    18621860                4A5A2ADB161E7E00005889DD /* WebSocketExtensionParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 4A5A2AD9161E7E00005889DD /* WebSocketExtensionParser.cpp */; };
    18631861                4A5A2ADC161E7E00005889DD /* WebSocketExtensionParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 4A5A2ADA161E7E00005889DD /* WebSocketExtensionParser.h */; };
     
    76187616                07C1C0E41BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceSupportedConstraints.h; sourceTree = "<group>"; };
    76197617                07C1C0E61BFB90A700BD2256 /* JSMediaTrackSupportedConstraintsCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaTrackSupportedConstraintsCustom.cpp; sourceTree = "<group>"; };
    7620                 07C59B6517F784BA000FBCBB /* MediaSourceStates.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceStates.cpp; sourceTree = "<group>"; };
    7621                 07C59B6617F784BA000FBCBB /* MediaSourceStates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceStates.h; sourceTree = "<group>"; };
    7622                 07C59B6717F784BA000FBCBB /* MediaSourceStates.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = MediaSourceStates.idl; sourceTree = "<group>"; };
    7623                 07C59B6D17F794F6000FBCBB /* JSMediaSourceStatesCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSourceStatesCustom.cpp; sourceTree = "<group>"; };
    7624                 07C59B6F17F79C7C000FBCBB /* JSMediaSourceStates.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaSourceStates.cpp; sourceTree = "<group>"; };
    7625                 07C59B7017F79C7C000FBCBB /* JSMediaSourceStates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = JSMediaSourceStates.h; sourceTree = "<group>"; };
     7618                07C59B6517F784BA000FBCBB /* MediaSourceSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MediaSourceSettings.cpp; sourceTree = "<group>"; };
     7619                07C59B6617F784BA000FBCBB /* MediaSourceSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MediaSourceSettings.h; sourceTree = "<group>"; };
     7620                07C59B6D17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = JSMediaStreamTrackCustom.cpp; sourceTree = "<group>"; };
    76267621                07C59B7317F7D09D000FBCBB /* AllVideoCapabilities.idl */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = AllVideoCapabilities.idl; sourceTree = "<group>"; };
    76277622                07C59B7417F7D09D000FBCBB /* CapabilityRange.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CapabilityRange.h; sourceTree = "<group>"; };
     
    92949289                4A4F656C1AA997F100E38CDD /* RealtimeMediaSource.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSource.h; sourceTree = "<group>"; };
    92959290                4A4F656D1AA997F100E38CDD /* RealtimeMediaSourceCapabilities.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceCapabilities.h; sourceTree = "<group>"; };
    9296                 4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceStates.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RealtimeMediaSourceStates.cpp; sourceTree = "<group>"; };
    9297                 4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceStates.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceStates.h; sourceTree = "<group>"; };
     9291                4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceSettings.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RealtimeMediaSourceSettings.cpp; sourceTree = "<group>"; };
     9292                4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceSettings.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RealtimeMediaSourceSettings.h; sourceTree = "<group>"; };
    92989293                4A5A2AD9161E7E00005889DD /* WebSocketExtensionParser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebSocketExtensionParser.cpp; sourceTree = "<group>"; };
    92999294                4A5A2ADA161E7E00005889DD /* WebSocketExtensionParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebSocketExtensionParser.h; sourceTree = "<group>"; };
     
    1517815173                                5E16A2E21BFA64FB0029A21E /* MediaEndpointPeerConnection.cpp */,
    1517915174                                5E16A2E31BFA64FB0029A21E /* MediaEndpointPeerConnection.h */,
    15180                                 07C59B6517F784BA000FBCBB /* MediaSourceStates.cpp */,
    15181                                 07C59B6617F784BA000FBCBB /* MediaSourceStates.h */,
    15182                                 07C59B6717F784BA000FBCBB /* MediaSourceStates.idl */,
     15175                                07C59B6517F784BA000FBCBB /* MediaSourceSettings.cpp */,
     15176                                07C59B6617F784BA000FBCBB /* MediaSourceSettings.h */,
    1518315177                                07221B4C17CEC32700848E51 /* MediaStream.cpp */,
    1518415178                                07221B4D17CEC32700848E51 /* MediaStream.h */,
     
    1530415298                                4A0FFA9F1AAF5EA20062803B /* RealtimeMediaSourceCenter.cpp */,
    1530515299                                4A0FFAA01AAF5EA20062803B /* RealtimeMediaSourceCenter.h */,
    15306                                 4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceStates.cpp */,
    15307                                 4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceStates.h */,
     15300                                4A4F656E1AA997F100E38CDD /* RealtimeMediaSourceSettings.cpp */,
     15301                                4A4F656F1AA997F100E38CDD /* RealtimeMediaSourceSettings.h */,
    1530815302                                07AB996D18DA3C740018771E /* RTCConfigurationPrivate.h */,
    1530915303                                07221BA217CF0AD400848E51 /* RTCDataChannelHandler.h */,
     
    1540115395                                15739BB81B42012200D258C1 /* JSMediaDevices.cpp */,
    1540215396                                15739BB91B42012200D258C1 /* JSMediaDevices.h */,
    15403                                 07C59B6F17F79C7C000FBCBB /* JSMediaSourceStates.cpp */,
    15404                                 07C59B7017F79C7C000FBCBB /* JSMediaSourceStates.h */,
    1540515397                                07277E4017D018CC0015534D /* JSMediaStream.cpp */,
    1540615398                                07277E4117D018CC0015534D /* JSMediaStream.h */,
     
    2218322175                                AD726FE716D9F204003A4E6D /* JSMediaListCustom.h */,
    2218422176                                077B640E1B8F5375003E9AD5 /* JSMediaSessionCustom.cpp */,
    22185                                 07C59B6D17F794F6000FBCBB /* JSMediaSourceStatesCustom.cpp */,
     22177                                07C59B6D17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp */,
    2218622178                                0705851617FB40E9005F2BCB /* JSMediaStreamCapabilitiesCustom.cpp */,
    2218722179                                E1A5F99A0E7EAA2500AF85EA /* JSMessageChannelCustom.cpp */,
     
    2630626298                                7C5343FD17B74B63004232F0 /* JSMediaQueryListListener.h in Headers */,
    2630726299                                CD9DE17517AAC74C00EA386D /* JSMediaSource.h in Headers */,
    26308                                 07C59B7217F79C7C000FBCBB /* JSMediaSourceStates.h in Headers */,
    2630926300                                07277E4D17D018CC0015534D /* JSMediaStream.h in Headers */,
    2631026301                                07277E4F17D018CC0015534D /* JSMediaStreamAudioDestinationNode.h in Headers */,
     
    2679726788                                CDDC1E7A18A952F30027A9D4 /* MediaSourcePrivateClient.h in Headers */,
    2679826789                                CD61FE681794AADB004101EB /* MediaSourceRegistry.h in Headers */,
    26799                                 07C59B6917F784BA000FBCBB /* MediaSourceStates.h in Headers */,
     26790                                07C59B6917F784BA000FBCBB /* MediaSourceSettings.h in Headers */,
    2680026791                                078E091517D14D1C00420AA1 /* MediaStream.h in Headers */,
    2680126792                                078E094C17D1709600420AA1 /* MediaStreamAudioDestinationNode.h in Headers */,
     
    2712227113                                4A0FFAA21AAF5EA20062803B /* RealtimeMediaSourceCenter.h in Headers */,
    2712327114                                4A0FFAA61AAF5EF60062803B /* RealtimeMediaSourceCenterMac.h in Headers */,
    27124                                 4A4F65741AA997F100E38CDD /* RealtimeMediaSourceStates.h in Headers */,
     27115                                4A4F65741AA997F100E38CDD /* RealtimeMediaSourceSettings.h in Headers */,
    2712527116                                07C1C0E51BFB60ED00BD2256 /* RealtimeMediaSourceSupportedConstraints.h in Headers */,
    2712627117                                BC4368E80C226E32005EFB5F /* Rect.h in Headers */,
     
    2999129982                                077B640F1B8F5D6B003E9AD5 /* JSMediaSessionCustom.cpp in Sources */,
    2999229983                                CD9DE17417AAC74C00EA386D /* JSMediaSource.cpp in Sources */,
    29993                                 07C59B7117F79C7C000FBCBB /* JSMediaSourceStates.cpp in Sources */,
    29994                                 07C59B6E17F794F6000FBCBB /* JSMediaSourceStatesCustom.cpp in Sources */,
     29984                                07C59B6E17F794F6000FBCBB /* JSMediaStreamTrackCustom.cpp in Sources */,
    2999529985                                07277E4C17D018CC0015534D /* JSMediaStream.cpp in Sources */,
    2999629986                                07277E4E17D018CC0015534D /* JSMediaStreamAudioDestinationNode.cpp in Sources */,
     
    3050630496                                CDC8B5A6180474F70016E685 /* MediaSourcePrivateAVFObjC.mm in Sources */,
    3050730497                                CD61FE671794AADB004101EB /* MediaSourceRegistry.cpp in Sources */,
    30508                                 07C59B6817F784BA000FBCBB /* MediaSourceStates.cpp in Sources */,
     30498                                07C59B6817F784BA000FBCBB /* MediaSourceSettings.cpp in Sources */,
    3050930499                                078E08FF17D14CEE00420AA1 /* MediaStream.cpp in Sources */,
    3051030500                                078E094B17D1709600420AA1 /* MediaStreamAudioDestinationNode.cpp in Sources */,
     
    3073630726                                4A0FFAA11AAF5EA20062803B /* RealtimeMediaSourceCenter.cpp in Sources */,
    3073730727                                4A0FFAA51AAF5EF60062803B /* RealtimeMediaSourceCenterMac.cpp in Sources */,
    30738                                 4A4F65731AA997F100E38CDD /* RealtimeMediaSourceStates.cpp in Sources */,
     30728                                4A4F65731AA997F100E38CDD /* RealtimeMediaSourceSettings.cpp in Sources */,
    3073930729                                FD45A95A175D417100C21EC8 /* RectangleShape.cpp in Sources */,
    3074030730                                BCAB418113E356E800D8AAF3 /* Region.cpp in Sources */,
  • trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.cpp

    r192503 r192954  
    205205
    206206    if (m_activeVideoTrack) {
    207         const RealtimeMediaSourceStates& states = m_activeVideoTrack->source()->states();
    208         size.setWidth(states.width());
    209         size.setHeight(states.height());
     207        const RealtimeMediaSourceSettings& setting = m_activeVideoTrack->settings();
     208        size.setWidth(setting.width());
     209        size.setHeight(setting.height());
    210210    }
    211211
     
    269269}
    270270
    271 void MediaStreamPrivate::trackStatesChanged(MediaStreamTrackPrivate&)
     271void MediaStreamPrivate::trackSettingsChanged(MediaStreamTrackPrivate&)
    272272{
    273273    characteristicsChanged();
  • trunk/Source/WebCore/platform/mediastream/MediaStreamPrivate.h

    r192503 r192954  
    105105    void trackEnded(MediaStreamTrackPrivate&) override;
    106106    void trackMutedChanged(MediaStreamTrackPrivate&) override;
    107     void trackStatesChanged(MediaStreamTrackPrivate&) override;
     107    void trackSettingsChanged(MediaStreamTrackPrivate&) override;
    108108    void trackEnabledChanged(MediaStreamTrackPrivate&) override;
    109109
  • trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.cpp

    r192503 r192954  
    3333#include "GraphicsContext.h"
    3434#include "IntRect.h"
    35 #include "MediaSourceStates.h"
    36 #include "MediaStreamCapabilities.h"
     35#include "MediaSourceSettings.h"
    3736#include "UUID.h"
    3837#include <wtf/NeverDestroyed.h>
     
    150149}
    151150
    152 const RealtimeMediaSourceStates& MediaStreamTrackPrivate::states() const
    153 {
    154     return m_source->states();
     151const RealtimeMediaSourceSettings& MediaStreamTrackPrivate::settings() const
     152{
     153    return m_source->settings();
    155154}
    156155
     
    203202}
    204203
    205 void MediaStreamTrackPrivate::sourceStatesChanged()
    206 {
    207     for (auto& observer : m_observers)
    208         observer->trackStatesChanged(*this);
     204void MediaStreamTrackPrivate::sourceSettingsChanged()
     205{
     206    for (auto& observer : m_observers)
     207        observer->trackSettingsChanged(*this);
    209208}
    210209
  • trunk/Source/WebCore/platform/mediastream/MediaStreamTrackPrivate.h

    r192503 r192954  
    3838class AudioSourceProvider;
    3939class GraphicsContext;
    40 class MediaSourceStates;
     40class MediaSourceSettings;
    4141class RealtimeMediaSourceCapabilities;
    4242
     
    4949        virtual void trackEnded(MediaStreamTrackPrivate&) = 0;
    5050        virtual void trackMutedChanged(MediaStreamTrackPrivate&) = 0;
    51         virtual void trackStatesChanged(MediaStreamTrackPrivate&) = 0;
     51        virtual void trackSettingsChanged(MediaStreamTrackPrivate&) = 0;
    5252        virtual void trackEnabledChanged(MediaStreamTrackPrivate&) = 0;
    5353    };
     
    8686    void removeObserver(Observer&);
    8787
    88     const RealtimeMediaSourceStates& states() const;
     88    const RealtimeMediaSourceSettings& settings() const;
    8989    RefPtr<RealtimeMediaSourceCapabilities> capabilities() const;
    9090
     
    103103    void sourceStopped() override final;
    104104    void sourceMutedChanged() override final;
    105     void sourceStatesChanged() override final;
     105    void sourceSettingsChanged() override final;
    106106    bool preventSourceFromStopping() override final;
    107107
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.cpp

    r192028 r192954  
    9696}
    9797
    98 void RealtimeMediaSource::statesDidChanged()
     98void RealtimeMediaSource::settingsDidChanged()
    9999{
    100100    for (auto& observer : m_observers)
    101         observer->sourceStatesChanged();
     101        observer->sourceSettingsChanged();
    102102}
    103103
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSource.h

    r192028 r192954  
    5252class MediaConstraints;
    5353class MediaStreamPrivate;
    54 class RealtimeMediaSourceStates;
     54class RealtimeMediaSourceSettings;
    5555
    5656class RealtimeMediaSource : public RefCounted<RealtimeMediaSource> {
     
    6363        virtual void sourceStopped() = 0;
    6464        virtual void sourceMutedChanged() = 0;
    65         virtual void sourceStatesChanged() = 0;
     65        virtual void sourceSettingsChanged() = 0;
    6666
    6767        // Observer state queries.
     
    8686
    8787    virtual RefPtr<RealtimeMediaSourceCapabilities> capabilities() = 0;
    88     virtual const RealtimeMediaSourceStates& states() = 0;
    89     void statesDidChanged();
     88    virtual const RealtimeMediaSourceSettings& settings() = 0;
     89    void settingsDidChanged();
    9090   
    9191    bool stopped() const { return m_stopped; }
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCapabilities.h

    r184054 r192954  
    2929#if ENABLE(MEDIA_STREAM)
    3030
    31 #include "RealtimeMediaSourceStates.h"
     31#include "RealtimeMediaSourceSettings.h"
    3232#include <wtf/RefCounted.h>
    3333#include <wtf/Vector.h>
     
    9191    ~RealtimeMediaSourceCapabilities() { }
    9292
    93     const Vector<RealtimeMediaSourceStates::SourceType>& sourceTypes() { return m_sourceType; }
    94     void setSourceType(RealtimeMediaSourceStates::SourceType sourceType) { m_sourceType.resizeToFit(1); addSourceType(sourceType); }
    95     void addSourceType(RealtimeMediaSourceStates::SourceType sourceType)
    96     {
    97         if (sourceType == RealtimeMediaSourceStates::Camera)
    98             m_videoSource = true;
    99         m_sourceType.append(sourceType);
    100     }
    101 
    10293    const Vector<AtomicString>& sourceId() { return m_sourceId; }
    10394    void setSourceId(const AtomicString& id)  { m_sourceId.reserveCapacity(1); m_sourceId.insert(0, id); }
    10495
    105     const Vector<RealtimeMediaSourceStates::VideoFacingMode>& facingModes() { return m_facingMode; }
    106     void addFacingMode(RealtimeMediaSourceStates::VideoFacingMode mode) { m_facingMode.append(mode); }
     96    const Vector<RealtimeMediaSourceSettings::VideoFacingMode>& facingModes() { return m_facingMode; }
     97    void addFacingMode(RealtimeMediaSourceSettings::VideoFacingMode mode) { m_facingMode.append(mode); }
    10798
    10899    const RealtimeMediaSourceCapabilityRange& width() { return m_width; }
     
    131122
    132123    Vector<AtomicString> m_sourceId;
    133     Vector<RealtimeMediaSourceStates::SourceType> m_sourceType;
    134     Vector<RealtimeMediaSourceStates::VideoFacingMode> m_facingMode;
     124    Vector<RealtimeMediaSourceSettings::VideoFacingMode> m_facingMode;
    135125
    136126    RealtimeMediaSourceCapabilityRange m_width;
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceCenter.h

    r192602 r192954  
    4545class MediaStreamCreationClient;
    4646class MediaStreamTrackSourcesRequestClient;
    47 class RealtimeMediaSourceStates;
     47class RealtimeMediaSourceSettings;
    4848class RealtimeMediaSourceSupportedConstraints;
    4949class TrackSourceInfo;
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.cpp

    r192930 r192954  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3232
    3333#if ENABLE(MEDIA_STREAM)
    34 #include "RealtimeMediaSourceStates.h"
     34#include "RealtimeMediaSourceSettings.h"
    3535
    3636#include <wtf/NeverDestroyed.h>
     
    3838namespace WebCore {
    3939
    40 const AtomicString& RealtimeMediaSourceStates::facingMode(RealtimeMediaSourceStates::VideoFacingMode mode)
     40const AtomicString& RealtimeMediaSourceSettings::facingMode(RealtimeMediaSourceSettings::VideoFacingMode mode)
    4141{
    4242    static NeverDestroyed<AtomicString> userFacing("user", AtomicString::ConstructFromLiteral);
     
    4646   
    4747    switch (mode) {
    48     case RealtimeMediaSourceStates::User:
     48    case RealtimeMediaSourceSettings::User:
    4949        return userFacing;
    50     case RealtimeMediaSourceStates::Environment:
     50    case RealtimeMediaSourceSettings::Environment:
    5151        return environmentFacing;
    52     case RealtimeMediaSourceStates::Left:
     52    case RealtimeMediaSourceSettings::Left:
    5353        return leftFacing;
    54     case RealtimeMediaSourceStates::Right:
     54    case RealtimeMediaSourceSettings::Right:
    5555        return rightFacing;
    56     case RealtimeMediaSourceStates::Unknown:
     56    case RealtimeMediaSourceSettings::Unknown:
    5757        return emptyAtom;
    58     }
    59    
    60     ASSERT_NOT_REACHED();
    61     return emptyAtom;
    62 }
    63 
    64 const AtomicString& RealtimeMediaSourceStates::sourceType(RealtimeMediaSourceStates::SourceType sourceType)
    65 {
    66     static NeverDestroyed<AtomicString> none("none", AtomicString::ConstructFromLiteral);
    67     static NeverDestroyed<AtomicString> camera("camera", AtomicString::ConstructFromLiteral);
    68     static NeverDestroyed<AtomicString> microphone("microphone", AtomicString::ConstructFromLiteral);
    69    
    70     switch (sourceType) {
    71     case RealtimeMediaSourceStates::None:
    72         return none;
    73     case RealtimeMediaSourceStates::Camera:
    74         return camera;
    75     case RealtimeMediaSourceStates::Microphone:
    76         return microphone;
    7758    }
    7859   
  • trunk/Source/WebCore/platform/mediastream/RealtimeMediaSourceSettings.h

    r192930 r192954  
    11/*
    2  * Copyright (C) 2013 Apple Inc. All rights reserved.
     2 * Copyright (C) 2013-2015 Apple Inc. All rights reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    2424 */
    2525
    26 #ifndef RealtimeMediaSourceStates_h
    27 #define RealtimeMediaSourceStates_h
     26#ifndef RealtimeMediaSourceSettings_h
     27#define RealtimeMediaSourceSettings_h
    2828
    2929#if ENABLE(MEDIA_STREAM)
    3030
     31#include "RealtimeMediaSourceSupportedConstraints.h"
    3132#include <wtf/RefCounted.h>
    3233#include <wtf/Vector.h>
     
    3536namespace WebCore {
    3637
    37 class RealtimeMediaSourceStates {
     38class RealtimeMediaSourceSettings {
    3839public:
    3940    enum SourceType { None, Camera, Microphone };
    4041    enum VideoFacingMode { Unknown, User, Environment, Left, Right };
    4142
    42     RealtimeMediaSourceStates()
    43         : m_sourceType(None)
    44         , m_facingMode(Unknown)
    45         , m_width(0)
    46         , m_height(0)
    47         , m_frameRate(0)
    48         , m_aspectRatio(0)
    49         , m_volume(0)
     43    static const AtomicString& facingMode(RealtimeMediaSourceSettings::VideoFacingMode);
     44
     45    explicit RealtimeMediaSourceSettings()
    5046    {
    5147    }
    5248
    53     static const AtomicString& sourceType(RealtimeMediaSourceStates::SourceType);
    54     static const AtomicString& facingMode(RealtimeMediaSourceStates::VideoFacingMode);
     49    bool supportsWidth() const { return m_supportedConstraints.supportsWidth(); }
     50    unsigned long width() const { return m_width; }
     51    void setWidth(unsigned long width) { m_width = width; }
    5552
    56     SourceType sourceType() const { return m_sourceType; }
    57     void setSourceType(SourceType type) { m_sourceType = type; }
     53    bool supportsHeight() const { return m_supportedConstraints.supportsHeight(); }
     54    unsigned long height() const { return m_height; }
     55    void setHeight(unsigned long height) { m_height = height; }
    5856
    59     const AtomicString& sourceId() const { return m_sourceId; }
    60     void setSourceId(const AtomicString& sourceId) { m_sourceId = sourceId; }
     57    bool supportsAspectRatio() const { return m_supportedConstraints.supportsAspectRatio(); }
     58    float aspectRatio() const { return m_aspectRatio; }
     59    void setAspectRatio(float aspectRatio) { m_aspectRatio = aspectRatio; }
    6160
     61    bool supportsFrameRate() const { return m_supportedConstraints.supportsFrameRate(); }
     62    float frameRate() const { return m_frameRate; }
     63    void setFrameRate(float frameRate) { m_frameRate = frameRate; }
     64
     65    bool supportsFacingMode() const { return m_supportedConstraints.supportsFacingMode(); }
    6266    VideoFacingMode facingMode() const { return m_facingMode; }
    6367    void setFacingMode(VideoFacingMode facingMode) { m_facingMode = facingMode; }
    64    
    65     unsigned long width() const { return m_width; }
    66     void setWidth(unsigned long width) { m_width = width; }
    67    
    68     unsigned long height() const { return m_height; }
    69     void setHeight(unsigned long height) { m_height = height; }
    70    
    71     float frameRate() const { return m_frameRate; }
    72     void setFrameRate(float frameRate) { m_frameRate = frameRate; }
    73    
    74     float aspectRatio() const { return m_aspectRatio; }
    75     void setAspectRatio(float aspectRatio) { m_aspectRatio = aspectRatio; }
    76    
     68
     69    bool supportsVolume() const { return m_supportedConstraints.supportsVolume(); }
    7770    unsigned long volume() const { return m_volume; }
    7871    void setVolume(unsigned long volume) { m_volume = volume; }
    79    
     72
     73    bool supportsSampleRate() const { return m_supportedConstraints.supportsSampleRate(); }
     74    unsigned long sampleRate() const { return m_sampleRate; }
     75    void setSampleRate(unsigned long sampleRate) { m_sampleRate = sampleRate; }
     76
     77    bool supportsSampleSize() const { return m_supportedConstraints.supportsSampleSize(); }
     78    unsigned long sampleSize() const { return m_sampleSize; }
     79    void setSampleSize(unsigned long sampleSize) { m_sampleSize = sampleSize; }
     80
     81    bool supportsEchoCancellation() const { return m_supportedConstraints.supportsEchoCancellation(); }
     82    bool echoCancellation() const { return m_echoCancellation; }
     83    void setEchoCancellation(bool echoCancellation) { m_echoCancellation = echoCancellation; }
     84
     85    bool supportsDeviceId() const { return m_supportedConstraints.supportsDeviceId(); }
     86    const AtomicString& deviceId() const { return m_deviceId; }
     87    void setDeviceId(const AtomicString& deviceId) { m_deviceId = deviceId; }
     88
     89    bool supportsGroupId() const { return m_supportedConstraints.supportsGroupId(); }
     90    const AtomicString& groupId() const { return m_groupId; }
     91    void setGroupId(const AtomicString& groupId) { m_groupId = groupId; }
     92
     93    void setSupportedConstraits(const RealtimeMediaSourceSupportedConstraints& supportedConstraints) { m_supportedConstraints = supportedConstraints; }
     94
    8095private:
    81     SourceType m_sourceType;
    82     AtomicString m_sourceId;
    83     VideoFacingMode m_facingMode;
    84     unsigned long m_width;
    85     unsigned long m_height;
    86     float m_frameRate;
    87     float m_aspectRatio;
    88     unsigned long m_volume;
     96    unsigned long m_width { 0 };
     97    unsigned long m_height { 0 };
     98    float m_aspectRatio { 0 };
     99    float m_frameRate { 0 };
     100    VideoFacingMode m_facingMode { Unknown };
     101    unsigned long m_volume { 0 };
     102    unsigned long m_sampleRate { 0 };
     103    unsigned long m_sampleSize { 0 };
     104    bool m_echoCancellation { 0 };
     105
     106    AtomicString m_deviceId;
     107    AtomicString m_groupId;
     108
     109    RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
    89110};
    90111
    91112} // namespace WebCore
    92113
    93 #endif // RealtimeMediaSourceStates_h
     114#endif // RealtimeMediaSourceSettings_h
    94115
    95116#endif
  • trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.h

    r191721 r192954  
    6060   
    6161    void initializeCapabilities(RealtimeMediaSourceCapabilities&) override;
     62    void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) override;
    6263
    6364    void captureOutputDidOutputSampleBufferFromConnection(AVCaptureOutput*, CMSampleBufferRef, AVCaptureConnection*) override;
     
    6566    void setupCaptureSession() override;
    6667    void shutdownCaptureSession() override;
    67     void updateStates() override;
     68    void updateSettings(RealtimeMediaSourceSettings&) override;
    6869    AudioSourceProvider* audioSourceProvider() override;
    6970
  • trunk/Source/WebCore/platform/mediastream/mac/AVAudioCaptureSource.mm

    r192365 r192954  
    3232#import "MediaConstraints.h"
    3333#import "NotImplemented.h"
    34 #import "RealtimeMediaSourceStates.h"
     34#import "RealtimeMediaSourceSettings.h"
    3535#import "SoftLinking.h"
    3636#import "WebAudioSourceProviderAVFObjC.h"
     
    7171    : AVMediaCaptureSource(device, id, RealtimeMediaSource::Audio, constraints)
    7272{
    73     currentStates()->setSourceId(id);
    74     currentStates()->setSourceType(RealtimeMediaSourceStates::Microphone);
    7573    m_inputDescription = std::make_unique<AudioStreamBasicDescription>();
    7674}
     
    8078}
    8179
    82 void AVAudioCaptureSource::initializeCapabilities(RealtimeMediaSourceCapabilities&capabilities)
     80void AVAudioCaptureSource::initializeCapabilities(RealtimeMediaSourceCapabilities&)
    8381{
    8482    // FIXME: finish this implementation - https://webkit.org/b/122430
    85     capabilities.addSourceType(RealtimeMediaSourceStates::Microphone);
    86 }
    87 
    88 void AVAudioCaptureSource::updateStates()
     83}
     84
     85void AVAudioCaptureSource::initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints& supportedConstraints)
     86{
     87    supportedConstraints.setSupportsVolume(true);
     88}
     89
     90void AVAudioCaptureSource::updateSettings(RealtimeMediaSourceSettings& settings)
    8991{
    9092    // FIXME: use [AVCaptureAudioPreviewOutput volume] for volume
    9193
    92     RealtimeMediaSourceStates* states = currentStates();
    93     states->setSourceId(id());
    94     states->setSourceType(RealtimeMediaSourceStates::Microphone);
     94    settings.setDeviceId(id());
    9595}
    9696
  • trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.h

    r192838 r192954  
    3232#include "MediaStreamTrackSourcesRequestClient.h"
    3333#include "RealtimeMediaSource.h"
     34#include "RealtimeMediaSourceSupportedConstraints.h"
    3435#include <wtf/RetainPtr.h>
    3536#include <wtf/text/WTFString.h>
     
    6667    void deviceConnected();
    6768    void deviceDisconnected(AVCaptureDevice*);
     69   
     70    const RealtimeMediaSourceSupportedConstraints& supportedConstraints();
    6871
    6972protected:
     
    8184
    8285    RetainPtr<WebCoreAVCaptureDeviceManagerObserver> m_objcObserver;
     86    RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
    8387    Vector<CaptureDeviceInfo> m_devices;
    8488};
  • trunk/Source/WebCore/platform/mediastream/mac/AVCaptureDeviceManager.mm

    r192838 r192954  
    3737#import "RealtimeMediaSource.h"
    3838#import "RealtimeMediaSourceCenter.h"
    39 #import "RealtimeMediaSourceStates.h"
     39#import "RealtimeMediaSourceSettings.h"
    4040#import "RealtimeMediaSourceSupportedConstraints.h"
    4141#import "SoftLinking.h"
     
    178178            captureDevice.m_localizedName = platformDevice.localizedName;
    179179            if ([platformDevice position] == AVCaptureDevicePositionFront)
    180                 captureDevice.m_position = RealtimeMediaSourceStates::User;
     180                captureDevice.m_position = RealtimeMediaSourceSettings::User;
    181181            if ([platformDevice position] == AVCaptureDevicePositionBack)
    182                 captureDevice.m_position = RealtimeMediaSourceStates::Environment;
     182                captureDevice.m_position = RealtimeMediaSourceSettings::Environment;
    183183
    184184            bool hasAudio = [platformDevice hasMediaType:AVMediaTypeAudio] || [platformDevice hasMediaType:AVMediaTypeMuxed];
     
    345345}
    346346
     347const RealtimeMediaSourceSupportedConstraints& AVCaptureDeviceManager::supportedConstraints()
     348{
     349    if (m_supportedConstraints.supportsDeviceId())
     350        return m_supportedConstraints;
     351
     352    m_supportedConstraints.setSupportsDeviceId(true);
     353
     354    Vector<CaptureDeviceInfo>& devices = captureDeviceList();
     355
     356    for (auto& captureDevice : devices) {
     357        if (captureDevice.m_sourceType == RealtimeMediaSource::Audio)
     358            m_supportedConstraints.setSupportsVolume(true);
     359
     360        if (captureDevice.m_sourceType == RealtimeMediaSource::Video) {
     361            m_supportedConstraints.setSupportsWidth(true);
     362            m_supportedConstraints.setSupportsHeight(true);
     363            m_supportedConstraints.setSupportsAspectRatio(true);
     364            m_supportedConstraints.setSupportsFrameRate(true);
     365            m_supportedConstraints.setSupportsFacingMode(true);
     366        }
     367    }
     368   
     369    return m_supportedConstraints;
     370}
     371
    347372} // namespace WebCore
    348373
  • trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.h

    r191721 r192954  
    5757    AVCaptureSession *session() const { return m_session.get(); }
    5858
    59     const RealtimeMediaSourceStates& states() override;
     59    const RealtimeMediaSourceSettings& settings() override;
    6060
    6161    void startProducingData() override;
     
    7272    virtual void setupCaptureSession() = 0;
    7373    virtual void shutdownCaptureSession() = 0;
    74     virtual void updateStates() = 0;
     74    virtual void updateSettings(RealtimeMediaSourceSettings&) = 0;
    7575    virtual void initializeCapabilities(RealtimeMediaSourceCapabilities&) = 0;
     76    virtual void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) = 0;
    7677
    7778    AVCaptureDevice *device() const { return m_device.get(); }
    7879
    79     RealtimeMediaSourceStates* currentStates() { return &m_currentStates; }
    8080    MediaConstraints* constraints() { return m_constraints.get(); }
    8181
     82    RealtimeMediaSourceSupportedConstraints& supportedConstraints();
    8283    RefPtr<RealtimeMediaSourceCapabilities> capabilities() override;
    8384
     
    9192    void reset() override;
    9293
     94    RealtimeMediaSourceSettings m_currentSettings;
     95    RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
    9396    WeakPtrFactory<AVMediaCaptureSource> m_weakPtrFactory;
    9497    RetainPtr<WebCoreAVMediaCaptureSourceObserver> m_objcObserver;
    9598    RefPtr<MediaConstraints> m_constraints;
    9699    RefPtr<RealtimeMediaSourceCapabilities> m_capabilities;
    97     RealtimeMediaSourceStates m_currentStates;
    98100    RetainPtr<AVCaptureSession> m_session;
    99101    RetainPtr<AVCaptureDevice> m_device;
  • trunk/Source/WebCore/platform/mediastream/mac/AVMediaCaptureSource.mm

    r192365 r192954  
    3232#import "Logging.h"
    3333#import "MediaConstraints.h"
    34 #import "RealtimeMediaSourceStates.h"
     34#import "RealtimeMediaSourceSettings.h"
    3535#import "SoftLinking.h"
    3636#import "UUID.h"
     
    133133    setName(device.localizedName);
    134134    setPersistentID(device.uniqueID);
    135     m_currentStates.setSourceType(type == RealtimeMediaSource::Video ? RealtimeMediaSourceStates::Camera : RealtimeMediaSourceStates::Microphone);
    136135}
    137136
     
    166165}
    167166
    168 const RealtimeMediaSourceStates& AVMediaCaptureSource::states()
    169 {
    170     m_currentStates.setSourceId(id());
    171     updateStates();
    172     return m_currentStates;
     167const RealtimeMediaSourceSettings& AVMediaCaptureSource::settings()
     168{
     169    if (m_currentSettings.deviceId().isEmpty())
     170        m_currentSettings.setSupportedConstraits(supportedConstraints());
     171
     172    m_currentSettings.setDeviceId(id());
     173    updateSettings(m_currentSettings);
     174    return m_currentSettings;
     175}
     176
     177RealtimeMediaSourceSupportedConstraints& AVMediaCaptureSource::supportedConstraints()
     178{
     179    if (m_supportedConstraints.supportsDeviceId())
     180        return m_supportedConstraints;
     181
     182    m_supportedConstraints.setSupportsDeviceId(true);
     183    initializeSupportedConstraints(m_supportedConstraints);
     184
     185    return m_supportedConstraints;
    173186}
    174187
  • trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.h

    r191721 r192954  
    5656    void shutdownCaptureSession() override;
    5757
    58     void updateStates() override;
     58    void updateSettings(RealtimeMediaSourceSettings&) override;
    5959
    6060    void initializeCapabilities(RealtimeMediaSourceCapabilities&) override;
     61    void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) override;
    6162
    6263    bool applyConstraints(MediaConstraints*);
  • trunk/Source/WebCore/platform/mediastream/mac/AVVideoCaptureSource.mm

    r192838 r192954  
    3939#import "PlatformLayer.h"
    4040#import "RealtimeMediaSourceCenter.h"
    41 #import "RealtimeMediaSourceStates.h"
     41#import "RealtimeMediaSourceSettings.h"
    4242#import <AVFoundation/AVFoundation.h>
    4343#import <objc/runtime.h>
     
    112112{
    113113    // FIXME: finish this implementation
    114     capabilities.setSourceId(currentStates()->sourceId());
    115     capabilities.addSourceType(RealtimeMediaSourceStates::Camera);
    116 }
    117 
    118 void AVVideoCaptureSource::updateStates()
    119 {
    120     RealtimeMediaSourceStates* states = currentStates();
    121 
    122     states->setSourceId(id());
    123     states->setSourceType(RealtimeMediaSourceStates::Camera);
     114    capabilities.setSourceId(id());
     115}
     116
     117void AVVideoCaptureSource::initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints& supportedConstraints)
     118{
     119    supportedConstraints.setSupportsWidth(true);
     120    supportedConstraints.setSupportsHeight(true);
     121    supportedConstraints.setSupportsAspectRatio(true);
     122    supportedConstraints.setSupportsFrameRate(true);
     123    supportedConstraints.setSupportsFacingMode(true);
     124}
     125
     126void AVVideoCaptureSource::updateSettings(RealtimeMediaSourceSettings& settings)
     127{
     128    settings.setDeviceId(id());
    124129
    125130    if ([device() position] == AVCaptureDevicePositionFront)
    126         states->setFacingMode(RealtimeMediaSourceStates::User);
     131        settings.setFacingMode(RealtimeMediaSourceSettings::User);
    127132    else if ([device() position] == AVCaptureDevicePositionBack)
    128         states->setFacingMode(RealtimeMediaSourceStates::Environment);
     133        settings.setFacingMode(RealtimeMediaSourceSettings::Environment);
    129134    else
    130         states->setFacingMode(RealtimeMediaSourceStates::Unknown);
    131    
    132     states->setFrameRate(m_frameRate);
    133     states->setWidth(m_width);
    134     states->setHeight(m_height);
    135     states->setAspectRatio(static_cast<float>(m_width) / m_height);
     135        settings.setFacingMode(RealtimeMediaSourceSettings::Unknown);
     136   
     137    settings.setFrameRate(m_frameRate);
     138    settings.setWidth(m_width);
     139    settings.setHeight(m_height);
     140    settings.setAspectRatio(static_cast<float>(m_width) / m_height);
    136141}
    137142
     
    293298    updateFramerate(sampleBuffer.get());
    294299
    295     bool statesChanged = false;
     300    bool settingsChanged = false;
    296301
    297302    m_buffer = sampleBuffer;
     
    302307        m_width = dimensions.width;
    303308        m_height = dimensions.height;
    304         statesChanged = true;
    305     }
    306 
    307     if (statesChanged)
    308         this->statesDidChanged();
     309        settingsChanged = true;
     310    }
     311
     312    if (settingsChanged)
     313        this->settingsDidChanged();
    309314}
    310315
  • trunk/Source/WebCore/platform/mediastream/mac/MockRealtimeVideoSourceMac.mm

    r192174 r192954  
    3838#import "NotImplemented.h"
    3939#import "PlatformLayer.h"
    40 #import "RealtimeMediaSourceStates.h"
     40#import "RealtimeMediaSourceSettings.h"
    4141#import <QuartzCore/CALayer.h>
    4242#import <QuartzCore/CATransaction.h>
  • trunk/Source/WebCore/platform/mediastream/openwebrtc/RealtimeMediaSourceOwr.h

    r191721 r192954  
    6060
    6161    virtual RefPtr<RealtimeMediaSourceCapabilities> capabilities() { return m_capabilities; }
    62     virtual const RealtimeMediaSourceStates& states() { return m_currentStates; }
     62    virtual const RealtimeMediaSourceSettings& settings() { return m_currentSettings; }
    6363
    6464    OwrMediaSource* mediaSource() const { return m_mediaSource; }
     
    6666private:
    6767    RefPtr<RealtimeMediaSourceCapabilities> m_capabilities;
    68     RealtimeMediaSourceStates m_currentStates;
     68    RealtimeMediaSourceSettings m_currentSettings;
    6969    OwrMediaSource* m_mediaSource;
    7070};
  • trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.cpp

    r192174 r192954  
    3636#include "MediaConstraints.h"
    3737#include "NotImplemented.h"
    38 #include "RealtimeMediaSourceStates.h"
     38#include "RealtimeMediaSourceSettings.h"
    3939#include "UUID.h"
    4040
     
    5151}
    5252
    53 void MockRealtimeAudioSource::updateStates()
     53void MockRealtimeAudioSource::updateSettings(RealtimeMediaSourceSettings& settings)
    5454{
    55     RealtimeMediaSourceStates* states = currentStates();
    56     states->setSourceType(RealtimeMediaSourceStates::Microphone);
    57     states->setVolume(50);
     55    settings.setVolume(50);
    5856}
    5957
     
    6361}
    6462
     63void MockRealtimeAudioSource::initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints& supportedConstraints)
     64{
     65    supportedConstraints.setSupportsVolume(true);
     66}
     67
    6568} // namespace WebCore
    6669
  • trunk/Source/WebCore/platform/mock/MockRealtimeAudioSource.h

    r192174 r192954  
    5252
    5353private:
    54     void updateStates() override;
     54    void updateSettings(RealtimeMediaSourceSettings&) override;
    5555    void initializeCapabilities(RealtimeMediaSourceCapabilities&) override;
     56    void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) override;
    5657};
    5758
  • trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.cpp

    r192602 r192954  
    3737#include "MediaStreamTrackSourcesRequestClient.h"
    3838#include "NotImplemented.h"
    39 #include "RealtimeMediaSourceStates.h"
     39#include "RealtimeMediaSourceSettings.h"
    4040#include <math.h>
    4141#include <wtf/CurrentTime.h>
     
    9393RefPtr<RealtimeMediaSourceCapabilities> MockRealtimeMediaSource::capabilities()
    9494{
    95     if (!m_capabilities) {
    96         m_capabilities = RealtimeMediaSourceCapabilities::create();
    97         m_capabilities->setSourceId(id());
    98         initializeCapabilities(*m_capabilities.get());
    99     }
     95    if (m_capabilities)
     96        return m_capabilities;
     97
     98    m_capabilities = RealtimeMediaSourceCapabilities::create();
     99    m_capabilities->setSourceId(id());
     100    initializeCapabilities(*m_capabilities.get());
     101
    100102    return m_capabilities;
    101103}
    102104
    103 const RealtimeMediaSourceStates& MockRealtimeMediaSource::states()
     105const RealtimeMediaSourceSettings& MockRealtimeMediaSource::settings()
    104106{
    105     m_currentStates.setSourceId(id());
    106     updateStates();
     107    if (m_currentSettings.deviceId().isEmpty()) {
     108        m_currentSettings.setSupportedConstraits(supportedConstraints());
     109        m_currentSettings.setDeviceId(id());
     110    }
    107111
    108     return m_currentStates;
     112    updateSettings(m_currentSettings);
     113    return m_currentSettings;
    109114}
     115
     116RealtimeMediaSourceSupportedConstraints& MockRealtimeMediaSource::supportedConstraints()
     117{
     118    if (m_supportedConstraints.supportsDeviceId())
     119        return m_supportedConstraints;
     120
     121    m_supportedConstraints.setSupportsDeviceId(true);
     122    initializeSupportedConstraints(m_supportedConstraints);
     123
     124    return m_supportedConstraints;
     125}
     126
    110127
    111128} // namespace WebCore
  • trunk/Source/WebCore/platform/mock/MockRealtimeMediaSource.h

    r192174 r192954  
    5858    MockRealtimeMediaSource(const String& id, Type, const String& name);
    5959
    60     virtual void updateStates() = 0;
     60    virtual void updateSettings(RealtimeMediaSourceSettings&) = 0;
    6161    virtual void initializeCapabilities(RealtimeMediaSourceCapabilities&) = 0;
     62    virtual void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) = 0;
    6263
    6364    void startProducingData() override { m_isProducingData = true; }
     
    6566
    6667    RefPtr<RealtimeMediaSourceCapabilities> capabilities() override;
    67     const RealtimeMediaSourceStates& states() override;
     68    const RealtimeMediaSourceSettings& settings() override;
    6869
    69     RealtimeMediaSourceStates* currentStates() { return &m_currentStates; }
    70     MediaConstraints* constraints() { return m_constraints.get(); }
     70    MediaConstraints& constraints() { return *m_constraints.get(); }
     71    RealtimeMediaSourceSupportedConstraints& supportedConstraints();
    7172
    7273private:
     
    7475    bool isProducingData() const override { return m_isProducingData; }
    7576
    76     RealtimeMediaSourceStates m_currentStates;
     77    RealtimeMediaSourceSettings m_currentSettings;
     78    RealtimeMediaSourceSupportedConstraints m_supportedConstraints;
    7779    RefPtr<RealtimeMediaSourceCapabilities> m_capabilities;
    7880    RefPtr<MediaConstraints> m_constraints;
  • trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.cpp

    r192679 r192954  
    4040#include "NotImplemented.h"
    4141#include "PlatformLayer.h"
    42 #include "RealtimeMediaSourceStates.h"
     42#include "RealtimeMediaSourceSettings.h"
    4343#include "UUID.h"
    4444#include <math.h>
     
    9191}
    9292
    93 void MockRealtimeVideoSource::updateStates()
    94 {
    95     RealtimeMediaSourceStates* states = currentStates();
    96 
    97     states->setSourceType(RealtimeMediaSourceStates::Camera);
    98     states->setFacingMode(RealtimeMediaSourceStates::User);
    99     states->setFrameRate(m_frameRate);
    100     states->setWidth(m_size.width());
    101     states->setHeight(m_size.height());
    102     states->setAspectRatio(static_cast<float>(m_size.width()) / m_size.height());
     93void MockRealtimeVideoSource::updateSettings(RealtimeMediaSourceSettings& settings)
     94{
     95    settings.setFacingMode(RealtimeMediaSourceSettings::User);
     96    settings.setFrameRate(m_frameRate);
     97    settings.setWidth(m_size.width());
     98    settings.setHeight(m_size.height());
     99    settings.setAspectRatio(static_cast<float>(m_size.width()) / m_size.height());
    103100}
    104101
    105102void MockRealtimeVideoSource::initializeCapabilities(RealtimeMediaSourceCapabilities& capabilities)
    106103{
    107     capabilities.addSourceType(RealtimeMediaSourceStates::Camera);
    108     capabilities.addFacingMode(RealtimeMediaSourceStates::User);
    109     capabilities.addFacingMode(RealtimeMediaSourceStates::Environment);
     104    capabilities.addFacingMode(RealtimeMediaSourceSettings::User);
     105    capabilities.addFacingMode(RealtimeMediaSourceSettings::Environment);
    110106    capabilities.setWidthRange(RealtimeMediaSourceCapabilityRange(320UL, 1920UL, true));
    111107    capabilities.setHeightRange(RealtimeMediaSourceCapabilityRange(240UL, 1080UL, true));
     
    114110}
    115111
    116 void MockRealtimeVideoSource::setFacingMode(RealtimeMediaSourceStates::VideoFacingMode mode)
    117 {
    118     RealtimeMediaSourceStates* states = currentStates();
    119 
    120     if (states->facingMode() == mode)
    121         return;
    122 
    123     states->setFacingMode(mode);
    124 
    125     statesDidChanged();
     112void MockRealtimeVideoSource::initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints& supportedConstraints)
     113{
     114    supportedConstraints.setSupportsWidth(true);
     115    supportedConstraints.setSupportsHeight(true);
     116    supportedConstraints.setSupportsAspectRatio(true);
     117    supportedConstraints.setSupportsFrameRate(true);
     118    supportedConstraints.setSupportsFacingMode(true);
    126119}
    127120
     
    135128        m_timer.startRepeating(std::chrono::milliseconds(lround(1000 / m_frameRate)));
    136129
    137     statesDidChanged();
     130    settingsDidChanged();
    138131}
    139132
     
    170163    updatePlatformLayer();
    171164
    172     statesDidChanged();
     165    settingsDidChanged();
    173166}
    174167
     
    285278
    286279    const char* camera;
    287     switch (states().facingMode()) {
    288     case RealtimeMediaSourceStates::User:
     280    switch (settings().facingMode()) {
     281    case RealtimeMediaSourceSettings::User:
    289282        camera = "User facing";
    290283        break;
    291     case RealtimeMediaSourceStates::Environment:
     284    case RealtimeMediaSourceSettings::Environment:
    292285        camera = "Environment facing";
    293286        break;
    294     case RealtimeMediaSourceStates::Left:
     287    case RealtimeMediaSourceSettings::Left:
    295288        camera = "Left facing";
    296289        break;
    297     case RealtimeMediaSourceStates::Right:
     290    case RealtimeMediaSourceSettings::Right:
    298291        camera = "Right facing";
    299292        break;
    300     case RealtimeMediaSourceStates::Unknown:
     293    case RealtimeMediaSourceSettings::Unknown:
    301294        camera = "Unknown";
    302295        break;
  • trunk/Source/WebCore/platform/mock/MockRealtimeVideoSource.h

    r192174 r192954  
    5454    const IntSize& size() const { return m_size; }
    5555
    56     void setFacingMode(RealtimeMediaSourceStates::VideoFacingMode);
    5756    void setFrameRate(float);
    5857
     
    6463
    6564private:
    66     void updateStates() override;
     65    void updateSettings(RealtimeMediaSourceSettings&) override;
    6766    void initializeCapabilities(RealtimeMediaSourceCapabilities&) override;
     67    void initializeSupportedConstraints(RealtimeMediaSourceSupportedConstraints&) override;
    6868
    6969    void startProducingData() override;
Note: See TracChangeset for help on using the changeset viewer.