Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Getting the ball rolling

  • Loading branch information...
commit a7d331536b25707e1e3d698b64743042bb7fb61c 1 parent c2ec212
@ermau authored
Showing with 1,093 additions and 0 deletions.
  1. +2 −0  .gitignore
  2. +38 −0 Symphony.CELT/CeltCodecProvider.cs
  3. +15 −0 Symphony.CELT/Properties/AssemblyInfo.cs
  4. +64 −0 Symphony.CELT/Symphony.CELT.csproj
  5. +26 −0 Symphony.sln
  6. +70 −0 Symphony/AudioFormat.cs
  7. +34 −0 Symphony/Encoding/AudioCodecOptions.cs
  8. +38 −0 Symphony/Encoding/Formats/BuiltInFormatProvider.cs
  9. +42 −0 Symphony/Encoding/Formats/Ogg/OggFormat.cs
  10. +110 −0 Symphony/Encoding/Formats/Ogg/OggParser.cs
  11. +42 −0 Symphony/Encoding/Formats/Raw/RawFormat.cs
  12. +71 −0 Symphony/Encoding/Formats/Raw/RawParser.cs
  13. +41 −0 Symphony/Encoding/IAudioCodec.cs
  14. +29 −0 Symphony/Encoding/IAudioDecoder.cs
  15. +35 −0 Symphony/Encoding/ICodec.cs
  16. +32 −0 Symphony/Encoding/ICodecProvider.cs
  17. +44 −0 Symphony/Encoding/IFormat.cs
  18. +30 −0 Symphony/Encoding/IFormatParser.cs
  19. +32 −0 Symphony/Encoding/IFormatProvider.cs
  20. +30 −0 Symphony/Encoding/Media.cs
  21. +41 −0 Symphony/Encoding/MediaStream.cs
  22. +39 −0 Symphony/Encoding/Packet.cs
  23. +50 −0 Symphony/Encoding/StreamExtensions.cs
  24. +51 −0 Symphony/Encoding/Tag.cs
  25. +15 −0 Symphony/Properties/AssemblyInfo.cs
  26. +72 −0 Symphony/Symphony.csproj
View
2  .gitignore
@@ -4,3 +4,5 @@ Bin
Obj
*.suo
*.user
+*.docstates
+_ReSharper*
View
38 Symphony.CELT/CeltCodecProvider.cs
@@ -0,0 +1,38 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.Collections.Generic;
+using Symphony.Encoding;
+
+namespace Symphony.CELT
+{
+ public class CeltCodecProvider
+ : ICodecProvider
+ {
+ public IEnumerable<ICodec> GetCodecs()
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
View
15 Symphony.CELT/Properties/AssemblyInfo.cs
@@ -0,0 +1,15 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Symphony.CELT")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Eric Maupin")]
+[assembly: AssemblyProduct("Symphony.CELT")]
+[assembly: AssemblyCopyright("Copyright © Eric Maupin 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
View
64 Symphony.CELT/Symphony.CELT.csproj
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{1B7EB289-146E-4F0F-96EA-FCBAB33F970E}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Symphony.CELT</RootNamespace>
+ <AssemblyName>Symphony.CELT</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Profile2</TargetFrameworkProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Net" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.ServiceModel" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Xml.Serialization" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="CeltCodecProvider.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ </ItemGroup>
+ <ItemGroup>
+ <ProjectReference Include="..\Symphony\Symphony.csproj">
+ <Project>{2C967A9E-412C-43B9-8244-D8CCEE30D859}</Project>
+ <Name>Symphony</Name>
+ </ProjectReference>
+ </ItemGroup>
+ <ItemGroup>
+ <Folder Include="Implementation\" />
+ <Folder Include="Wrapper\" />
+ </ItemGroup>
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
View
26 Symphony.sln
@@ -0,0 +1,26 @@
+
+Microsoft Visual Studio Solution File, Format Version 11.00
+# Visual Studio 2010
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Symphony", "Symphony\Symphony.csproj", "{2C967A9E-412C-43B9-8244-D8CCEE30D859}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Symphony.CELT", "Symphony.CELT\Symphony.CELT.csproj", "{1B7EB289-146E-4F0F-96EA-FCBAB33F970E}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Release|Any CPU = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {2C967A9E-412C-43B9-8244-D8CCEE30D859}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {2C967A9E-412C-43B9-8244-D8CCEE30D859}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {2C967A9E-412C-43B9-8244-D8CCEE30D859}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {2C967A9E-412C-43B9-8244-D8CCEE30D859}.Release|Any CPU.Build.0 = Release|Any CPU
+ {1B7EB289-146E-4F0F-96EA-FCBAB33F970E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {1B7EB289-146E-4F0F-96EA-FCBAB33F970E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {1B7EB289-146E-4F0F-96EA-FCBAB33F970E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {1B7EB289-146E-4F0F-96EA-FCBAB33F970E}.Release|Any CPU.Build.0 = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
View
70 Symphony/AudioFormat.cs
@@ -0,0 +1,70 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+
+namespace Symphony.Encoding
+{
+ public enum RawAudioEncoding
+ {
+ LPCM8bit = 1,
+ LPCM16bit = 2,
+ LPCMSingle = 3,
+ LPCMDouble = 4,
+ ALaw = 5,
+ MuLaw = 6
+ }
+
+ public class AudioFormat
+ {
+ public AudioFormat (RawAudioEncoding encoding, int channels, int frequency)
+ {
+ if (channels <= 0)
+ throw new ArgumentOutOfRangeException ("channels");
+ if (frequency <= 0)
+ throw new ArgumentOutOfRangeException ("frequency");
+
+ Encoding = encoding;
+ Channels = channels;
+ Frequency = frequency;
+ }
+
+ public RawAudioEncoding Encoding
+ {
+ get;
+ private set;
+ }
+
+ public int Channels
+ {
+ get;
+ private set;
+ }
+
+ public int Frequency
+ {
+ get;
+ private set;
+ }
+ }
+}
View
34 Symphony/Encoding/AudioCodecOptions.cs
@@ -0,0 +1,34 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public class AudioCodecOptions
+ {
+ public int Frequency
+ {
+ get;
+ set;
+ }
+ }
+}
View
38 Symphony/Encoding/Formats/BuiltInFormatProvider.cs
@@ -0,0 +1,38 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+
+using System;
+using System.Collections.Generic;
+
+namespace Symphony.Encoding.Formats
+{
+ public class BuiltInFormatProvider
+ : IFormatProvider
+ {
+ public IEnumerable<IFormat> GetFormats()
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
View
42 Symphony/Encoding/Formats/Ogg/OggFormat.cs
@@ -0,0 +1,42 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.IO;
+
+namespace Symphony.Encoding.Formats.Ogg
+{
+ public class OggFormat
+ : IFormat
+ {
+ public string Name
+ {
+ get { return "Ogg"; }
+ }
+
+ public IFormatParser CreateParser (Stream stream)
+ {
+ return new OggParser (stream);
+ }
+ }
+}
View
110 Symphony/Encoding/Formats/Ogg/OggParser.cs
@@ -0,0 +1,110 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.IO;
+
+namespace Symphony.Encoding.Formats.Ogg
+{
+ public class OggParser
+ : IFormatParser
+ {
+ public OggParser (Stream stream)
+ {
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
+
+ this.stream = stream;
+ }
+
+ public bool ReadPacket (out Packet packet)
+ {
+ packet = null;
+
+ byte[] pageHeaderData;
+ if (stream.ReadBytes (out pageHeaderData, 27) < 27)
+ return false;
+
+ string magic = System.Text.Encoding.UTF8.GetString (pageHeaderData, 0, 4);
+ if (magic != "OggS")
+ return false;
+
+ byte version = pageHeaderData[4];
+
+ OggPageType type = (OggPageType)pageHeaderData[5];
+
+ byte[] granule = new byte[8];
+ Array.Copy (pageHeaderData, 6, granule, 0, 8);
+ //Buffer.BlockCopy (pageHeaderData, 6, granule, 0, 8);
+
+ int streamSerialNumber = BitConverter.ToInt32 (pageHeaderData, 14);
+ int pageSequenceNumber = BitConverter.ToInt32 (pageHeaderData, 18);
+
+ int checksum = BitConverter.ToInt32 (pageHeaderData, 22);
+
+ int segments = BitConverter.ToInt32 (pageHeaderData, 26);
+
+ byte[] segmentLengths = new byte[segments];
+
+ return true;
+ }
+
+ private readonly Stream stream;
+ }
+
+ [Flags]
+ public enum OggPageType
+ : byte
+ {
+ Continuation = 0x01,
+ BeginningOfStream = 0x02,
+ EndOfStream = 0x04
+ }
+
+ public class OggPage
+ : Packet
+ {
+ public OggPage (int streamIndex)
+ : base (streamIndex)
+ {
+ }
+
+ public byte Version
+ {
+ get;
+ set;
+ }
+
+ public OggPageType Type
+ {
+ get;
+ set;
+ }
+
+ public byte[] SegmentLengths
+ {
+ get;
+ set;
+ }
+ }
+}
View
42 Symphony/Encoding/Formats/Raw/RawFormat.cs
@@ -0,0 +1,42 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.IO;
+
+namespace Symphony.Encoding.Formats.Raw
+{
+ public class RawFormat
+ : IFormat
+ {
+ public string Name
+ {
+ get { return "Raw"; }
+ }
+
+ public IFormatParser CreateParser (Stream stream)
+ {
+ throw new NotImplementedException();
+ }
+ }
+}
View
71 Symphony/Encoding/Formats/Raw/RawParser.cs
@@ -0,0 +1,71 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.IO;
+
+namespace Symphony.Encoding.Formats.Raw
+{
+ public class RawParser
+ : IFormatParser
+ {
+ private readonly Stream stream;
+
+ public RawParser (Stream stream)
+ {
+ if (stream == null)
+ throw new ArgumentNullException ("stream");
+
+ this.stream = stream;
+ }
+
+ public bool ReadPacket (out Packet packet)
+ {
+ packet = null;
+
+ byte[] data;
+ if (this.stream.ReadBytes (out data, 480) > 0)
+ {
+ packet = new RawPacket (data);
+ return true;
+ }
+
+ return false;
+ }
+ }
+
+ public class RawPacket
+ : Packet
+ {
+ public RawPacket (byte[] data)
+ : base (0)
+ {
+ if (data == null)
+ throw new ArgumentNullException ("data");
+
+ this.data = data;
+ }
+
+ private readonly byte[] data;
+ }
+}
View
41 Symphony/Encoding/IAudioCodec.cs
@@ -0,0 +1,41 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+
+namespace Symphony.Encoding
+{
+ public interface IAudioCodec
+ : ICodec
+ {
+ /// <summary>
+ /// Creates a decoder from the given format parser.
+ /// </summary>
+ /// <param name="options">The audio codec options.</param>
+ /// <param name="formatParser">The format parser to get packets from.</param>
+ /// <returns>The audio decoder.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="formatParser"/> or <paramref name="options"/> are <c>null</c>.</exception>
+ /// <exception cref="ArgumentException">No mapping could be found for <paramref name="formatParser"/> to this codec.</exception>
+ IAudioDecoder CreateDecoder (AudioCodecOptions options, IFormatParser formatParser);
+ }
+}
View
29 Symphony/Encoding/IAudioDecoder.cs
@@ -0,0 +1,29 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public interface IAudioDecoder
+ {
+ }
+}
View
35 Symphony/Encoding/ICodec.cs
@@ -0,0 +1,35 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+
+namespace Symphony.Encoding
+{
+ public interface ICodec
+ {
+ /// <summary>
+ /// Gets the name of the codec.
+ /// </summary>
+ string Name { get; }
+ }
+}
View
32 Symphony/Encoding/ICodecProvider.cs
@@ -0,0 +1,32 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System.Collections.Generic;
+
+namespace Symphony.Encoding
+{
+ public interface ICodecProvider
+ {
+ IEnumerable<ICodec> GetCodecs();
+ }
+}
View
44 Symphony/Encoding/IFormat.cs
@@ -0,0 +1,44 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+using System.IO;
+
+namespace Symphony.Encoding
+{
+ public interface IFormat
+ {
+ /// <summary>
+ /// Gets the name of the format.
+ /// </summary>
+ string Name { get; }
+
+ /// <summary>
+ /// Creates a format parser for <paramref name="stream"/>.
+ /// </summary>
+ /// <param name="stream">The stream to parse.</param>
+ /// <returns>A parser for <paramref cref="stream"/>.</returns>
+ /// <exception cref="ArgumentNullException"><paramref name="stream"/> is <c>null</c>.</exception>
+ IFormatParser CreateParser (Stream stream);
+ }
+}
View
30 Symphony/Encoding/IFormatParser.cs
@@ -0,0 +1,30 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public interface IFormatParser
+ {
+ bool ReadPacket (out Packet packet);
+ }
+}
View
32 Symphony/Encoding/IFormatProvider.cs
@@ -0,0 +1,32 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System.Collections.Generic;
+
+namespace Symphony.Encoding
+{
+ public interface IFormatProvider
+ {
+ IEnumerable<IFormat> GetFormats();
+ }
+}
View
30 Symphony/Encoding/Media.cs
@@ -0,0 +1,30 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public static class Media
+ {
+
+ }
+}
View
41 Symphony/Encoding/MediaStream.cs
@@ -0,0 +1,41 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public enum MediaType
+ {
+ Audio = 1,
+ Video = 2,
+ Subtitles = 3
+ }
+
+ public class MediaStream
+ {
+ public MediaType Type
+ {
+ get;
+ private set;
+ }
+ }
+}
View
39 Symphony/Encoding/Packet.cs
@@ -0,0 +1,39 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+namespace Symphony.Encoding
+{
+ public abstract class Packet
+ {
+ protected Packet (int streamIndex)
+ {
+ StreamIndex = streamIndex;
+ }
+
+ public int StreamIndex
+ {
+ get;
+ private set;
+ }
+ }
+}
View
50 Symphony/Encoding/StreamExtensions.cs
@@ -0,0 +1,50 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System.IO;
+
+namespace Symphony.Encoding
+{
+ public static class StreamExtensions
+ {
+ public static int ReadBytes (this Stream stream, byte[] buffer, int offset, int size)
+ {
+ int originalSize = size;
+ int i = offset;
+ int bytes = 0;
+ while (i < buffer.Length && (bytes = stream.Read (buffer, i, size)) > 0)
+ {
+ i += bytes;
+ size -= bytes;
+ }
+
+ return originalSize - size;
+ }
+
+ public static int ReadBytes (this Stream stream, out byte[] buffer, int size)
+ {
+ buffer = new byte[size];
+ return ReadBytes (stream, buffer, 0, size);
+ }
+ }
+}
View
51 Symphony/Encoding/Tag.cs
@@ -0,0 +1,51 @@
+//
+// MIT License
+// Copyright ©2011 Eric Maupin
+// All rights reserved.
+
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to deal
+// in the Software without restriction, including without limitation the rights
+// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+// copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+
+// The above copyright notice and this permission notice shall be included in all
+// copies or substantial portions of the Software.
+
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+// SOFTWARE.
+
+using System;
+
+namespace Symphony.Encoding
+{
+ public class Tag
+ {
+ public Tag (string name, string value)
+ {
+ if (name == null)
+ throw new ArgumentNullException ("name");
+
+ Name = name;
+ Value = value;
+ }
+
+ public string Name
+ {
+ get;
+ private set;
+ }
+
+ public string Value
+ {
+ get;
+ private set;
+ }
+ }
+}
View
15 Symphony/Properties/AssemblyInfo.cs
@@ -0,0 +1,15 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+[assembly: AssemblyTitle("Symphony")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("Eric Maupin")]
+[assembly: AssemblyProduct("Symphony")]
+[assembly: AssemblyCopyright("Copyright © Eric Maupin 2011")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
View
72 Symphony/Symphony.csproj
@@ -0,0 +1,72 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+ <PropertyGroup>
+ <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+ <ProjectGuid>{2C967A9E-412C-43B9-8244-D8CCEE30D859}</ProjectGuid>
+ <OutputType>Library</OutputType>
+ <AppDesignerFolder>Properties</AppDesignerFolder>
+ <RootNamespace>Symphony</RootNamespace>
+ <AssemblyName>Symphony</AssemblyName>
+ <TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
+ <TargetFrameworkProfile>Profile2</TargetFrameworkProfile>
+ <FileAlignment>512</FileAlignment>
+ <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+ <DebugSymbols>true</DebugSymbols>
+ <DebugType>full</DebugType>
+ <Optimize>false</Optimize>
+ <OutputPath>bin\Debug\</OutputPath>
+ <DefineConstants>DEBUG;TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+ <DebugType>pdbonly</DebugType>
+ <Optimize>true</Optimize>
+ <OutputPath>bin\Release\</OutputPath>
+ <DefineConstants>TRACE</DefineConstants>
+ <ErrorReport>prompt</ErrorReport>
+ <WarningLevel>4</WarningLevel>
+ </PropertyGroup>
+ <ItemGroup>
+ <Reference Include="System" />
+ <Reference Include="System.Core" />
+ <Reference Include="System.Net" />
+ <Reference Include="System.Runtime.Serialization" />
+ <Reference Include="System.ServiceModel" />
+ <Reference Include="System.Xml" />
+ <Reference Include="System.Xml.Serialization" />
+ </ItemGroup>
+ <ItemGroup>
+ <Compile Include="AudioFormat.cs" />
+ <Compile Include="Encoding\AudioCodecOptions.cs" />
+ <Compile Include="Encoding\Formats\BuiltInFormatProvider.cs" />
+ <Compile Include="Encoding\Formats\Ogg\OggFormat.cs" />
+ <Compile Include="Encoding\Formats\Ogg\OggParser.cs" />
+ <Compile Include="Encoding\Formats\Raw\RawFormat.cs" />
+ <Compile Include="Encoding\Formats\Raw\RawParser.cs" />
+ <Compile Include="Encoding\ICodec.cs" />
+ <Compile Include="Encoding\ICodecDecoder.cs" />
+ <Compile Include="Encoding\ICodecProvider.cs" />
+ <Compile Include="Encoding\IFormat.cs" />
+ <Compile Include="Encoding\IFormatParser.cs" />
+ <Compile Include="Encoding\IFormatProvider.cs" />
+ <Compile Include="Encoding\Media.cs" />
+ <Compile Include="Encoding\MediaStream.cs" />
+ <Compile Include="Encoding\Packet.cs" />
+ <Compile Include="Encoding\StreamExtensions.cs" />
+ <Compile Include="Properties\AssemblyInfo.cs" />
+ <Compile Include="Encoding\Tag.cs" />
+ </ItemGroup>
+ <ItemGroup />
+ <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" />
+ <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
+ Other similar extension points exist, see Microsoft.Common.targets.
+ <Target Name="BeforeBuild">
+ </Target>
+ <Target Name="AfterBuild">
+ </Target>
+ -->
+</Project>
Please sign in to comment.
Something went wrong with that request. Please try again.