Socket
Socket
Sign inDemoInstall

extendable-media-recorder

Package Overview
Dependencies
Maintainers
1
Versions
380
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

extendable-media-recorder - npm Package Compare versions

Comparing version 8.0.1 to 8.1.0

9

build/es2019/factories/is-supported-promise.js

@@ -18,5 +18,4 @@ export const createIsSupportedPromise = (window) => {

const canvasElement = window.document.createElement('canvas');
// @todo https://bugzilla.mozilla.org/show_bug.cgi?id=1388974
canvasElement.getContext('2d');
if (typeof canvasElement.captureStream !== 'function') {
const context = canvasElement.getContext('2d');
if (context === null || typeof canvasElement.captureStream !== 'function') {
return Promise.resolve(false);

@@ -44,2 +43,4 @@ }

* Bug #1 & #2: Up until v83 Firefox fired an error event with an UnknownError when adding or removing a track.
*
* Bug #3 & #4: Up until v112 Chrome dispatched an error event without any error.
*/

@@ -54,5 +55,5 @@ new Promise((resolve) => {

event.error.name !== 'UnknownError');
mediaRecorder.stop();
});
mediaRecorder.start();
context.fillRect(0, 0, 1, 1);
mediaStream.removeTrack(mediaStream.getVideoTracks()[0]);

@@ -59,0 +60,0 @@ })

@@ -1,2 +0,2 @@

export const createNativeMediaRecorderFactory = (createInvalidModificationError, createNotSupportedError) => {
export const createNativeMediaRecorderFactory = (createNotSupportedError) => {
return (nativeMediaRecorderConstructor, stream, mediaRecorderOptions) => {

@@ -37,7 +37,3 @@ const bufferedBlobs = [];

patchedEventListener = (event) => {
// Bug #3 & #4: Chrome throws an error event without any error.
if (event.error === undefined) {
listener.call(nativeMediaRecorder, new ErrorEvent('error', { error: createInvalidModificationError() }));
}
else if (event instanceof ErrorEvent) {
if (event instanceof ErrorEvent) {
listener.call(nativeMediaRecorder, event);

@@ -44,0 +40,0 @@ }

import { encode, instantiate } from 'media-encoder-host';
import { MultiBufferDataView } from 'multi-buffer-data-view';
import { on } from 'subscribable-things';
export const createWebmPcmMediaRecorderFactory = (createBlobEvent, createInvalidModificationError, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger) => {
export const createWebmPcmMediaRecorderFactory = (createBlobEvent, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger) => {
return (eventTarget, nativeMediaRecorderConstructor, mediaStream, mimeType) => {

@@ -40,5 +40,4 @@ const audioTracks = mediaStream.getAudioTracks();

stop();
// Bug #3 & #4: Chrome throws an error event without any error.
eventTarget.dispatchEvent(new ErrorEvent('error', {
error: event.error === undefined ? createInvalidModificationError() : event.error
error: event.error
}));

@@ -45,0 +44,0 @@ });

@@ -37,6 +37,6 @@ import { register as rgstr } from 'media-encoder-host';

const decodeWebMChunk = createDecodeWebMChunk(readElementContent, readElementType);
const createWebmPcmMediaRecorder = createWebmPcmMediaRecorderFactory(createBlobEvent, createInvalidModificationError, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger);
const createWebmPcmMediaRecorder = createWebmPcmMediaRecorderFactory(createBlobEvent, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger);
const createEventTarget = createEventTargetFactory(window);
const nativeMediaRecorderConstructor = createNativeMediaRecorderConstructor(window);
const createNativeMediaRecorder = createNativeMediaRecorderFactory(createInvalidModificationError, createNotSupportedError);
const createNativeMediaRecorder = createNativeMediaRecorderFactory(createNotSupportedError);
const mediaRecorderConstructor = createMediaRecorderConstructor(createNativeMediaRecorder, createNotSupportedError, createWebAudioMediaRecorder, createWebmPcmMediaRecorder, encoderRegexes, createEventTargetConstructor(createEventTarget, wrapEventListener), nativeMediaRecorderConstructor);

@@ -43,0 +43,0 @@ export { mediaRecorderConstructor as MediaRecorder };

@@ -1,5 +0,4 @@

import { TInvalidModificationErrorFactory } from './invalid-modification-error-factory';
import { TNativeMediaRecorderFactory } from './native-media-recorder-factory';
import { TNotSupportedErrorFactory } from './not-supported-error-factory';
export type TNativeMediaRecorderFactoryFactory = (createInvalidModificationError: TInvalidModificationErrorFactory, createNotSupportedError: TNotSupportedErrorFactory) => TNativeMediaRecorderFactory;
export type TNativeMediaRecorderFactoryFactory = (createNotSupportedError: TNotSupportedErrorFactory) => TNativeMediaRecorderFactory;
//# sourceMappingURL=native-media-recorder-factory-factory.d.ts.map
import { TBlobEventFactory } from './blob-event-factory';
import { TDecodeWebMChunkFunction } from './decode-web-m-chunk-function';
import { TInvalidModificationErrorFactory } from './invalid-modification-error-factory';
import { TNotSupportedErrorFactory } from './not-supported-error-factory';
import { TReadVariableSizeIntegerFunction } from './read-variable-size-integer-function';
import { TWebmPcmMediaRecorderFactory } from './webm-pcm-media-recorder-factory';
export type TWebmPcmMediaRecorderFactoryFactory = (createBlobEvent: TBlobEventFactory, createInvalidModificationError: TInvalidModificationErrorFactory, createNotSupportedError: TNotSupportedErrorFactory, decodeWebMChunk: TDecodeWebMChunkFunction, readVariableSizeInteger: TReadVariableSizeIntegerFunction) => TWebmPcmMediaRecorderFactory;
export type TWebmPcmMediaRecorderFactoryFactory = (createBlobEvent: TBlobEventFactory, createNotSupportedError: TNotSupportedErrorFactory, decodeWebMChunk: TDecodeWebMChunkFunction, readVariableSizeInteger: TReadVariableSizeIntegerFunction) => TWebmPcmMediaRecorderFactory;
//# sourceMappingURL=webm-pcm-media-recorder-factory-factory.d.ts.map

@@ -140,5 +140,4 @@ (function (global, factory) {

var canvasElement = window.document.createElement('canvas');
// @todo https://bugzilla.mozilla.org/show_bug.cgi?id=1388974
canvasElement.getContext('2d');
if (typeof canvasElement.captureStream !== 'function') {
var context = canvasElement.getContext('2d');
if (context === null || typeof canvasElement.captureStream !== 'function') {
return Promise.resolve(false);

@@ -172,2 +171,4 @@ }

* Bug #1 & #2: Up until v83 Firefox fired an error event with an UnknownError when adding or removing a track.
*
* Bug #3 & #4: Up until v112 Chrome dispatched an error event without any error.
*/

@@ -178,5 +179,5 @@ new Promise(function (resolve) {

resolve('error' in event && event.error !== null && _typeof(event.error) === 'object' && 'name' in event.error && event.error.name !== 'UnknownError');
mediaRecorder.stop();
});
mediaRecorder.start();
context.fillRect(0, 0, 1, 1);
mediaStream.removeTrack(mediaStream.getVideoTracks()[0]);

@@ -387,3 +388,3 @@ })]).then(function (results) {

var createNativeMediaRecorderFactory = function createNativeMediaRecorderFactory(createInvalidModificationError, createNotSupportedError) {
var createNativeMediaRecorderFactory = function createNativeMediaRecorderFactory(createNotSupportedError) {
return function (nativeMediaRecorderConstructor, stream, mediaRecorderOptions) {

@@ -424,8 +425,3 @@ var bufferedBlobs = [];

patchedEventListener = function patchedEventListener(event) {
// Bug #3 & #4: Chrome throws an error event without any error.
if (event.error === undefined) {
listener.call(nativeMediaRecorder, new ErrorEvent('error', {
error: createInvalidModificationError()
}));
} else if (event instanceof ErrorEvent) {
if (event instanceof ErrorEvent) {
listener.call(nativeMediaRecorder, event);

@@ -886,3 +882,3 @@ } else {

var createWebmPcmMediaRecorderFactory = function createWebmPcmMediaRecorderFactory(createBlobEvent, createInvalidModificationError, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger) {
var createWebmPcmMediaRecorderFactory = function createWebmPcmMediaRecorderFactory(createBlobEvent, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger) {
return function (eventTarget, nativeMediaRecorderConstructor, mediaStream, mimeType) {

@@ -945,5 +941,4 @@ var audioTracks = mediaStream.getAudioTracks();

stop();
// Bug #3 & #4: Chrome throws an error event without any error.
eventTarget.dispatchEvent(new ErrorEvent('error', {
error: event.error === undefined ? createInvalidModificationError() : event.error
error: event.error
}));

@@ -1158,6 +1153,6 @@ });

var decodeWebMChunk = createDecodeWebMChunk(readElementContent, readElementType);
var createWebmPcmMediaRecorder = createWebmPcmMediaRecorderFactory(createBlobEvent, createInvalidModificationError, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger);
var createWebmPcmMediaRecorder = createWebmPcmMediaRecorderFactory(createBlobEvent, createNotSupportedError, decodeWebMChunk, readVariableSizeInteger);
var createEventTarget = createEventTargetFactory(window$1);
var nativeMediaRecorderConstructor = createNativeMediaRecorderConstructor(window$1);
var createNativeMediaRecorder = createNativeMediaRecorderFactory(createInvalidModificationError, createNotSupportedError);
var createNativeMediaRecorder = createNativeMediaRecorderFactory(createNotSupportedError);
var mediaRecorderConstructor = createMediaRecorderConstructor(createNativeMediaRecorder, createNotSupportedError, createWebAudioMediaRecorder, createWebmPcmMediaRecorder, encoderRegexes, createEventTargetConstructor(createEventTarget, wrapEventListener), nativeMediaRecorderConstructor);

@@ -1164,0 +1159,0 @@ var isSupported = function isSupported() {

@@ -38,4 +38,4 @@ {

"cz-conventional-changelog": "^3.3.0",
"eslint": "^8.45.0",
"eslint-config-holy-grail": "^57.2.18",
"eslint": "^8.46.0",
"eslint-config-holy-grail": "^57.2.19",
"extendable-media-recorder-wav-encoder": "^7.0.96",

@@ -59,3 +59,3 @@ "grunt": "^1.6.1",

"rimraf": "^5.0.1",
"rollup": "^3.26.3",
"rollup": "^3.27.0",
"sinon": "^15.2.0",

@@ -100,3 +100,3 @@ "sinon-chai": "^3.7.0",

"types": "build/es2019/module.d.ts",
"version": "8.0.1"
"version": "8.1.0"
}

@@ -23,7 +23,5 @@ import { TIsSupportedPromiseFactory } from '../types';

const canvasElement = window.document.createElement('canvas');
const context = canvasElement.getContext('2d');
// @todo https://bugzilla.mozilla.org/show_bug.cgi?id=1388974
canvasElement.getContext('2d');
if (typeof canvasElement.captureStream !== 'function') {
if (context === null || typeof canvasElement.captureStream !== 'function') {
return Promise.resolve(false);

@@ -55,2 +53,4 @@ }

* Bug #1 & #2: Up until v83 Firefox fired an error event with an UnknownError when adding or removing a track.
*
* Bug #3 & #4: Up until v112 Chrome dispatched an error event without any error.
*/

@@ -68,5 +68,5 @@ new Promise((resolve) => {

);
mediaRecorder.stop();
});
mediaRecorder.start();
context.fillRect(0, 0, 1, 1);
mediaStream.removeTrack(mediaStream.getVideoTracks()[0]);

@@ -73,0 +73,0 @@ })

import { IBlobEvent, IMediaRecorder } from '../interfaces';
import { TEventHandler, TNativeMediaRecorderFactoryFactory } from '../types';
export const createNativeMediaRecorderFactory: TNativeMediaRecorderFactoryFactory = (
createInvalidModificationError,
createNotSupportedError
) => {
export const createNativeMediaRecorderFactory: TNativeMediaRecorderFactoryFactory = (createNotSupportedError) => {
return (nativeMediaRecorderConstructor, stream, mediaRecorderOptions) => {

@@ -52,6 +49,3 @@ const bufferedBlobs: Blob[] = [];

patchedEventListener = (event: ErrorEvent | (Event & { error?: Error })) => {
// Bug #3 & #4: Chrome throws an error event without any error.
if (event.error === undefined) {
listener.call(nativeMediaRecorder, new ErrorEvent('error', { error: createInvalidModificationError() }));
} else if (event instanceof ErrorEvent) {
if (event instanceof ErrorEvent) {
listener.call(nativeMediaRecorder, event);

@@ -58,0 +52,0 @@ } else {

@@ -8,3 +8,2 @@ import { encode, instantiate } from 'media-encoder-host';

createBlobEvent,
createInvalidModificationError,
createNotSupportedError,

@@ -58,6 +57,5 @@ decodeWebMChunk,

stop();
// Bug #3 & #4: Chrome throws an error event without any error.
eventTarget.dispatchEvent(
new ErrorEvent('error', {
error: (<ErrorEvent>event).error === undefined ? createInvalidModificationError() : (<ErrorEvent>event).error
error: (<ErrorEvent>event).error
})

@@ -64,0 +62,0 @@ );

@@ -48,3 +48,2 @@ import { register as rgstr } from 'media-encoder-host';

createBlobEvent,
createInvalidModificationError,
createNotSupportedError,

@@ -57,3 +56,3 @@ decodeWebMChunk,

const createNativeMediaRecorder = createNativeMediaRecorderFactory(createInvalidModificationError, createNotSupportedError);
const createNativeMediaRecorder = createNativeMediaRecorderFactory(createNotSupportedError);
const mediaRecorderConstructor: IMediaRecorderConstructor = createMediaRecorderConstructor(

@@ -60,0 +59,0 @@ createNativeMediaRecorder,

@@ -1,8 +0,4 @@

import { TInvalidModificationErrorFactory } from './invalid-modification-error-factory';
import { TNativeMediaRecorderFactory } from './native-media-recorder-factory';
import { TNotSupportedErrorFactory } from './not-supported-error-factory';
export type TNativeMediaRecorderFactoryFactory = (
createInvalidModificationError: TInvalidModificationErrorFactory,
createNotSupportedError: TNotSupportedErrorFactory
) => TNativeMediaRecorderFactory;
export type TNativeMediaRecorderFactoryFactory = (createNotSupportedError: TNotSupportedErrorFactory) => TNativeMediaRecorderFactory;
import { TBlobEventFactory } from './blob-event-factory';
import { TDecodeWebMChunkFunction } from './decode-web-m-chunk-function';
import { TInvalidModificationErrorFactory } from './invalid-modification-error-factory';
import { TNotSupportedErrorFactory } from './not-supported-error-factory';

@@ -10,3 +9,2 @@ import { TReadVariableSizeIntegerFunction } from './read-variable-size-integer-function';

createBlobEvent: TBlobEventFactory,
createInvalidModificationError: TInvalidModificationErrorFactory,
createNotSupportedError: TNotSupportedErrorFactory,

@@ -13,0 +11,0 @@ decodeWebMChunk: TDecodeWebMChunkFunction,

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc