VideoInfo.fromJson constructor
VideoInfo.fromJson(
- Map<String, dynamic> json
)
Implementation
factory VideoInfo.fromJson(Map<String, dynamic> json) {
final videoMetadata = json['video'] is List
? (json['video'] as List).cast<Map<String, dynamic>>().first
: (json['video'] as Map).cast<String, dynamic>();
final audioMetadata = json['audio'] != null
? json['audio'] is List
? (json['audio'] as List).isNotEmpty
? (json['audio'] as List).cast<Map<String, dynamic>>().first
: null
: (json['audio'] as Map).cast<String, dynamic>()
: null;
return VideoInfo(
duration: Duration(milliseconds: json['duration']),
format: json['format'],
bitrate: json['bitrate'],
video: VideoStreamMetadata(
size: Dimensions(videoMetadata['width'], videoMetadata['height']),
frameRate: videoMetadata['frame_rate'],
bitrate: videoMetadata['bitrate'],
codec: videoMetadata['codec'],
),
audio: audioMetadata != null
? AudioStreamMetadata(
bitrate: audioMetadata['bitrate'],
channels: audioMetadata['channels'] is String
? int.tryParse(audioMetadata['channels'])
: audioMetadata['channels'],
codec: audioMetadata['codec'],
sampleRate: audioMetadata['sample_rate'],
)
: null,
);
}