public static MediaInfoResource ToResource(this MediaInfoModel model) { if (model == null) { return(null); } return(new MediaInfoResource { AudioChannels = MediaInfoFormatter.FormatAudioChannels(model), AudioCodec = MediaInfoFormatter.FormatAudioCodec(model), AudioBitRate = MediaInfoFormatter.FormatAudioBitrate(model), AudioBits = MediaInfoFormatter.FormatAudioBitsPerSample(model), AudioSampleRate = MediaInfoFormatter.FormatAudioSampleRate(model) }); }
private void AddMediaInfoTokens(Dictionary <string, Func <TokenMatch, string> > tokenHandlers, TrackFile trackFile) { if (trackFile.MediaInfo == null) { _logger.Trace("Media info is unavailable for {0}", trackFile); return; } var audioCodec = MediaInfoFormatter.FormatAudioCodec(trackFile.MediaInfo); var audioChannels = MediaInfoFormatter.FormatAudioChannels(trackFile.MediaInfo); var audioChannelsFormatted = audioChannels > 0 ? audioChannels.ToString("F1", CultureInfo.InvariantCulture) : string.Empty; tokenHandlers["{MediaInfo AudioCodec}"] = m => audioCodec; tokenHandlers["{MediaInfo AudioChannels}"] = m => audioChannelsFormatted; tokenHandlers["{MediaInfo AudioBitRate}"] = m => MediaInfoFormatter.FormatAudioBitrate(trackFile.MediaInfo); tokenHandlers["{MediaInfo AudioBitsPerSample}"] = m => MediaInfoFormatter.FormatAudioBitsPerSample(trackFile.MediaInfo); tokenHandlers["{MediaInfo AudioSampleRate}"] = m => MediaInfoFormatter.FormatAudioSampleRate(trackFile.MediaInfo); }