react-covideo-embed 1.0.68 → 1.0.69

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,936 +0,0 @@
1
- /*!
2
- Copyright (c) 2018 Jed Watson.
3
- Licensed under the MIT License (MIT), see
4
- http://jedwatson.github.io/classnames
5
- */
6
-
7
- /*!
8
- * ### ._obj
9
- *
10
- * Quick reference to stored `actual` value for plugin developers.
11
- *
12
- * @api private
13
- */
14
-
15
- /*!
16
- * ### .ifError(object)
17
- *
18
- * Asserts if value is not a false value, and throws if it is a true value.
19
- * This is added to allow for chai to be a drop-in replacement for Node's
20
- * assert class.
21
- *
22
- * var err = new Error('I am a custom error');
23
- * assert.ifError(err); // Rethrows err!
24
- *
25
- * @name ifError
26
- * @param {Object} object
27
- * @namespace Assert
28
- * @api public
29
- */
30
-
31
- /*!
32
- * Aliases.
33
- */
34
-
35
- /*!
36
- * Assertion Constructor
37
- *
38
- * Creates object for chaining.
39
- *
40
- * `Assertion` objects contain metadata in the form of flags. Three flags can
41
- * be assigned during instantiation by passing arguments to this constructor:
42
- *
43
- * - `object`: This flag contains the target of the assertion. For example, in
44
- * the assertion `expect(numKittens).to.equal(7);`, the `object` flag will
45
- * contain `numKittens` so that the `equal` assertion can reference it when
46
- * needed.
47
- *
48
- * - `message`: This flag contains an optional custom error message to be
49
- * prepended to the error message that's generated by the assertion when it
50
- * fails.
51
- *
52
- * - `ssfi`: This flag stands for "start stack function indicator". It
53
- * contains a function reference that serves as the starting point for
54
- * removing frames from the stack trace of the error that's created by the
55
- * assertion when it fails. The goal is to provide a cleaner stack trace to
56
- * end users by removing Chai's internal functions. Note that it only works
57
- * in environments that support `Error.captureStackTrace`, and only when
58
- * `Chai.config.includeStack` hasn't been set to `false`.
59
- *
60
- * - `lockSsfi`: This flag controls whether or not the given `ssfi` flag
61
- * should retain its current value, even as assertions are chained off of
62
- * this object. This is usually set to `true` when creating a new assertion
63
- * from within another assertion. It's also temporarily set to `true` before
64
- * an overwritten assertion gets called by the overwriting assertion.
65
- *
66
- * - `eql`: This flag contains the deepEqual function to be used by the assertion.
67
- *
68
- * @param {Mixed} obj target of the assertion
69
- * @param {String} msg (optional) custom error message
70
- * @param {Function} ssfi (optional) starting point for removing stack frames
71
- * @param {Boolean} lockSsfi (optional) whether or not the ssfi flag is locked
72
- * @api private
73
- */
74
-
75
- /*!
76
- * Chai dependencies.
77
- */
78
-
79
- /*!
80
- * Module dependencies.
81
- */
82
-
83
- /*!
84
- * Module export.
85
- */
86
-
87
- /*!
88
- Copyright (c) 2015 Jed Watson.
89
- Based on code that is Copyright 2013-2015, Facebook, Inc.
90
- All rights reserved.
91
- */
92
-
93
- /*!
94
- * Adapted from jQuery UI core
95
- *
96
- * http://jqueryui.com
97
- *
98
- * Copyright 2014 jQuery Foundation and other contributors
99
- * Released under the MIT license.
100
- * http://jquery.org/license
101
- *
102
- * http://api.jqueryui.com/category/ui-core/
103
- */
104
-
105
- /*!
106
- * Add a chainable method
107
- */
108
-
109
- /*!
110
- * Assert interface
111
- */
112
-
113
- /*!
114
- * Assertion Error
115
- */
116
-
117
- /*!
118
- * Chai - addChainingMethod utility
119
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
120
- * MIT Licensed
121
- */
122
-
123
- /*!
124
- * Chai - addLengthGuard utility
125
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
126
- * MIT Licensed
127
- */
128
-
129
- /*!
130
- * Chai - addMethod utility
131
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
132
- * MIT Licensed
133
- */
134
-
135
- /*!
136
- * Chai - addProperty utility
137
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
138
- * MIT Licensed
139
- */
140
-
141
- /*!
142
- * Chai - compareByInspect utility
143
- * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
144
- * MIT Licensed
145
- */
146
-
147
- /*!
148
- * Chai - expectTypes utility
149
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
150
- * MIT Licensed
151
- */
152
-
153
- /*!
154
- * Chai - flag utility
155
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
156
- * MIT Licensed
157
- */
158
-
159
- /*!
160
- * Chai - getActual utility
161
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
162
- * MIT Licensed
163
- */
164
-
165
- /*!
166
- * Chai - getOwnEnumerableProperties utility
167
- * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
168
- * MIT Licensed
169
- */
170
-
171
- /*!
172
- * Chai - getOwnEnumerablePropertySymbols utility
173
- * Copyright(c) 2011-2016 Jake Luer <jake@alogicalparadox.com>
174
- * MIT Licensed
175
- */
176
-
177
- /*!
178
- * Chai - getProperties utility
179
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
180
- * MIT Licensed
181
- */
182
-
183
- /*!
184
- * Chai - isNaN utility
185
- * Copyright(c) 2012-2015 Sakthipriyan Vairamani <thechargingvolcano@gmail.com>
186
- * MIT Licensed
187
- */
188
-
189
- /*!
190
- * Chai - isProxyEnabled helper
191
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
192
- * MIT Licensed
193
- */
194
-
195
- /*!
196
- * Chai - message composition utility
197
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
198
- * MIT Licensed
199
- */
200
-
201
- /*!
202
- * Chai - overwriteChainableMethod utility
203
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
204
- * MIT Licensed
205
- */
206
-
207
- /*!
208
- * Chai - overwriteMethod utility
209
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
210
- * MIT Licensed
211
- */
212
-
213
- /*!
214
- * Chai - overwriteProperty utility
215
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
216
- * MIT Licensed
217
- */
218
-
219
- /*!
220
- * Chai - test utility
221
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
222
- * MIT Licensed
223
- */
224
-
225
- /*!
226
- * Chai - transferFlags utility
227
- * Copyright(c) 2012-2014 Jake Luer <jake@alogicalparadox.com>
228
- * MIT Licensed
229
- */
230
-
231
- /*!
232
- * Chai version
233
- */
234
-
235
- /*!
236
- * Check if a property exists
237
- */
238
-
239
- /*!
240
- * Check to see if the MemoizeMap has recorded a result of the two operands
241
- *
242
- * @param {Mixed} leftHandOperand
243
- * @param {Mixed} rightHandOperand
244
- * @param {MemoizeMap} memoizeMap
245
- * @returns {Boolean|null} result
246
- */
247
-
248
- /*!
249
- * Checks error against a given set of criteria
250
- */
251
-
252
- /*!
253
- * Compare by inspect method
254
- */
255
-
256
- /*!
257
- * Compare two Regular Expressions for equality.
258
- *
259
- * @param {RegExp} leftHandOperand
260
- * @param {RegExp} rightHandOperand
261
- * @return {Boolean} result
262
- */
263
-
264
- /*!
265
- * Compare two Sets/Maps for equality. Faster than other equality functions.
266
- *
267
- * @param {Set} leftHandOperand
268
- * @param {Set} rightHandOperand
269
- * @param {Object} [options] (Optional)
270
- * @return {Boolean} result
271
- */
272
-
273
- /*!
274
- * Configuration
275
- */
276
-
277
- /*!
278
- * Core Assertions
279
- */
280
-
281
- /*!
282
- * Deep equal utility
283
- */
284
-
285
- /*!
286
- * Deep path info
287
- */
288
-
289
- /*!
290
- * Dependencies that are used for multiple exports are required here only once
291
- */
292
-
293
- /*!
294
- * Determine if an object is a Buffer
295
- *
296
- * @author Feross Aboukhadijeh <https://feross.org>
297
- * @license MIT
298
- */
299
-
300
- /*!
301
- * Determine if the given object has an @@iterator function.
302
- *
303
- * @param {Object} target
304
- * @return {Boolean} `true` if the object has an @@iterator function.
305
- */
306
-
307
- /*!
308
- * Determines if two objects have matching values, given a set of keys. Defers to deepEqual for the equality check of
309
- * each key. If any value of the given key is not equal, the function will return false (early).
310
- *
311
- * @param {Mixed} leftHandOperand
312
- * @param {Mixed} rightHandOperand
313
- * @param {Array} keys An array of keys to compare the values of leftHandOperand and rightHandOperand against
314
- * @param {Object} [options] (Optional)
315
- * @return {Boolean} result
316
- */
317
-
318
- /*!
319
- * Ensure correct constructor
320
- */
321
-
322
- /*!
323
- * Expect interface
324
- */
325
-
326
- /*!
327
- * Flag transferring utility
328
- */
329
-
330
- /*!
331
- * Flag utility
332
- */
333
-
334
- /*!
335
- * Function name
336
- */
337
-
338
- /*!
339
- * Get own enumerable properties method
340
- */
341
-
342
- /*!
343
- * Get own enumerable property symbols method
344
- */
345
-
346
- /*!
347
- * Gets all entries from a Generator. This will consume the generator - which could have side effects.
348
- *
349
- * @param {Generator} target
350
- * @returns {Array} an array of entries from the Generator.
351
- */
352
-
353
- /*!
354
- * Gets all iterator entries from the given Object. If the Object has no @@iterator function, returns an empty array.
355
- * This will consume the iterator - which could have side effects depending on the @@iterator implementation.
356
- *
357
- * @param {Object} target
358
- * @returns {Array} an array of entries from the @@iterator function
359
- */
360
-
361
- /*!
362
- * Gets all own and inherited enumerable keys from a target.
363
- *
364
- * @param {Object} target
365
- * @returns {Array} an array of own and inherited enumerable keys from the target.
366
- */
367
-
368
- /*!
369
- * Inherit from Error.prototype
370
- */
371
-
372
- /*!
373
- * Inspect util
374
- */
375
-
376
- /*!
377
- * JavaScript Cookie v2.2.1
378
- * https://github.com/js-cookie/js-cookie
379
- *
380
- * Copyright 2006, 2015 Klaus Hartl & Fagner Brack
381
- * Released under the MIT license
382
- */
383
-
384
- /*!
385
- * Module dependencies
386
- */
387
-
388
- /*!
389
- * Object Display util
390
- */
391
-
392
- /*!
393
- * Overwrite chainable method
394
- */
395
-
396
- /*!
397
- * Primary Export
398
- */
399
-
400
- /*!
401
- * Primary Exports
402
- */
403
-
404
- /*!
405
- * Primary `Assertion` prototype
406
- */
407
-
408
- /*!
409
- * Proxify util
410
- */
411
-
412
- /*!
413
- * Recursively check the equality of two Objects. Once basic sameness has been established it will defer to `deepEqual`
414
- * for each enumerable key in the object.
415
- *
416
- * @param {Mixed} leftHandOperand
417
- * @param {Mixed} rightHandOperand
418
- * @param {Object} [options] (Optional)
419
- * @return {Boolean} result
420
- */
421
-
422
- /*!
423
- * Return a function that will copy properties from
424
- * one object to another excluding any originally
425
- * listed. Returned function will create a new `{}`.
426
- *
427
- * @param {String} excluded properties ...
428
- * @return {Function}
429
- */
430
-
431
- /*!
432
- * Returns true if the argument is a primitive.
433
- *
434
- * This intentionally returns true for all objects that can be compared by reference,
435
- * including functions and symbols.
436
- *
437
- * @param {Mixed} value
438
- * @return {Boolean} result
439
- */
440
-
441
- /*!
442
- * Set the result of the equality into the MemoizeMap
443
- *
444
- * @param {Mixed} leftHandOperand
445
- * @param {Mixed} rightHandOperand
446
- * @param {MemoizeMap} memoizeMap
447
- * @param {Boolean} result
448
- */
449
-
450
- /*!
451
- * Should interface
452
- */
453
-
454
- /*!
455
- * Simple equality for flat iterable objects such as Arrays, TypedArrays or Node.js buffers.
456
- *
457
- * @param {Iterable} leftHandOperand
458
- * @param {Iterable} rightHandOperand
459
- * @param {Object} [options] (Optional)
460
- * @return {Boolean} result
461
- */
462
-
463
- /*!
464
- * Simple equality for generator objects such as those returned by generator functions.
465
- *
466
- * @param {Iterable} leftHandOperand
467
- * @param {Iterable} rightHandOperand
468
- * @param {Object} [options] (Optional)
469
- * @return {Boolean} result
470
- */
471
-
472
- /*!
473
- * Statically set name
474
- */
475
-
476
- /*!
477
- * The main logic of the `deepEqual` function.
478
- *
479
- * @param {Mixed} leftHandOperand
480
- * @param {Mixed} rightHandOperand
481
- * @param {Object} [options] (optional) Additional options
482
- * @param {Array} [options.comparator] (optional) Override default algorithm, determining custom equality.
483
- * @param {Array} [options.memoize] (optional) Provide a custom memoization object which will cache the results of
484
- complex objects for a speed boost. By passing `false` you can disable memoization, but this will cause circular
485
- references to blow the stack.
486
- * @return {Boolean} equal match
487
- */
488
-
489
- /*!
490
- * Utility Functions
491
- */
492
-
493
- /*!
494
- * Utils for plugins (not exported)
495
- */
496
-
497
- /*!
498
- * actual utility
499
- */
500
-
501
- /*!
502
- * add Method
503
- */
504
-
505
- /*!
506
- * add Property
507
- */
508
-
509
- /*!
510
- * addLengthGuard util
511
- */
512
-
513
- /*!
514
- * assertion-error
515
- * Copyright(c) 2013 Jake Luer <jake@qualiancy.com>
516
- * MIT Licensed
517
- */
518
-
519
- /*!
520
- * chai
521
- * Copyright(c) 2011 Jake Luer <jake@alogicalparadox.com>
522
- * MIT Licensed
523
- */
524
-
525
- /*!
526
- * chai
527
- * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
528
- * MIT Licensed
529
- */
530
-
531
- /*!
532
- * chai
533
- * http://chaijs.com
534
- * Copyright(c) 2011-2014 Jake Luer <jake@alogicalparadox.com>
535
- * MIT Licensed
536
- */
537
-
538
- /*!
539
- * deep-eql
540
- * Copyright(c) 2013 Jake Luer <jake@alogicalparadox.com>
541
- * MIT Licensed
542
- */
543
-
544
- /*!
545
- * expectTypes utility
546
- */
547
-
548
- /*!
549
- * getOperator method
550
- */
551
-
552
- /*!
553
- * isNaN method
554
- */
555
-
556
- /*!
557
- * isProxyEnabled helper
558
- */
559
-
560
- /*!
561
- * message utility
562
- */
563
-
564
- /*!
565
- * overwrite Method
566
- */
567
-
568
- /*!
569
- * overwrite Property
570
- */
571
-
572
- /*!
573
- * test utility
574
- */
575
-
576
- /*!
577
- * type utility
578
- */
579
-
580
- /*! *****************************************************************************
581
- Copyright (c) Microsoft Corporation. All rights reserved.
582
- Licensed under the Apache License, Version 2.0 (the "License"); you may not use
583
- this file except in compliance with the License. You may obtain a copy of the
584
- License at http://www.apache.org/licenses/LICENSE-2.0
585
-
586
- THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
587
- KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
588
- WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
589
- MERCHANTABLITY OR NON-INFRINGEMENT.
590
-
591
- See the Apache Version 2.0 License for specific language governing permissions
592
- and limitations under the License.
593
- ***************************************************************************** */
594
-
595
- /**
596
- * @license
597
- * Lodash (Custom Build) <https://lodash.com/>
598
- * Build: `lodash modularize exports="es" -o ./`
599
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
600
- * Released under MIT license <https://lodash.com/license>
601
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
602
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
603
- */
604
-
605
- /**
606
- * @license
607
- * Lodash <https://lodash.com/>
608
- * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
609
- * Released under MIT license <https://lodash.com/license>
610
- * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
611
- * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
612
- */
613
-
614
- /**
615
- * CanvasRecorder is a standalone class used by {@link RecordRTC} to bring HTML5-Canvas recording into video WebM. It uses HTML2Canvas library and runs top over {@link Whammy}.
616
- * @summary HTML2Canvas recording into video WebM.
617
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
618
- * @author {@link https://MuazKhan.com|Muaz Khan}
619
- * @typedef CanvasRecorder
620
- * @class
621
- * @example
622
- * var recorder = new CanvasRecorder(htmlElement, { disableLogs: true, useWhammyRecorder: true });
623
- * recorder.record();
624
- * recorder.stop(function(blob) {
625
- * video.src = URL.createObjectURL(blob);
626
- * });
627
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
628
- * @param {HTMLElement} htmlElement - querySelector/getElementById/getElementsByTagName[0]/etc.
629
- * @param {object} config - {disableLogs:true, initCallback: function}
630
- */
631
-
632
- /**
633
- * DiskStorage is a standalone object used by {@link RecordRTC} to store recorded blobs in IndexedDB storage.
634
- * @summary Writing blobs into IndexedDB.
635
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
636
- * @author {@link https://MuazKhan.com|Muaz Khan}
637
- * @example
638
- * DiskStorage.Store({
639
- * audioBlob: yourAudioBlob,
640
- * videoBlob: yourVideoBlob,
641
- * gifBlob : yourGifBlob
642
- * });
643
- * DiskStorage.Fetch(function(dataURL, type) {
644
- * if(type === 'audioBlob') { }
645
- * if(type === 'videoBlob') { }
646
- * if(type === 'gifBlob') { }
647
- * });
648
- * // DiskStorage.dataStoreName = 'recordRTC';
649
- * // DiskStorage.onError = function(error) { };
650
- * @property {function} init - This method must be called once to initialize IndexedDB ObjectStore. Though, it is auto-used internally.
651
- * @property {function} Fetch - This method fetches stored blobs from IndexedDB.
652
- * @property {function} Store - This method stores blobs in IndexedDB.
653
- * @property {function} onError - This function is invoked for any known/unknown error.
654
- * @property {string} dataStoreName - Name of the ObjectStore created in IndexedDB storage.
655
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
656
- */
657
-
658
- /**
659
- * GifRecorder is standalone calss used by {@link RecordRTC} to record video or canvas into animated gif.
660
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
661
- * @author {@link https://MuazKhan.com|Muaz Khan}
662
- * @typedef GifRecorder
663
- * @class
664
- * @example
665
- * var recorder = new GifRecorder(mediaStream || canvas || context, { onGifPreview: function, onGifRecordingStarted: function, width: 1280, height: 720, frameRate: 200, quality: 10 });
666
- * recorder.record();
667
- * recorder.stop(function(blob) {
668
- * img.src = URL.createObjectURL(blob);
669
- * });
670
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
671
- * @param {MediaStream} mediaStream - MediaStream object or HTMLCanvasElement or CanvasRenderingContext2D.
672
- * @param {object} config - {disableLogs:true, initCallback: function, width: 320, height: 240, frameRate: 200, quality: 10}
673
- */
674
-
675
- /**
676
- * MRecordRTC runs on top of {@link RecordRTC} to bring multiple recordings in a single place, by providing simple API.
677
- * @summary MRecordRTC stands for "Multiple-RecordRTC".
678
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
679
- * @author {@link https://MuazKhan.com|Muaz Khan}
680
- * @typedef MRecordRTC
681
- * @class
682
- * @example
683
- * var recorder = new MRecordRTC();
684
- * recorder.addStream(MediaStream);
685
- * recorder.mediaType = {
686
- * audio: true, // or StereoAudioRecorder or MediaStreamRecorder
687
- * video: true, // or WhammyRecorder or MediaStreamRecorder or WebAssemblyRecorder or CanvasRecorder
688
- * gif: true // or GifRecorder
689
- * };
690
- * // mimeType is optional and should be set only in advance cases.
691
- * recorder.mimeType = {
692
- * audio: 'audio/wav',
693
- * video: 'video/webm',
694
- * gif: 'image/gif'
695
- * };
696
- * recorder.startRecording();
697
- * @see For further information:
698
- * @see {@link https://github.com/muaz-khan/RecordRTC/tree/master/MRecordRTC|MRecordRTC Source Code}
699
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
700
- * @requires {@link RecordRTC}
701
- */
702
-
703
- /**
704
- * MediaStreamRecorder is an abstraction layer for {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}. It is used by {@link RecordRTC} to record MediaStream(s) in both Chrome and Firefox.
705
- * @summary Runs top over {@link https://w3c.github.io/mediacapture-record/MediaRecorder.html|MediaRecorder API}.
706
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
707
- * @author {@link https://github.com/muaz-khan|Muaz Khan}
708
- * @typedef MediaStreamRecorder
709
- * @class
710
- * @example
711
- * var config = {
712
- * mimeType: 'video/webm', // vp8, vp9, h264, mkv, opus/vorbis
713
- * audioBitsPerSecond : 256 * 8 * 1024,
714
- * videoBitsPerSecond : 256 * 8 * 1024,
715
- * bitsPerSecond: 256 * 8 * 1024, // if this is provided, skip above two
716
- * checkForInactiveTracks: true,
717
- * timeSlice: 1000, // concatenate intervals based blobs
718
- * ondataavailable: function() {} // get intervals based blobs
719
- * }
720
- * var recorder = new MediaStreamRecorder(mediaStream, config);
721
- * recorder.record();
722
- * recorder.stop(function(blob) {
723
- * video.src = URL.createObjectURL(blob);
724
- *
725
- * // or
726
- * var blob = recorder.blob;
727
- * });
728
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
729
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
730
- * @param {object} config - {disableLogs:true, initCallback: function, mimeType: "video/webm", timeSlice: 1000}
731
- * @throws Will throw an error if first argument "MediaStream" is missing. Also throws error if "MediaRecorder API" are not supported by the browser.
732
- */
733
-
734
- /**
735
- * MultiStreamRecorder can record multiple videos in single container.
736
- * @summary Multi-videos recorder.
737
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
738
- * @author {@link https://MuazKhan.com|Muaz Khan}
739
- * @typedef MultiStreamRecorder
740
- * @class
741
- * @example
742
- * var options = {
743
- * mimeType: 'video/webm'
744
- * }
745
- * var recorder = new MultiStreamRecorder(ArrayOfMediaStreams, options);
746
- * recorder.record();
747
- * recorder.stop(function(blob) {
748
- * video.src = URL.createObjectURL(blob);
749
- *
750
- * // or
751
- * var blob = recorder.blob;
752
- * });
753
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
754
- * @param {MediaStreams} mediaStreams - Array of MediaStreams.
755
- * @param {object} config - {disableLogs:true, frameInterval: 1, mimeType: "video/webm"}
756
- */
757
-
758
- /**
759
- * RecordRTCPromisesHandler adds promises support in {@link RecordRTC}. Try a {@link https://github.com/muaz-khan/RecordRTC/blob/master/simple-demos/RecordRTCPromisesHandler.html|demo here}
760
- * @summary Promises for {@link RecordRTC}
761
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
762
- * @author {@link https://MuazKhan.com|Muaz Khan}
763
- * @typedef RecordRTCPromisesHandler
764
- * @class
765
- * @example
766
- * var recorder = new RecordRTCPromisesHandler(mediaStream, options);
767
- * recorder.startRecording()
768
- * .then(successCB)
769
- * .catch(errorCB);
770
- * // Note: You can access all RecordRTC API using "recorder.recordRTC" e.g.
771
- * recorder.recordRTC.onStateChanged = function(state) {};
772
- * recorder.recordRTC.setRecordingDuration(5000);
773
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
774
- * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.
775
- * @param {object} config - {type:"video", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}
776
- * @throws Will throw an error if "new" keyword is not used to initiate "RecordRTCPromisesHandler". Also throws error if first argument "MediaStream" is missing.
777
- * @requires {@link RecordRTC}
778
- */
779
-
780
- /**
781
- * StereoAudioRecorder is a standalone class used by {@link RecordRTC} to bring "stereo" audio-recording in chrome.
782
- * @summary JavaScript standalone object for stereo audio recording.
783
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
784
- * @author {@link https://MuazKhan.com|Muaz Khan}
785
- * @typedef StereoAudioRecorder
786
- * @class
787
- * @example
788
- * var recorder = new StereoAudioRecorder(MediaStream, {
789
- * sampleRate: 44100,
790
- * bufferSize: 4096
791
- * });
792
- * recorder.record();
793
- * recorder.stop(function(blob) {
794
- * video.src = URL.createObjectURL(blob);
795
- * });
796
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
797
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
798
- * @param {object} config - {sampleRate: 44100, bufferSize: 4096, numberOfAudioChannels: 1, etc.}
799
- */
800
-
801
- /**
802
- * Storage is a standalone object used by {@link RecordRTC} to store reusable objects e.g. "new AudioContext".
803
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
804
- * @author {@link https://MuazKhan.com|Muaz Khan}
805
- * @example
806
- * Storage.AudioContext === webkitAudioContext
807
- * @property {webkitAudioContext} AudioContext - Keeps a reference to AudioContext object.
808
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
809
- */
810
-
811
- /**
812
- * WebAssemblyRecorder lets you create webm videos in JavaScript via WebAssembly. The library consumes raw RGBA32 buffers (4 bytes per pixel) and turns them into a webm video with the given framerate and quality. This makes it compatible out-of-the-box with ImageData from a CANVAS. With realtime mode you can also use webm-wasm for streaming webm videos.
813
- * @summary Video recording feature in Chrome, Firefox and maybe Edge.
814
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
815
- * @author {@link https://MuazKhan.com|Muaz Khan}
816
- * @typedef WebAssemblyRecorder
817
- * @class
818
- * @example
819
- * var recorder = new WebAssemblyRecorder(mediaStream);
820
- * recorder.record();
821
- * recorder.stop(function(blob) {
822
- * video.src = URL.createObjectURL(blob);
823
- * });
824
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
825
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
826
- * @param {object} config - {webAssemblyPath:'webm-wasm.wasm',workerPath: 'webm-worker.js', frameRate: 30, width: 1920, height: 1080, bitrate: 1024, realtime: true}
827
- */
828
-
829
- /**
830
- * Whammy is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It is written by {@link https://github.com/antimatter15|antimatter15}
831
- * @summary A real time javascript webm encoder based on a canvas hack.
832
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
833
- * @author {@link https://MuazKhan.com|Muaz Khan}
834
- * @typedef Whammy
835
- * @class
836
- * @example
837
- * var recorder = new Whammy().Video(15);
838
- * recorder.add(context || canvas || dataURL);
839
- * var output = recorder.compile();
840
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
841
- */
842
-
843
- /**
844
- * WhammyRecorder is a standalone class used by {@link RecordRTC} to bring video recording in Chrome. It runs top over {@link Whammy}.
845
- * @summary Video recording feature in Chrome.
846
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
847
- * @author {@link https://MuazKhan.com|Muaz Khan}
848
- * @typedef WhammyRecorder
849
- * @class
850
- * @example
851
- * var recorder = new WhammyRecorder(mediaStream);
852
- * recorder.record();
853
- * recorder.stop(function(blob) {
854
- * video.src = URL.createObjectURL(blob);
855
- * });
856
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
857
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
858
- * @param {object} config - {disableLogs: true, initCallback: function, video: HTMLVideoElement, etc.}
859
- */
860
-
861
- /**
862
- * {@link GetRecorderType} is an inner/private helper for {@link RecordRTC}.
863
- * @summary It returns best recorder-type available for your browser.
864
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
865
- * @author {@link https://MuazKhan.com|Muaz Khan}
866
- * @typedef GetRecorderType
867
- * @class
868
- * @example
869
- * var RecorderType = GetRecorderType(options);
870
- * var recorder = new RecorderType(options);
871
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
872
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
873
- * @param {object} config - {type:"video", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, etc.}
874
- */
875
-
876
- /**
877
- * {@link RecordRTCConfiguration} is an inner/private helper for {@link RecordRTC}.
878
- * @summary It configures the 2nd parameter passed over {@link RecordRTC} and returns a valid "config" object.
879
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
880
- * @author {@link https://MuazKhan.com|Muaz Khan}
881
- * @typedef RecordRTCConfiguration
882
- * @class
883
- * @example
884
- * var options = RecordRTCConfiguration(mediaStream, options);
885
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
886
- * @param {MediaStream} mediaStream - MediaStream object fetched using getUserMedia API or generated using captureStreamUntilEnded or WebAudio API.
887
- * @param {object} config - {type:"video", disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, video: HTMLVideoElement, getNativeBlob:true, etc.}
888
- */
889
-
890
- /**
891
- * {@link https://github.com/muaz-khan/RecordRTC|RecordRTC} is a WebRTC JavaScript library for audio/video as well as screen activity recording. It supports Chrome, Firefox, Opera, Android, and Microsoft Edge. Platforms: Linux, Mac and Windows.
892
- * @summary Record audio, video or screen inside the browser.
893
- * @license {@link https://github.com/muaz-khan/RecordRTC/blob/master/LICENSE|MIT}
894
- * @author {@link https://MuazKhan.com|Muaz Khan}
895
- * @typedef RecordRTC
896
- * @class
897
- * @example
898
- * var recorder = RecordRTC(mediaStream or [arrayOfMediaStream], {
899
- * type: 'video', // audio or video or gif or canvas
900
- * recorderType: MediaStreamRecorder || CanvasRecorder || StereoAudioRecorder || Etc
901
- * });
902
- * recorder.startRecording();
903
- * @see For further information:
904
- * @see {@link https://github.com/muaz-khan/RecordRTC|RecordRTC Source Code}
905
- * @param {MediaStream} mediaStream - Single media-stream object, array of media-streams, html-canvas-element, etc.
906
- * @param {object} config - {type:"video", recorderType: MediaStreamRecorder, disableLogs: true, numberOfAudioChannels: 1, bufferSize: 0, sampleRate: 0, desiredSampRate: 16000, video: HTMLVideoElement, etc.}
907
- */
908
-
909
- /** @license React v16.13.1
910
- * react-is.production.min.js
911
- *
912
- * Copyright (c) Facebook, Inc. and its affiliates.
913
- *
914
- * This source code is licensed under the MIT license found in the
915
- * LICENSE file in the root directory of this source tree.
916
- */
917
-
918
- /** @license React v16.14.0
919
- * react-jsx-runtime.production.min.js
920
- *
921
- * Copyright (c) Facebook, Inc. and its affiliates.
922
- *
923
- * This source code is licensed under the MIT license found in the
924
- * LICENSE file in the root directory of this source tree.
925
- */
926
-
927
- /** @license React v17.0.2
928
- * react-is.production.min.js
929
- *
930
- * Copyright (c) Facebook, Inc. and its affiliates.
931
- *
932
- * This source code is licensed under the MIT license found in the
933
- * LICENSE file in the root directory of this source tree.
934
- */
935
-
936
- //! goToAndStop must be relative to the start of the current segment