VideoStream.fromJson constructor
VideoStream.fromJson(
- Map<String, dynamic> json
)
Implementation
factory VideoStream.fromJson(Map<String, dynamic> json) {
return VideoStream(
index: json['index'] as int,
codecName: json['codecName'] as String,
codecLongName: json['codecLongName'] as String,
codecTagString: json['codecTagString'] as String,
codecTag: json['codecTag'] as String,
bitRate: json['bitRate'] as int,
startTime:
(json['startTime'] as String).tryParseDuration() ?? const Duration(),
duration:
(json['duration'] as String).tryParseDuration() ?? const Duration(),
language: json['language'] as String?,
disposition: (json['disposition'] as Map<String, dynamic>?)
?.map((key, value) => MapEntry(key, value as bool)),
tags: (json['tags'] as Map<String, dynamic>?)
?.map((key, value) => MapEntry(key, value as String)),
bitDepth: json['bitDepth'] as int?,
avgFrameRate: (json['avgFrameRate'] is String &&
json['avgFrameRate'].toLowerCase() == "nan")
? double.nan
: (json['avgFrameRate'] as num).toDouble(),
bitsPerRawSample: json['bitsPerRawSample'] as int,
displayAspectRatio: (
(json['displayAspectRatio']?['Width'] as int?) ?? 0,
(json['displayAspectRatio']?['Height'] as int?) ?? 0
),
sampleAspectRatio: (
(json['sampleAspectRatio']?['Width'] as int?) ?? 0,
(json['sampleAspectRatio']?['Height'] as int?) ?? 0
),
profile: json['profile'] as String?,
width: json['width'] as int,
height: json['height'] as int,
frameRate: (json['frameRate'] is String &&
json['frameRate'].toLowerCase() == "nan")
? double.nan
: (json['frameRate'] as num).toDouble(),
pixelFormat: json['pixelFormat'] as String?,
rotation: json['rotation'] as int,
averageFrameRate: (json['averageFrameRate'] is String &&
json['averageFrameRate'].toLowerCase() == "nan")
? double.nan
: (json['averageFrameRate'] as num).toDouble(),
);
}