Show More
Commit Description:
Various UI improvements.
Commit Description:
Various UI improvements.
References:
File last commit:
Show/Diff file:
Action:
FNA/src/Content/ContentReaders/VideoReader.cs
78 lines | 1.8 KiB | text/x-csharp | CSharpLexer
78 lines | 1.8 KiB | text/x-csharp | CSharpLexer
r0 | #region License | |||
/* FNA - XNA4 Reimplementation for Desktop Platforms | ||||
* Copyright 2009-2020 Ethan Lee and the MonoGame Team | ||||
* | ||||
* Released under the Microsoft Public License. | ||||
* See LICENSE for details. | ||||
*/ | ||||
#endregion | ||||
#region Using Statements | ||||
using System; | ||||
using System.IO; | ||||
using Microsoft.Xna.Framework.Media; | ||||
#endregion | ||||
namespace Microsoft.Xna.Framework.Content | ||||
{ | ||||
internal class VideoReader : ContentTypeReader<Video> | ||||
{ | ||||
#region Private Supported File Extensions Variable | ||||
static string[] supportedExtensions = new string[] { ".ogv", ".ogg" }; | ||||
#endregion | ||||
#region Internal Filename Normalizer Method | ||||
internal static string Normalize(string fileName) | ||||
{ | ||||
return Normalize(fileName, supportedExtensions); | ||||
} | ||||
#endregion | ||||
#region Protected Read Method | ||||
protected internal override Video Read( | ||||
ContentReader input, | ||||
Video existingInstance | ||||
) { | ||||
string path = MonoGame.Utilities.FileHelpers.ResolveRelativePath( | ||||
Path.Combine( | ||||
input.ContentManager.RootDirectoryFullPath, | ||||
input.AssetName | ||||
), | ||||
input.ReadObject<string>() | ||||
); | ||||
/* The path string includes the ".wmv" extension. Let's see if this | ||||
* file exists in a format we actually support... | ||||
*/ | ||||
path = Normalize(path.Substring(0, path.Length - 4)); | ||||
if (String.IsNullOrEmpty(path)) | ||||
{ | ||||
throw new ContentLoadException(); | ||||
} | ||||
int durationMS = input.ReadObject<int>(); | ||||
int width = input.ReadObject<int>(); | ||||
int height = input.ReadObject<int>(); | ||||
float framesPerSecond = input.ReadObject<float>(); | ||||
VideoSoundtrackType soundTrackType = (VideoSoundtrackType) input.ReadObject<int>(); | ||||
return new Video( | ||||
path, | ||||
input.ContentManager.GetGraphicsDevice(), | ||||
durationMS, | ||||
width, | ||||
height, | ||||
framesPerSecond, | ||||
soundTrackType | ||||
); | ||||
} | ||||
#endregion | ||||
} | ||||
} | ||||