├── .eslintrc
├── .gitignore
├── .prettierignore
├── .prettierrc
├── .project
├── CONTRIBUTING.md
├── LICENSE
├── QUERY_PARAMS.md
├── README.md
├── assets
├── Red5_Truetime_black.png
├── red5pro_logo.png
└── red5pro_logo.svg
├── configuration.json
├── gulpfile.js
├── package-lock.json
├── package.json
├── scripts
├── LICENSE.css
├── LICENSE.html
├── LICENSE.js
├── clean-dist-sm2.sh
├── inject-license-css-source.sh
├── inject-license-html-template.sh
├── inject-license-js-source.sh
└── inject-license.sh
├── src
├── page
│ ├── index.html
│ ├── proxy-publisher.html
│ ├── proxy-screenshare.html
│ ├── proxy-subscriber-all-edge.html
│ ├── proxy-subscriber-amount.html
│ ├── proxy-subscriber.html
│ ├── r5-player.html
│ ├── sample-mixer-pages
│ │ ├── 2x2
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── subscriber-block.js
│ │ ├── 3x3
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── subscriber-block.js
│ │ ├── 7x7
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── subscriber-block.js
│ │ ├── conference
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── presenter-flow-viewer.js
│ │ └── nxn
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── subscriber-block.js
│ ├── sm-mixer
│ │ ├── conferenceHostStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ ├── presenter-flow-viewer.html
│ │ │ └── presenter-flow-viewer.js
│ │ ├── conferenceParticipantStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── publisher-settings.js
│ │ └── gridMixerCompositionStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ ├── sm-test
│ │ ├── ConferenceAPIStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── conference-service.js
│ │ │ ├── conference-subscriber.js
│ │ │ ├── device-selector-util.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── ConferenceStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── conference-subscriber.js
│ │ │ ├── device-selector-util.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── TwoWayStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── brewMixerSM
│ │ │ ├── README.md
│ │ │ ├── assets
│ │ │ │ ├── 2x2.svg
│ │ │ │ ├── 3x3.svg
│ │ │ │ ├── 4x4.svg
│ │ │ │ ├── close_button.svg
│ │ │ │ ├── mic.svg
│ │ │ │ ├── mic_active.svg
│ │ │ │ ├── render_tree.svg
│ │ │ │ ├── stop_button.svg
│ │ │ │ ├── volume_off.svg
│ │ │ │ └── volume_on.svg
│ │ │ ├── brewmixer.js
│ │ │ ├── coord-util.js
│ │ │ ├── css
│ │ │ │ └── style.css
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── castlabsPublishStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── encrypt-worker.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── castlabsStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── castlabsWatermarkStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── castlabs-service.js
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── watermarked-image.png
│ │ ├── playbackVODStreamManager
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── playbackVODStreamManagerList
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProvisionForm
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyAMFMetadata
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyAudioSettings
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyAudioTranscoder
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyCamera
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyDataChannel
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyMultiOriginRequest
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyMultiOriginStrictRequest
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyRecord
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyRoundTripAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyScreenShare
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxySettings
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyTranscoderPOST
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyTranscoderPOSTauth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyTranscoderPOSTauthAMF
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerProxyValidation
│ │ │ ├── README.md
│ │ │ ├── index.css
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishStreamManagerSocialPusher
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeBackupStreamSwitchStreammanager
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxy
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyAMFMetadata
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyAMFMetadataVOD
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyDataChannel
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyInterstitial
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyLiveVOD
│ │ │ ├── README.md
│ │ │ ├── controls.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyMute
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyReconnect
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyRoundTripAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyScreenShare
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxySwitch
│ │ │ ├── Readme.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyTranscoderHLS
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyTranscoderRTC
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyTranscoderRTMP
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStreamManagerProxyVP8
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ └── subscribeStreamManagerProxyValidation
│ │ │ ├── README.md
│ │ │ ├── index.css
│ │ │ ├── index.html
│ │ │ └── index.js
│ ├── test
│ │ ├── castlabs
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── castlabsPublish
│ │ │ ├── README.md
│ │ │ ├── encrypt-worker.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── castlabsWatermark
│ │ │ ├── README.md
│ │ │ ├── castlabs-service.js
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── watermarked-image.png
│ │ ├── conference-api
│ │ │ ├── README.md
│ │ │ ├── conference-service.js
│ │ │ ├── conference-subscriber.js
│ │ │ ├── device-selector-util.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── conference-streams-api
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── conference
│ │ │ ├── README.md
│ │ │ ├── conference-subscriber.js
│ │ │ ├── device-selector-util.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── conferenceComposite
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── conferenceParticipant
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── playbackVOD
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publish
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publish1080
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishAMFMetadata
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishAppend
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishAudioCustomSettingsWebRTC
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishAvailableHDSettings
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishCall
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishCameraResize
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── red5pro-camera-resize-publisher.swf
│ │ ├── publishCameraSource
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishCameraSwap
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishCodecSupport
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishCustomSettingsWebRTC
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishDataChannel
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishEncodings
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishFlashvars
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishHQAudio
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishImageCapture
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishMediaStreamCamera
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishMute
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishRecord
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishRemoteCall
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishRoundTripAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishScreenShare
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishScreenShareWithExtension
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishSendLog
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishSocialPusher
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishUnpublish
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishVP8
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishValidation
│ │ │ ├── README.md
│ │ │ ├── index.css
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── publishWHIP
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribe
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribe360
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ ├── index.js
│ │ │ └── renderer-360.js
│ │ ├── subscribeAMFMetadata
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeAMFMetadataVOD
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeAudioOnly
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeCall
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeCluster
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeCodecSupport
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeDataChannel
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeHLS
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeImageCapture
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeInterstitial
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeLiveVOD
│ │ │ ├── README.md
│ │ │ ├── controls.js
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeMobile
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeMute
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeReconnect
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeRemoteCall
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeRetryOnInvalidName
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeRoundTripAuth
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeScreenShare
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeSendLog
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeStandby
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeSwitch
│ │ │ ├── Readme.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeTwoStreams
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeValidation
│ │ │ ├── README.md
│ │ │ ├── index.css
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeVideoMute
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeWHEP
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribeh264
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ ├── subscribevp8
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ │ └── twoWay
│ │ │ ├── README.md
│ │ │ ├── index.html
│ │ │ └── index.js
│ ├── testbed-menu-mixer-sample-pages.html
│ ├── testbed-menu-mixer-sm.html
│ ├── testbed-menu-sm.html
│ └── testbed-menu.html
└── template
│ └── partial
│ ├── body-scripts.hbs
│ ├── error-notification.hbs
│ ├── footer.hbs
│ ├── header-scripts.hbs
│ ├── header-stylesheets.hbs
│ ├── license.hbs
│ ├── meta.hbs
│ ├── mobile-subscriber-util.hbs
│ ├── navigation.hbs
│ ├── settings-link.hbs
│ ├── sm-proxy-notification.hbs
│ ├── sm-scripts.hbs
│ ├── statistics-field.hbs
│ ├── status-field-publisher.hbs
│ ├── status-field-subscriber.hbs
│ ├── test-info.hbs
│ ├── test-title.hbs
│ ├── top-bar.hbs
│ ├── transcoder-form.hbs
│ └── version.hbs
└── static
├── css
├── assets
│ ├── Red5Pro_logo_white_red.svg
│ └── red5pro_logo.png
├── conference.css
├── modal.css
├── reset.css
├── testbed.css
└── video-filters.css
├── favicon.ico
├── fonts
├── Lato-Bold.ttf
├── Lato-Regular.ttf
├── fontawesome-webfont.eot
├── fontawesome-webfont.svg
├── fontawesome-webfont.ttf
└── fontawesome-webfont.woff
├── images
├── 2x2.png
├── 3x3.png
├── 4x4.png
├── 6x4.png
├── Red5_Truetime.png
├── arrow_down.svg
├── arrow_left.svg
├── black-arrow.svg
├── loading.svg
├── red-arrow-right.svg
└── white-arrow.svg
├── lib
├── bootstrap
│ └── css
│ │ └── bootstrap.min.css
├── castlabs
│ ├── crypto
│ │ ├── clcrypto.js
│ │ └── clcrypto.wasm
│ └── rtc-drm-transform
│ │ └── rtc-drm-transform.min.js
├── es6
│ ├── es6-array.js
│ ├── es6-bind.js
│ ├── es6-fetch-LICENSE
│ ├── es6-fetch.js
│ ├── es6-object-assign.js
│ ├── es6-promise-LICENSE
│ └── es6-promise.min.js
├── font-awesome
│ ├── css
│ │ └── font-awesome.min.css
│ └── fonts
│ │ ├── FontAwesome.otf
│ │ ├── fontawesome-webfont.eot
│ │ ├── fontawesome-webfont.svg
│ │ ├── fontawesome-webfont.ttf
│ │ ├── fontawesome-webfont.woff
│ │ └── fontawesome-webfont.woff2
├── red5pro-ext
│ ├── README.md
│ └── red5pro-ext-stream-manager.min.js
├── red5pro
│ ├── CHANGES.md
│ ├── CONFERENCE_PARTICIPANT_README.md
│ ├── LICENSE
│ ├── MIGRATION_GUIDE.md
│ ├── PLAYBACK_CONTROLS.md
│ ├── PUBLISHER_README.md
│ ├── README.md
│ ├── SUBSCRIBER_README.md
│ ├── WHIP_WHEP_README.md
│ ├── icons
│ │ ├── LICENSE
│ │ ├── maximize.png
│ │ ├── maximize.svg
│ │ ├── minimize.png
│ │ ├── minimize.svg
│ │ ├── pause.png
│ │ ├── pause.svg
│ │ ├── play.png
│ │ ├── play.svg
│ │ ├── volume-2.png
│ │ ├── volume-2.svg
│ │ ├── volume-x.png
│ │ └── volume-x.svg
│ ├── red5pro-media.css
│ ├── red5pro-publisher.swf
│ ├── red5pro-sdk.min.js
│ └── red5pro-subscriber.swf
├── screenfull
│ ├── license
│ └── screenfull.min.js
├── smartmenus-1.1.0
│ ├── LICENSE-MIT
│ ├── README.md
│ ├── css
│ │ ├── sm-clean
│ │ │ ├── _mixins.scss
│ │ │ ├── _sm-clean-theme.scss
│ │ │ ├── mixins
│ │ │ │ ├── _round-corners-last-item.scss
│ │ │ │ └── _sub-items-indentation.scss
│ │ │ ├── sm-clean.css
│ │ │ ├── sm-clean.css.map
│ │ │ └── sm-clean.scss
│ │ └── sm-core-css.css
│ ├── jquery.smartmenus.js
│ ├── jquery.smartmenus.min.js
│ └── libs
│ │ └── jquery
│ │ └── jquery.js
└── swfobject
│ ├── LICENSE
│ ├── playerProductInstall.swf
│ └── swfobject.js
└── script
├── conference-subscriber-block.js
├── mock-fetch.js
├── publisher-status.js
├── reachability.js
├── red5pro-utils.js
├── sm-api.js
├── subscription-status.js
├── testbed-config.js
└── url-params.js
/.eslintrc:
--------------------------------------------------------------------------------
1 | {
2 | "parser": "@babel/eslint-parser",
3 | "env": {
4 | "browser": true,
5 | "es2021": true
6 | },
7 | "rules": {
8 | "no-console": 0
9 | },
10 | "globals": {},
11 | "parserOptions": {
12 | "requireConfigFile": false,
13 | "ecmaVersion": 2018
14 | },
15 | "extends": ["eslint:recommended", "prettier"],
16 | "plugins": ["prettier"]
17 | }
18 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | .DS_Store
2 |
3 | # Logs
4 | logs
5 | *.log
6 |
7 | # Runtime data
8 | pids
9 | *.pid
10 | *.seed
11 |
12 | # Directory for instrumented libs generated by jscoverage/JSCover
13 | lib-cov
14 |
15 | # Coverage directory used by tools like istanbul
16 | coverage
17 |
18 | # node-waf configuration
19 | .lock-wscript
20 |
21 | # Dependency directory
22 | # https://www.npmjs.org/doc/misc/npm-faq.html#should-i-check-my-node_modules-folder-into-git
23 | node_modules
24 |
25 | # Build
26 | build/
27 | dist/
28 | dist-webapp/
29 | build-and-deploy-html5.sh
30 | testbeds.tarz
31 |
32 | # VSCode
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/.prettierignore:
--------------------------------------------------------------------------------
1 | *.hbs
2 | *.html
3 | **/*.min.js
4 | **/*.min.css
5 | src/page/test/castlabs/dummyframe.js
6 | src/page/test/castlabs/worker.js
7 | src/page/sm-test/castlabsStreamManagerProxy/dummyframe.js
8 | src/page/sm-test/castlabsStreamManagerProxyv/worker.js
9 |
10 |
--------------------------------------------------------------------------------
/.prettierrc:
--------------------------------------------------------------------------------
1 | {
2 | "printWidth": 80,
3 | "tabWidth": 2,
4 | "useTabs": false,
5 | "semi": false,
6 | "singleQuote": true,
7 | "quoteProps": "as-needed",
8 | "jsxSingleQuote": false,
9 | "trailingComma": "none",
10 | "bracketSpacing": true,
11 | "jsxBracketSameLine": false,
12 | "arrowParens": "avoid",
13 | "requirePragma": false,
14 | "insertPragma": false,
15 | "proseWrap": "preserve",
16 | "htmlWhitespaceSensitivity": "css",
17 | "endOfLine": "auto",
18 | "parser": "typescript"
19 | }
20 |
--------------------------------------------------------------------------------
/.project:
--------------------------------------------------------------------------------
1 |
2 |
35 | 36 | 37 |
38 | 39 |18 | 19 | 20 |
21 |22 | 23 |
24 |Origin Address: N/A
Origin Address: N/A
Origin Address: N/A
Edge Address: N/A
39 | 40 | 41 |
42 |Edge Address: N/A
29 | 30 | 31 |
32 | 33 |In order to properly run the Stream Manager examples, you will need to configure your environment with the autoscaling infrastructure as described in the following documentation:
23 | 24 |Edge Address: N/A
56 | 57 | 58 |
59 | 60 |31 | 32 | 33 |
34 | 35 |37 | 38 | 39 |
40 |41 | 42 |
43 | 44 |Camera Dimensions
18 |17 | 18 | 19 |
20 |21 | 22 |
23 |The browser you are using does not support the facingMode
video constraint require for this test.
17 | 18 | 19 |
20 |21 | 22 | 23 |
24 |25 | 26 |
27 |37 | 38 |
39 | 40 |31 | 32 | 33 |
34 |53 | 54 | 55 |
56 |35 | 36 | 37 |
38 | 39 |33 | 34 | 35 |
36 | 37 |33 | 34 | 35 |
36 |37 | 38 | 39 |
40 |41 | 42 | 43 |
44 | 45 |29 | 30 | 31 | 32 | 33 | 34 |
35 |Provide validation parameters to be used in connection requests.
19 | 32 | 33 |37 | 38 | 39 |
40 |41 | 42 |
43 | 44 |Edge Address: N/A
18 | 19 | 20 |
21 |22 | 23 | 24 |
25 |26 | 27 |
28 |18 | 19 | 20 |
21 |22 | 23 |
24 |37 | 38 |
39 | 40 |38 | 39 | 40 |
41 |This example attempts to make two connections:
One for ScreenShare & One for Audio from the Broadcaster.
Start a screen share broadcast using the Publisher Screen Share.
38 | 39 | 40 |
41 | 42 |33 | 34 | 35 |
36 | 37 |Provide validation parameters to be used in connection requests.
19 | 32 | 33 |