Skip to content

Update wrtc to the latest version 馃殌 - #11

Open
greenkeeper[bot] wants to merge 1 commit into
masterfrom
greenkeeper/wrtc-0.0.63
Open

Update wrtc to the latest version 馃殌#11
greenkeeper[bot] wants to merge 1 commit into
masterfrom
greenkeeper/wrtc-0.0.63

Conversation

@greenkeeper

@greenkeeper greenkeeper Bot commented Nov 22, 2017

Copy link
Copy Markdown

Version 0.0.63 of wrtc was just published.

Dependency wrtc
Current Version 0.0.61
Type dependency

The version 0.0.63 is not covered by your current version range.

If you don鈥檛 accept this pull request, your project will work just like it did before. However, you might be missing out on a bunch of new features, fixes and/or performance improvements from the dependency update.

It might be worth looking into these changes and trying to get this project onto the latest version of wrtc.

If you have a solid test suite and good coverage, a passing build is a strong indicator that you can take advantage of these changes directly by merging the proposed change into your project. If the build fails or you don鈥檛 have such unconditional trust in your tests, this branch is a great starting point for you to work on the update.


Commits

The new version differs by 36 commits.

  • 10d9aa1 [skip travis] [publish binary] wrtc@0.0.63
  • 782a92c Fix scripts/build-appveyor.bat
  • 2205ae5 [publish binary] wrtc@0.0.63
  • a57e035 Update README.md, CHANGELOG.md, LICENSE.md, etc. (#336)
  • 794d0fb Try updating NPM
  • dc83d1f Fix timing issues in tests
  • 8abdc09 Use FakeAudioDeviceModule
  • 492ab2d Use libwebrtc
  • f98f64f Try building with Node 9
  • 8b5bcd9 Fixed 'Failed to set ICE candidate.' Error revaled by running in node 8. Node 8 complains about an unhandled promise. (node:39275) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Failed to set ICE candidate. (#329)
  • 2b63bae add ice candidate parse error description if any
  • 23a9352 Revert .travis.yml, appveyor.yml, and package.json changes
  • 16a6278 [publish binary] wrtc@0.0.62 (Node 8)
  • 18ee1f4 Try building with Node 8
  • 4682fda typo brew install openssl twice

There are 36 commits in total.

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don鈥檛 help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper bot 馃尨

greenkeeper Bot added a commit that referenced this pull request Dec 27, 2017
@greenkeeper

greenkeeper Bot commented Dec 27, 2017

Copy link
Copy Markdown
Author

Version 0.0.64 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 5 commits.

  • 19f9a65 [publish binary] wrtc@v0.0.64
  • 6cf6a6c Update CHANGELOG.md for v0.0.64
  • d2ba22d Fix segfaults in RTCDataChannel and RTCPeerConnection by not freeing objects until destruction (#342)
  • 7d26f9c Add test for sending an ArrayBuffer multiple times (#338)
  • 669bbc7 Prefer GetContents to Externalize (#337)

See the full diff

greenkeeper Bot added a commit that referenced this pull request Jan 2, 2018
@greenkeeper

greenkeeper Bot commented Jan 2, 2018

Copy link
Copy Markdown
Author

Version 0.0.65 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 9 commits.

  • 5aa4aa2 Update log messages in scripts/install.js
  • 02c8c63 [publish binary] wrtc@0.0.65
  • d83feb8 Fix unzip-stream dependency
  • 4716389 Enable Karma testing in Appveyor
  • 29c005b Use Karma to test Bridge Example
  • 84f3302 Cleanup examples/
  • 9f17721 Use CMake instead of GYP (#346)
  • 98b8112 Update LICENSE information in src files
  • 5e9e3b8 Add Buffer send support; fix ArrayBufferView bug (#344)

See the full diff

greenkeeper Bot added a commit that referenced this pull request Feb 9, 2018
@greenkeeper

greenkeeper Bot commented Feb 9, 2018

Copy link
Copy Markdown
Author

Version 0.0.66 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 17 commits.

There are 17 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Feb 19, 2018
@greenkeeper

greenkeeper Bot commented Feb 19, 2018

Copy link
Copy Markdown
Author

Version 0.0.67 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 9 commits.

  • f8a0891 [publish binary] wrtc@0.0.67
  • 99fcb81 Don't use new ES features in test
  • 64488d4 Run make format
  • b4d6bd7 Add JavaScript test for closing RTCDataChannel
  • 5ccebff Share node_webrtc::PeerConnectionFactory with children
  • e85fd7d Update WebRTC API used for OnDataChannel
  • fa5b6bf Remove DataChannel::Shutdown
  • 67ea18d Ref() and Unref() ObjectWrap instances w/ EventLoops
  • de260bb Begin developing 0.0.67

See the full diff

greenkeeper Bot added a commit that referenced this pull request Mar 30, 2018
@greenkeeper

greenkeeper Bot commented Mar 30, 2018

Copy link
Copy Markdown
Author

Version 0.1.0 just got published.

Update to this version instead 馃殌

Release Notes v0.1.0

This project will begin to follow SemVer in preparation for a 1.0.0 release.

New Features

Besides updating to WebRTC M60 (using mayeut/libwebrtc), this release adds a number of features that bring node-webrtc closer to standards-compliance. We still have a ways to go, but we're now testing against w3c/web-platform-tests.

RTCConfiguration

RTCPeerConnection's constructor now accepts the following standard properties:

  • bundlePolicy
  • iceCandidatePoolSize
  • iceServers (no support for OAuth yet)
  • iceTransportPolicy
  • rtcpMuxPolicy

RTCConfiguration also accepts a non-standard property, portRange. This property constrains the port range used by the RTCPeerConnection's ICE transports. For example,

const { RTCPeerConnection } = require('wrtc');

const pc = new RTCPeerConnection({
portRange: {
min: 10000, // defaults to 0
max: 20000 // defaults to 65535
}
});

RTCPeerConnection

RTCPeerConnection now supports two new methods:

  • getConfiguration
  • setConfiguration

RTCPeerConnection now supports the following properties:

  • canTrickleIceCandidates (always returns null for now)
  • connectionState (derived from iceConnectionState)
  • currentLocalDescription
  • currentRemoteDescription
  • pendingLocalDescription
  • pendingRemoteDescription

RTCPeerConnection now supports the following events:

  • "connectionstatechange"
  • "negotiationneeded"

RTCOfferOptions and RTCAnswerOptions

RTCPeerConnection's createOffer method now accepts RTCOfferOptions, and RTCPeerConnection's createAnswer method now accepts RTCAnswerOptions. RTCOfferOptions supports

  • iceRestart
  • offerToReceiveAudio
  • offerToReceiveVideo

Both RTCOfferOptions and RTCAnswerOptions support voiceActivityDetection.

RTCDataChannelInit

RTCPeerConnection's createDataChannel method now accepts

  • id
  • maxPacketLifeTime
  • maxRetransmits
  • negotiated
  • ordered
  • protocol

RTCDataChannel

RTCDataChannel supports the following properties:

  • id
  • maxRetransmits
  • ordered
  • priority (always returns "high")
  • protocol

RTCDataChannel's send method now supports sending Blobs provided by jsdom; however, there is no support for receiving Blobs.

Top-level Exports

Added top-level exports for

  • RTCDataChannel
  • RTCDataChannelEvent
  • RTCPeerConnectionIceEvent

Bug Fixes

  • Fixed a failed assertion when closing RTCPeerConnection's or RTCDataChannel's event loop (#376).
  • Moved AudioDeviceModule construction to the worker thread. This fixes a thread checker assertion raised by debug builds of libwebrtc.
  • Copy StatsReports on the signaling thread. This fixes a thread checker assertion raised by debug builds of libwebrtc.

Breaking Changes

  • Dropped support for "moz"- and "webkit"-prefixed WebRTC APIs in lib/browser.js. This means that, when bundling JavaScript that depends on node-webrtc for the browser, the resulting bundle will no longer depend on these APIs (#369).
  • Dropped support for the now non-standard url attribute in RTCIceServer.
  • Dropped support for the RTCIceConnectionStates, RTCIceGatheringStates, and RTCSignalingStates properties on the RTCPeerConnection prototype. These were an implementation detail that some libraries used for detecting node-webrtc.
  • Dropped support for the RTCDataStates and BinaryTypes properties on the RTCDataChannel prototype. This, too, was an implementation detail.
Commits

The new version differs by 72 commits.

  • 1c6493f Update CHANGELOG.md and README.md (#380)
  • 202e919 [publish binary] wrtc@0.1.0
  • 35f5ced Prepare for 0.1.0 (#379)
  • b0cc60c Run make format
  • ced77ae Add support for onnegotiationneeded
  • 68cb07c Address make check feedback
  • 4a6d751 Make progress on RTCDataChannel-send.html
  • 002c50f Pass RTCPeerConnection-setRemoteDescription-pranswer.html
  • 7cb6a89 Pass RTCPeerConnection-setRemoteDescription-answer.html
  • ff57143 Pass RTCPeerConnection-setLocalDescription-answer.html
  • 6d25bb5 Try to fix Windows
  • a27cfdd Pass RTCPeerConnection-setLocalDescription.html
  • 6f789cd Pass promises-call.html
  • 1e361c3 Pass no-media-call.html
  • 3c95725 Pass RTCPeerConnection-ondatachannel.html

There are 72 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Apr 2, 2018
@greenkeeper

greenkeeper Bot commented Apr 2, 2018

Copy link
Copy Markdown
Author

Version 0.1.1 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 12 commits.

  • a0780d0 Add .npmignore and remove some files
  • 7bcc0f6 [publish binary] wrtc@0.1.1
  • 0e48803 Update CHANGELOG.md for 0.1.1
  • dd7ad37 Use epoll-enabled PhysicalSocketServer on Linux
  • cfbb1b9 Run make format on src/{converters/functional}
  • 582b12d COMMA trick
  • 6b394a8 Use more auto
  • 562fbd5 Introduce CONVERT_OR_THROW_AND_RETURN macro
  • b48be13 Move lib/peerconnection.js functions to prototype
  • 460e10d Remove runImmediately from lib/peerconnection.js
  • 7be7bcc createDataChannel no longer returns undefined
  • f940c96 Start developing 0.1.1-dev

See the full diff

greenkeeper Bot added a commit that referenced this pull request Apr 15, 2018
@greenkeeper

greenkeeper Bot commented Apr 15, 2018

Copy link
Copy Markdown
Author

Version 0.1.2 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 9 commits.

  • a6dc2d9 [publish binary] wrtc@0.1.2
  • 1dcfdea Merge pull request #390 from js-platform/fix-datachannel-leak
  • b4049d7 Update CHANGELOG.md for 0.1.2
  • af0575a Refactor DataChannel to use EventLoop
  • 0db7b6e Silence warnings
  • 2bf6a40 Update cppcheck and apply recommendations
  • 15d24e8 Raise minimum cmake version
  • 2c0238d Add _GLIBCXX_USE_CXX11_ABI=0 to CMakeLists.txt on Linux
  • 9411cb7 Begin developing 0.1.2

See the full diff

greenkeeper Bot added a commit that referenced this pull request Apr 18, 2018
@greenkeeper

greenkeeper Bot commented Apr 18, 2018

Copy link
Copy Markdown
Author

Version 0.1.3 just got published.

Update to this version instead 馃殌

Release Notes v0.1.3

Bug Fixes

  • Fixed memory leaks related to RTCPeerConnection events.
Commits

The new version differs by 14 commits.

  • 0255894 [publish binary] wrtc@0.1.3
  • e69c698 Address make check issues
  • 194ea8a Convert GetStats to use PromiseEvent
  • 469230f Add SETUP_PROMISE macro
  • 0a427b8 Collapse set-{local,remote}-description-observer.{h,cc}
  • bc7afb2 Collapse create-{offer,answer}-observer.{h,cc}
  • 3728f50 Convert Create{Offer,Answer} to use PromiseEvent
  • f7b565f Fix PromiseEvent rejection values
  • 01922d6 Convert Set{Local,Remote}Description to use PromiseEvent
  • db6d9b1 Convert AddIceCandidate to use PromiseEvent
  • efe80c8 Add PromiseFulfillingEventLoop and PromiseEvent
  • 713f696 Run bridge example for Chrome and Firefox separately
  • c2f15ad Refactor PeerConnection to use EventLoop
  • beff1b3 Begin developing 0.1.3

See the full diff

greenkeeper Bot added a commit that referenced this pull request Apr 28, 2018
@greenkeeper

greenkeeper Bot commented Apr 28, 2018

Copy link
Copy Markdown
Author

Version 0.1.4 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 5 commits.

  • 65382ea [publish binary] wrtc@0.1.4
  • 44aa29d Prepare for v0.1.4 (#403)
  • fafb784 Initial changes needed for Node.js 10
  • c59e871 Add RTCRtpReceivers and remote MediaStreamTracks
  • 20c9f27 Begin developing v0.1.4

See the full diff

greenkeeper Bot added a commit that referenced this pull request Jun 16, 2018
@greenkeeper

greenkeeper Bot commented Jun 16, 2018

Copy link
Copy Markdown
Author

Version 0.1.5 just got published.

Update to this version instead 馃殌

Commits

The new version differs by 21 commits.

  • 4165d6c [publish binary] wrtc@0.1.5
  • ca38b42 Workaround Windows issue
  • 8550c10 Add FakeAudioDevice and ZeroCapturer
  • 30bb7df Add MediaStream loopback example
  • 655351a Prepare for v0.1.5
  • d0a75eb Don't AddRef/RemoveRef in MediaStream
  • 226fe6d Add RTCRtpSender destructor test
  • 3bbf36c MediaStream calls AddRef/RemoveRef on MediaStreamTrack
  • 6e37097 Fix NewInstance calls
  • a39d01b Remove unused macros from src/common.h
  • e5be9ad Add RTCRtpSender
  • 83ad156 MediaStream support
  • 9aaa9c1 Add uv_is_closing check
  • 324b955 Add destructor tests
  • 30386eb Fixes for Windows

There are 21 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Jun 28, 2018
@greenkeeper

greenkeeper Bot commented Jun 28, 2018

Copy link
Copy Markdown
Author

Version 0.1.6 just got published.

Update to this version instead 馃殌

Release Notes v0.1.6

Bug Fixes

  • Fixed an issue with receiving multiple ArrayBuffers over an RTCDataChannel that could cause invalid memory accesses (#406).
Commits

The new version differs by 6 commits.

  • 6dd8482 Fix typo in README.md
  • 3b902da [publish binary] wrtc@0.1.6
  • f3b4df1 Update CHANGELOG.md and package.json for 0.1.6
  • a41cbab Fix failing ArrayBuffer test
  • a6744c9 Add failing ArrayBuffer test
  • bc8ebb2 Remove #if statements for Node.js <= 0.11.7

See the full diff

greenkeeper Bot added a commit that referenced this pull request Aug 31, 2018
@greenkeeper

greenkeeper Bot commented Aug 31, 2018

Copy link
Copy Markdown
Author

Version 0.2.0 just got published.

Update to this version instead 馃殌

Release Notes v0.2.0

Breaking Changes

  • Dropped support for Node 4, 5 and 7 (#408).

Bug Fixes

  • Fixed a race when closing an RTCDataChannel (#358).
  • Fixed memory leaks in createOffer, createAnswer, addIceCandidate, and getStats (#425).
Commits

The new version differs by 7 commits.

  • 85cfe5a [publish binary] wrtc@0.2.0
  • e75ce17 Fix memory leaks in PeerConnection
  • f22bb0c Fix WPT tests with latest Mocha
  • d79016c - Updated package dependencies to fix security vulnerability
  • ca68b0b Dropped support for Node 4, 5 and 7 (#414)
  • a871094 fix make format
  • b309a5f fix race during close

See the full diff

greenkeeper Bot added a commit that referenced this pull request Sep 24, 2018
@greenkeeper

greenkeeper Bot commented Sep 24, 2018

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.2.1.

Update to this version instead 馃殌

Release Notes for v0.2.1

Bug Fixes

  • Fixed an AudioDeviceModule memory and thread leak (#429).
  • Fixed an issue where closing an RTCPeerConnection would raise "open" events on any RTCDataChannels whose readyState was "connecting" (#436).
Commits

The new version differs by 7 commits.

  • 78c709d [publish binary] wrtc@0.2.1
  • 4a84318 Update CHANGELOG.md
  • f829192 Expand upon test/closing-data-channel.js
  • b906473 - Added test for proper closing of datachannel
  • bdccafa Restricted HandleStateEvent method to open and close event
  • 09c8d5b Fix AudioDeviceModule leak
  • 549b5e5 Begin developing 0.2.1-dev

See the full diff

greenkeeper Bot added a commit that referenced this pull request Nov 3, 2018
@greenkeeper

greenkeeper Bot commented Nov 3, 2018

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.0.

Update to this version instead 馃殌

Release Notes for v0.3.0

New Features

  • Support for Node 11. Binaries are available for Linux and macOS. Windows binaries will become available in a subsequent release once AppVeyor gains support for Node 11.
  • Updated to WebRTC M70. This release no longer uses mayeut/libwebrtc; instead, WebRTC is built from source.

Breaking Changes

  • Dropped support for Node 9
  • Minimum CMake version bumped to 3.12
  • Minimum GCC version bumped to 5.4
  • Minimum Microsoft Visual Studio version bumped to 2017

Bug Fixes

  • Updating to WebRTC M70 fixes an RTCDataChannel-related interop bug with recent Firefox releases (#444).
Commits

The new version differs by 5 commits.

  • 43aa194 [publish binary] wrtc@0.3.0
  • 66915a9 [publish binary] wrtc@0.3.0
  • 2e16b9d Prepare for v0.3.0 (#445)
  • 8f4a20d Destroy AudioDeviceModule on worker thread (#443)
  • 9d190f5 Begin developing v0.2.2

See the full diff

@greenkeeper

greenkeeper Bot commented Nov 9, 2018

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.1.

Update to this version instead 馃殌

Release Notes for v0.3.1

This release adds a number of new features and brings us closer to spec compliance, thanks to the tests at web-platform-tests/wpt.

New Features

getUserMedia

This release adds limited getUserMedia support. You can create audio and video MediaStreamTracks; however, the resulting MediaStreamTracks do not capture any media. You can add these MediaStreamTracks to an RTCPeerConnection; however, no media will be transmitted. You can confirm by checking bytesSent and bytesReceived in getStats.

const { getUserMedia } = require('wrtc');

getUserMedia({
audio: true,
video: true
}).then(stream => {
stream.getTracks().forEach(track => stop());
});

Although we will parse and validate some members of the MediaStreamConstraints and related dictionaries, we do not use their values at this time.

getStats

This release adds limited standards-compliant getStats support. Previous node-webrtc releases exposed the legacy, callback-based getStats API. This release preserves that API but adds the Promise-based API. Neither the MediaStreamTrack selector argument nor the RTCRtpSender- and RTCRtpReceiver-level getStats APIs are implemented at this time.

// Legacy API
pc.getStats(
  response => { /* ... */ },
  console.error
);

// Standards-compliant API
pc.getStats().then(
report => { / ... / },
console.error
);

Unified Plan and sdpSemantics

This release adds support for RTCRtpTransceivers and Unified Plan SDP via

  • A non-standard RTCConfiguration option, sdpSemantics, and
  • An environment variable, SDP_SEMANTICS.

Construct an RTCPeerConnection with sdpSemantics set to "unified-plan" or launch your application with SDP_SEMANTICS=unified-plan to enable RTCRtpTransceiver support; otherwise, "plan-b" is the default.

const { RTCPeerConnection } = require('wrtc');

const pc = new RTCPeerConnection({
sdpSemantics: 'unified-plan' // default is "plan-b"
});

SDP_SEMANTICS=unified-plan node app.js

RTCRtpTransceiver

You can use RTCRtpTransceivers and related APIs when Unified Plan is enabled. This includes the following RTCPeerConnection methods

  • addTransceiver
  • getTransceivers

and the following RTCTrackEvent properties

  • transceiver

The following RTCRtpTransceiver methods are supported

  • stop

as well as the following RTCRtpTransceiver properties

  • mid
  • sender
  • receiver
  • stopped
  • direction
  • currentDirection

setCodecPreferences is not yet implemented. When calling addTransceiver, only the following RTCRtpTransceiverInit dictionary members are supported

  • direction
  • streams
const assert = require('assert');
const { MediaStream, RTCPeerConnection, RTCRtpTransceiver } = require('wrtc');

const pc = new RTCPeerConnection({
sdpSemantics: 'unified-plan'
});

const t1 = pc.addTransceiver('audio', {
direction: 'recvonly'
});

const t2 = pc.addTransceiver(t1.receiver.track, {
direction: 'sendonly',
streams: [new MediaStream()]
});

MediaStreamTrack

Added limited support for the muted property (it always returns false).

Miscellaneous

  • APIs that should throw DOMExceptions, such as addTrack, will use domexception to construct those DOMExceptions, if installed.

Bug Fixes

  • Calling addTrack twice with the same MediaStreamTrack should throw an InvalidAccessError (#442).
  • MediaStream's getTrackById did not work for video MediaStreamTracks.
  • MediaStream's clone method did not clone MediaStreamTracks.
  • MediaStreamTrack's readyState was not updated when stop was called.
Commits

The new version differs by 24 commits.

  • abf8348 [publish binary] wrtc@0.3.1
  • c05e898 Update CHANGELOG.md
  • 1b1877a Pass some mediacapture-streams tests
  • f4e6201 Pass more tests
  • a2670ce More fixes
  • 1fc5430 Fix Windows build again; improve getStats
  • 043a54e Stub out standards-compliant getStats
  • ad492a6 Expand getUserMedia support and tests
  • 190cd92 Add getUserMedia stub
  • 9215051 Fix Windows build
  • 8ca97b2 Add addTransceiver(track, init) support
  • 1598d24 Additional Linux fixes
  • 80b6dcb Factor out memory management boilerplate
  • 581ad6c Pass some more tests
  • cd66c5d Fix Linux build

There are 24 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Nov 9, 2018
greenkeeper Bot added a commit that referenced this pull request Nov 9, 2018
@greenkeeper

greenkeeper Bot commented Nov 9, 2018

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.2.

Update to this version instead 馃殌

Release Notes for v0.3.2

New Features

  • Support for Node 11 on Windows.
Commits

The new version differs by 2 commits.

  • c7c2af6 [publish binary] wrtc@0.3.2
  • 4cd84e0 Prepare for 0.3.2 (#447)

See the full diff

greenkeeper Bot added a commit that referenced this pull request Dec 16, 2018
@greenkeeper

greenkeeper Bot commented Dec 16, 2018

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.3.

Update to this version instead 馃殌

Commits

The new version differs by 21 commits.

There are 21 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Jan 22, 2019
@greenkeeper

greenkeeper Bot commented Jan 22, 2019

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.5.

Update to this version instead 馃殌

Release Notes for v0.3.5

New Features

Programmatic Video

This release of node-webrtc adds non-standard, programmatic video APIs in the form of RTCVideoSource and RTCVideoSink. With these APIs, you can

  • Pass I420 frames to RTCVideoSource via the onFrame method. Then use RTCVideoSource's createTrack method to create a local video MediaStreamTrack.
  • Construct an RTCVideoSink from a local or remote video MediaStreamTrack. The RTCVideoSink will emit a "frame" event every time an I420 frame is received. When you're finished, stop the RTCVideoSink by calling stop.

Because these APIs are non-standard, they are exposed via a nonstandard property on node-webrtc's exports object. For example,

const { RTCVideoSource, RTCVideoSink } = require('wrtc').nonstandard;

const source = new RTCVideoSource();
const track = source.createTrack();
const sink = new RTCVideoSink(track);

const width = 320;
const height = 240;
const data = new Uint8ClampedArray(width height 1.5);
const frame = { width, height, data };

const interval = setInterval(() => {
// Update the frame in some way before sending.
source.onFrame(frame);
});

sink.onframe = ({ frame }) => {
// Do something with the received frame.
};

setTimeout(() => {
clearInterval(interval);
track.stop();
sink.stop();
}, 10000);

This release also adds bindings to some libyuv functions for handling I420 frames. These can be useful when converting to and from RGBA.

RTCVideoSource

[constructor(optional RTCVideoSourceInit init)]
interface RTCVideoSource {
  readonly attribute boolean isScreencast;
  readonly attribute boolean? needsDenoising;
  MediaStreamTrack createTrack();
  void onFrame(RTCVideoFrame frame);
};

dictionary RTCVideoSourceInit {
boolean isScreencast = false;
boolean needsDenoising;
};

dictionary RTCVideoFrame {
required unsigned long width;
required unsigned long height;
required Uint8ClampedArray data;
};

  • Calling createTrack will return a local video MediaStreamTrack whose source is the RTCVideoSource.
  • Calling onFrame with an RTCVideoFrame pushes a new video frame to every non-stopped local video MediaStreamTrack created with createTrack.
  • An RTCVideoFrame represents an I420 frame.

RTCVideoSink

[constructor(MediaStreamTrack track)]
interface RTCVideoSink {
  void stop();
  readonly attribute boolean stopped;
  attribute EventHandler onframe;
};
  • RTCVideoSink's constructor accepts a local or remote video MediaStreamTrack.
  • As long as neither the RTCVideoSink nor the RTCVideoSink's MediaStreamTrack are stopped, the RTCVideoSink will raise a "frame" event any time an RTCVideoFrame is received.
  • The "frame" event has a property, frame, of type RTCVideoFrame.
  • RTCVideoSink must be stopped by calling stop.

i420ToRgba and rgbaToI420

These two functions are bindings to libyuv that provide conversions between I420 and RGBA frames. WebRTC expects I420, whereas APIs like the Canvas API expect RGBA, so these functions are useful for converting between. For example,

const { i420ToRgba, rgbaToI420 } = require('wrtc').nonstandard;

const width = 640;
const height = 480;
const i420Data = new Uint8ClampedArray(width height 1.5);
const rgbaData = new Uint8ClampedArray(width height 4);
const i420Frame = { width, height, data: i420Data };
const rgbaFrame = { width, height, data: rgbaData };

i420ToRgba(i420Frame, rgbaFrame);
rgbaToI420(rgbaFrame, i420Frame);

MediaStreamTrack

  • Added support for setting MediaStreamTrack's enabled property (#475).
Commits

The new version differs by 46 commits.

  • 26d8f3c [publish binary] wrtc@0.3.5
  • dd208f6 Appease GCC
  • f842b02 Appease IWYU
  • c3e84be Refactor ImageData classes a bit
  • 7616a29 Add RTCVideoSink stopped property
  • d1a1202 Add RTCVideoSourceInit
  • cca7d23 Address PR feedback 1
  • 01405b6 Update README.md
  • 9413d01 Update libyuv bindings
  • cb83830 Update CHANGELOG.md
  • 768f3ab Add EventTarget interface to RTCVideoSink
  • 9d4d98c Skip test/rtcvideosource.js in Node 6
  • fbae4a4 Move non-standard APIs to exports.nonstandard
  • 086182d Add missing newline to src/rtcvideosink.h
  • 27e3f22 Fix src/events.cc for Windows

There are 46 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Mar 19, 2019
@greenkeeper

greenkeeper Bot commented Mar 19, 2019

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.6.

Update to this version instead 馃殌

Release Notes for v0.3.6

New Features

Programmatic Audio

This release of node-webrtc adds non-standard, programmatic audio APIs in the form of RTCAudioSource and RTCAudioSink. These APIs are similar to the previously added RTCVideoSource and RTCVideoSink APIs. With these APIs, you can

  • Pass audio samples to RTCAudioSource via the onData method. Then use the RTCAudioSource's createTrack method to create a local audio MediaStreamTrack.
  • Construct an RTCAudioSink from a local or remote audio MediaStreamTrack. The RTCAudioSink will emit a "data" event every time audio samples are received. When you're finished, stop the RTCAudioSink by calling stop.

Because these APIs are non-standard, they are exposed via a nonstandard property on node-webrtc's exports object. For example,

const { RTCAudioSource, RTCAudioSink } = require('wrtc').nonstandard;

const source = new RTCAudioSource();
const track = source.createTrack();
const sink = new RTCAudioSink(track);

const sampleRate = 8000;
const samples = new Int16Array(sampleRate / 100); // 10 ms of 16-bit mono audio

const data = {
samples,
sampleRate
};

const interval = setInterval(() => {
// Update audioData in some way before sending.
source.onData(data);
});

sink.ondata = data => {
// Do something with the received audio samples.
};

setTimeout(() => {
clearInterval(interval);
track.stop();
sink.stop();
}, 10000);

RTCAudioSource

[constructor]
interface RTCAudioSource {
  MediaStreamTrack createTrack();
  void onData(RTCAudioData data);
};

dictionary RTCAudioData {
required Int16Array samples;
required unsigned short sampleRate;
octet bitsPerSample = 16;
octet channelCount = 1;
unsigned short numberOfFrames;
};

  • Calling createTrack will return a local audio MediaStreamTrack whose source is the RTCAudioSource.
  • Calling onData with RTCAudioData pushes a new audio samples to every non-stopped local audio MediaStreamTrack created with createTrack.
  • RTCAudioData should represent 10 ms worth of 16-bit audio samples.

RTCAudioSink

[constructor(MediaStreamTrack track)]
interface RTCAudioSink {
  void stop();
  readonly attribute boolean stopped;
  attribute EventHandler ondata;
};
  • RTCAudioSink's constructor accepts a local or remote audio MediaStreamTrack.
  • As long as neither the RTCAudioSink nor the RTCAudioSink's MediaStreamTrack are stopped, the RTCAudioSink will raise a "data" event any time RTCAudioData is received.
  • The "data" event has all the properties of RTCAudioData.
  • RTCAudioSink must be stopped by calling stop.

RTCVideoFrame rotation

The RTCVideoFrame raised in RTCVideoSink's "frame" event now includes a property, rotation, which indicates rotation of the RTCVideoFrame. Possible values are 0, 90, 180, and 270.

EventListener handleEvent

EventListener instances now support handleEvent.

Commits

The new version differs by 25 commits.

  • 67112d2 [publish binary] wrtc@0.3.6
  • 540f394 Disable RTCAudioSource stress test for CircleCI/Darwin
  • 5fcc112 Fix crash identified by @scaret
  • 0e3ca65 Fix Darwin
  • 189d9e3 Really don't run example app tests in Node 6
  • 32e0d36 Update RTCAudioData dictionary
  • 456eb30 Fix sizes in C++
  • aaf6324 Don't run example app tests in Node 6
  • 8e8d5de Add sine-wave-stereo example
  • 4853fa8 Use Math.pow
  • cb4b605 Document Programmatic Audio APIs in CHANGELOG.md
  • b0b3e01 Fix Int16Array construction
  • 35a0d18 Try to fix that crash in DestroyAsyncResource
  • cc09777 Other build/README.md tweaks
  • bc7ea95 Cleanup examples/ folder

There are 25 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request Mar 29, 2019
@greenkeeper

greenkeeper Bot commented Mar 29, 2019

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.3.7.

Update to this version instead 馃殌

Release Notes for v0.3.7

New Features

RTCDtlsTransport

RTCRtpSender and RTCRtpReceiver now provide access to RTCDtlsTransport via the transport property (initially null). Currently, RTCDtlsTransport only supports the state property, the "statechange" event, and the "error" event.

Miscellaneous

  • Updated to WebRTC M73.
  • Added maxPacketLifeTime getter to RTCDataChannel (#492).
  • Added negotiated getter to RTCDataChannel.

Bug Fixes

  • Fixed addIceCandidate queueing behavior (#498).
Commits

The new version differs by 20 commits.

  • fceb38c [publish binary] wrtc@0.3.7
  • 205c219 Don't run browser tests in Appveyor for Node 6
  • 9bfe8d6 [publish binary] wrtc@0.3.7
  • 2c1e259 Extract example app (#500)
  • c8eeb57 Update CHANGELOG.md
  • f69bc2b Add onerror support
  • f6eedbd Add onstatechange support
  • bf42c8f Make EventTarget inheritable
  • 32ad471 Initial RTCDtlsTransport implementation
  • 7848f6f Fix addIceCandidate queueing behavior (#499)
  • 48a8c69 Update CHANGELOG.md
  • cd771e3 Add negotiated getter
  • c07737e Add maxPacketLifeTime getter
  • a1a381a Try to fix Node 6
  • 4ba2b90 Update package.json

There are 20 commits in total.

See the full diff

greenkeeper Bot added a commit that referenced this pull request May 6, 2019
@greenkeeper

greenkeeper Bot commented May 6, 2019

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.4.0.

Update to this version instead 馃殌

greenkeeper Bot added a commit that referenced this pull request May 12, 2019
@greenkeeper

greenkeeper Bot commented May 12, 2019

Copy link
Copy Markdown
Author
  • The dependency wrtc was updated from 0.0.61 to 0.4.1.

Update to this version instead 馃殌

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants