-
Notifications
You must be signed in to change notification settings - Fork 10
/
ProgressiveWebmMuxing.ts
54 lines (47 loc) · 1.42 KB
/
ProgressiveWebmMuxing.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import {map, mapArray} from '../common/Mapper';
import EncodingOutput from './EncodingOutput';
import Ignoring from './Ignoring';
import Muxing from './Muxing';
import MuxingStream from './MuxingStream';
import MuxingType from './MuxingType';
import ProgressiveWebmMuxingManifestType from './ProgressiveWebmMuxingManifestType';
import StreamConditionsMode from './StreamConditionsMode';
/**
* @export
* @class ProgressiveWebmMuxing
*/
export class ProgressiveWebmMuxing extends Muxing {
/**
* Discriminator property for Muxing
* @type {string}
* @memberof ProgressiveWebmMuxing
*/
public readonly type: MuxingType = MuxingType.PROGRESSIVE_WEBM;
/**
* Name of the output file
* @type {string}
* @memberof ProgressiveWebmMuxing
*/
public filename?: string;
/**
* @type {ProgressiveWebmMuxingManifestType}
* @memberof ProgressiveWebmMuxing
*/
public manifestType?: ProgressiveWebmMuxingManifestType;
/**
* Determines the length of segments in seconds if manifestType is set to DASH_ON_DEMAND. Defaults to 4 seconds
* @type {number}
* @memberof ProgressiveWebmMuxing
*/
public segmentLength?: number;
constructor(obj?: Partial<ProgressiveWebmMuxing>) {
super(obj);
if(!obj) {
return;
}
this.filename = map(obj.filename);
this.manifestType = map(obj.manifestType);
this.segmentLength = map(obj.segmentLength);
}
}
export default ProgressiveWebmMuxing;