ci: Update Cryville.Audio

This commit is contained in:
2025-06-21 01:39:47 +08:00
parent 0a223af698
commit a02885704d
33 changed files with 1619 additions and 1335 deletions

View File

@@ -124,9 +124,10 @@ namespace Cryville.Crtr {
#error No FFmpeg search path.
#endif
var audioEngineBuilder = new EngineBuilder();
#if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN
EngineBuilder.Engines.Add(typeof(Audio.Wasapi.MMDeviceEnumeratorWrapper));
EngineBuilder.Engines.Add(typeof(Audio.WaveformAudio.WaveDeviceManager));
audioEngineBuilder.Engines.Add(typeof(Audio.Wasapi.MMDeviceEnumeratorWrapper));
audioEngineBuilder.Engines.Add(typeof(Audio.WaveformAudio.WaveDeviceManager));
#elif UNITY_ANDROID
EngineBuilder.Engines.Add(typeof(Audio.AAudio.AAudioManager));
EngineBuilder.Engines.Add(typeof(Audio.OpenSLES.Engine));
@@ -135,7 +136,7 @@ namespace Cryville.Crtr {
#endif
while (true) {
try {
AudioManager = EngineBuilder.Create();
AudioManager = audioEngineBuilder.Create();
if (AudioManager == null) {
Dialog.Show(null, "Fatal error: Cannot initialize audio engine");
MainLogger.Log(5, "Audio", "Cannot initialize audio engine");
@@ -160,7 +161,7 @@ namespace Cryville.Crtr {
Dialog.Show(null, "An error occurred while trying to initialize the recommended audio engine\nTrying to use fallback audio engines");
MainLogger.Log(4, "Audio", "An error occurred when initializing the audio engine: {0}", ex);
MainLogger.Log(2, "Audio", "Trying to use fallback audio engines");
EngineBuilder.Engines.Remove(AudioManager.GetType());
audioEngineBuilder.Engines.Remove(AudioManager.GetType());
}
}

View File

@@ -43,9 +43,6 @@
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with AAudio.
</summary>
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Device">
<inheritdoc />
</member>
@@ -58,6 +55,9 @@
<member name="P:Cryville.Audio.AAudio.AAudioStream.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.AAudio.AAudioStream.Position">
<inheritdoc />
</member>
@@ -70,6 +70,9 @@
<member name="M:Cryville.Audio.AAudio.AAudioStream.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStream.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.AAudio.AAudioStreamBuilder">
<summary>
An <see cref="T:Cryville.Audio.IAudioDevice" /> that interacts with AAudio.
@@ -109,73 +112,73 @@
<member name="P:Cryville.Audio.AAudio.AAudioStreamBuilder.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.AAudio.AAudioStreamBuilder.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Android.AAudio.Native.aaudio_allowed_capture_policy_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAllowedCapturePolicy(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_allowed_capture_policy_t)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setAttributionTag(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Android.AAudio.Native.aaudio_channel_mask_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setChannelMask(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_channel_mask_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Android.AAudio.Native.aaudio_content_type_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setContentType(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_content_type_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Android.AAudio.Native.aaudio_input_preset_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setInputPreset(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_input_preset_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setIsContentSpatialized(System.IntPtr,System.Boolean)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPackageName(System.IntPtr,System.String)">
<remarks>Available since API level 31.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setPrivacySensitive(System.IntPtr,System.Boolean)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Android.AAudio.Native.aaudio_session_id_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSessionId(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_session_id_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Android.AAudio.Native.aaudio_spatialization_behavior_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setSpatializationBehavior(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_spatialization_behavior_t)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Android.AAudio.Native.aaudio_usage_t)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStreamBuilder_setUsage(System.IntPtr,Cryville.Audio.AAudio.Native.aaudio_usage_t)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getAllowedCapturePolicy(System.IntPtr)">
<remarks>Available since API level 29.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getChannelMask(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getContentType(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getInputPreset(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSessionId(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getSpatializationBehavior(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_getUsage(System.IntPtr)">
<remarks>Available since API level 28.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isContentSpatialized(System.IntPtr)">
<remarks>Available since API level 32.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_isPrivacySensitive(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
<member name="M:Android.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<member name="M:Cryville.Audio.AAudio.Native.UnsafeNativeMethods.AAudioStream_release(System.IntPtr)">
<remarks>Available since API level 30.</remarks>
</member>
</members>

View File

@@ -32,17 +32,41 @@
<member name="M:Cryville.Audio.OpenSLES.Engine.GetDevices(Cryville.Audio.DataFlow)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputClient">
<summary>
An <see cref="T:Cryville.Audio.AudioClient" /> that interacts with OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Finalize">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Device">
<inheritdoc />
</member>
@@ -55,16 +79,22 @@
<member name="P:Cryville.Audio.OpenSLES.OutputClient.MaximumLatency">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Status">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.Position">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.OpenSLES.OutputClient.BufferPosition">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Pause">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Start">
<member name="M:Cryville.Audio.OpenSLES.OutputClient.Close">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OutputDevice">
@@ -102,41 +132,11 @@
<member name="P:Cryville.Audio.OpenSLES.OutputDevice.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.IsFormatSupported(Cryville.Audio.WaveFormat,System.Nullable{Cryville.Audio.WaveFormat}@,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioShareMode)">
<member name="M:Cryville.Audio.OpenSLES.OutputDevice.Connect(Cryville.Audio.WaveFormat,System.Int32,Cryville.Audio.AudioUsage,Cryville.Audio.AudioShareMode)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.OpenSLES.OpenSLException">
<summary>
Exception occurring in OpenSL ES.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.String,System.Exception)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class.
</summary>
<param name="message">The error message that explains the reason for the exception.</param>
<param name="innerException">The exception that is the cause of the current exception.</param>
</member>
<member name="M:Cryville.Audio.OpenSLES.OpenSLException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<summary>
Creates an instance of the <see cref="T:Cryville.Audio.OpenSLES.OpenSLException" /> class with serialized data.
</summary>
<param name="info">The <see cref="T:System.Runtime.Serialization.SerializationInfo" /> that holds the serialized object data about the exception being thrown.</param>
<param name="context">The <see cref="T:System.Runtime.Serialization.StreamingContext" /> that contains contextual information about the source or destination.</param>
</member>
</members>
</doc>

File diff suppressed because one or more lines are too long

View File

@@ -1,145 +1,135 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Audio.Source.Libav</name>
</assembly>
<members>
<member name="T:Cryville.Audio.Source.Libav.LibavFileAudioSource">
<summary>
一个使用 Libav 解流并解码音频文件的 <see cref="T:Cryville.Audio.AudioStream" />
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.#ctor(System.String)">
<summary>
创建一个 <see cref="T:Cryville.Audio.Source.Libav.LibavFileAudioSource" /> 类的实例并加载指定的 <paramref name="file" />
</summary>
<param name="file">音频文件。</param>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Disposed">
<summary>
该音频流是否已被释放。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.BestStreamIndex">
<summary>
最佳音频流的索引。
</summary>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Streams">
<summary>
所有音频流的索引集。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream">
<summary>
选择最佳音频流作为音频源。
</summary>
<exception cref="T:System.InvalidOperationException">已选择音频流。</exception>
<remarks>
<para>
该方法只能在 <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> 被调用前调用,后者会在设置 <see cref="P:Cryville.Audio.AudioClient.Source" /> 时被调用。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream(System.Int32)">
<summary>
选择一个音频流作为音频源。
</summary>
<param name="index">音频流的索引。</param>
<exception cref="T:System.InvalidOperationException">已选择音频流。</exception>
<remarks>
<para>
该方法只能在 <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> 被调用前调用,后者会在设置 <see cref="P:Cryville.Audio.AudioClient.Source" /> 时被调用。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.GetStreamDuration(System.Int32)">
<summary>
获取一个流或当前文件的时长。
</summary>
<param name="streamId">
流索引。如果指定 <c>-1</c> 则返回文件的时长。
</param>
<returns>时长(秒)。</returns>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Read(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Seek(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekTime(System.Double,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Length">
<inheritdoc />
<remarks>
<para>该属性可能不准确。</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Duration">
<inheritdoc />
<remarks>
<para>该属性可能不准确。</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Time">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Position">
<inheritdoc />
<remarks>
<para>
该属性在调用 <see cref="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Seek(System.Int64,System.IO.SeekOrigin)" /> 后可能不准确。
</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.Libav.LibavException">
<summary>
Libav 抛出的异常。
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String,System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
</members>
<assembly>
<name>Cryville.Audio.Source.Libav</name>
</assembly>
<members>
<member name="T:Cryville.Audio.Source.Libav.LibavFileAudioSource">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that uses Libav to demux and decode audio files.
</summary>
<param name="file">The audio file.</param>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.#ctor(System.String)">
<summary>
An <see cref="T:Cryville.Audio.AudioStream" /> that uses Libav to demux and decode audio files.
</summary>
<param name="file">The audio file.</param>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Disposed">
<summary>
Whether this audio stream has been disposed.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Dispose(System.Boolean)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.EndOfData">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.FrameLength">
<inheritdoc />
<remarks>
<para>This property may be inaccurate.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.TimeLength">
<inheritdoc />
<remarks>
<para>This property may be inaccurate.</para>
</remarks>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.TimePosition">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.BestStreamIndex">
<summary>
The index to the best audio stream.
</summary>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.Streams">
<summary>
The collection of indices to all audio streams.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream">
<summary>
Selects the best stream as the source.
</summary>
<exception cref="T:System.InvalidOperationException">The stream has been selected.</exception>
<remarks>
<para>This method can only be called before <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> is called, which is called while setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SelectStream(System.Int32)">
<summary>
Selects a stream as the source.
</summary>
<param name="index">The index of the stream.</param>
<exception cref="T:System.InvalidOperationException">The stream has been selected.</exception>
<remarks>
<para>This method can only be called before <see cref="M:Cryville.Audio.AudioStream.SetFormat(Cryville.Audio.WaveFormat,System.Int32)" /> is called, which is called while setting <see cref="P:Cryville.Audio.AudioClient.Source" />.</para>
</remarks>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.GetStreamDuration(System.Int32)">
<summary>
Gets the duration of a stream or the file.
</summary>
<param name="streamId">The stream index. The duration of the file is retrieved if <c>-1</c> is specified.</param>
<returns>The duration in seconds.</returns>
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.DefaultFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.IsFormatSupported(Cryville.Audio.WaveFormat)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.OnSetFormat">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.ReadFramesInternal(System.Byte@,System.Int32)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekFrameInternal(System.Int64,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SeekTimeInternal(System.Double,System.IO.SeekOrigin)">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanRead">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanSeek">
<inheritdoc />
</member>
<member name="P:Cryville.Audio.Source.Libav.LibavFileAudioSource.CanWrite">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Flush">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.SetLength(System.Int64)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavFileAudioSource.Write(System.Byte[],System.Int32,System.Int32)">
<inheritdoc />
</member>
<member name="T:Cryville.Audio.Source.Libav.LibavException">
<summary>
The exception that is thrown by Libav.
</summary>
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.String,System.Exception)">
<inheritdoc />
</member>
<member name="M:Cryville.Audio.Source.Libav.LibavException.#ctor(System.Runtime.Serialization.SerializationInfo,System.Runtime.Serialization.StreamingContext)">
<inheritdoc />
</member>
</members>
</doc>

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@@ -75,11 +75,14 @@
</summary>
<typeparam name="TCategory">The category type.</typeparam>
<typeparam name="TObject">The type of the objects in the pool.</typeparam>
<param name="pool">The categorized pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.CategorizedPoolAccessor`2.#ctor(Cryville.Common.Buffers.CategorizedPool{`0,`1})">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.CategorizedPoolAccessor`2" /> class.
A utility to access a categorized pool, representing a single unit that uses a shared categorized pool.
</summary>
<typeparam name="TCategory">The category type.</typeparam>
<typeparam name="TObject">The type of the objects in the pool.</typeparam>
<param name="pool">The categorized pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.CategorizedPoolAccessor`2.Rent(`0)">
@@ -136,11 +139,13 @@
A resource pool that allows reusing instances of type <typeparamref name="T" />.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.ObjectPool`1.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.ObjectPool`1" /> class.
A resource pool that allows reusing instances of type <typeparamref name="T" />.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="P:Cryville.Common.Buffers.ObjectPool`1.RentedCount">
@@ -177,11 +182,13 @@
A resource pool that allows reusing instances of type <typeparamref name="T" />, which has a parameterless constructor.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.SimpleObjectPool`1.#ctor(System.Int32)">
<summary>
Creates an instance of the <see cref="T:Cryville.Common.Buffers.SimpleObjectPool`1" /> class.
A resource pool that allows reusing instances of type <typeparamref name="T" />, which has a parameterless constructor.
</summary>
<typeparam name="T">The type of the objects in the pool.</typeparam>
<param name="capacity">The capacity of the pool.</param>
</member>
<member name="M:Cryville.Common.Buffers.SimpleObjectPool`1.Construct">
@@ -192,7 +199,7 @@
An auto-resized <see cref="T:System.Char" /> array as a variable-length string used as a target that is modified frequently.
</summary>
</member>
<member name="E:Cryville.Common.Buffers.TargetString.OnUpdate">
<member name="E:Cryville.Common.Buffers.TargetString.Updated">
<summary>
Occurs when <see cref="M:Cryville.Common.Buffers.TargetString.Validate" /> is called if the string is invalidated.
</summary>

Binary file not shown.

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: da0f60bce5e225e4fb5bfcdc1bb64f66
guid: 85184b92e2dc20f41a75ec58505b1444
PluginImporter:
externalObjects: {}
serializedVersion: 2

View File

@@ -0,0 +1,74 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Common.Compat</name>
</assembly>
<members>
<member name="T:System.Runtime.CompilerServices.IsExternalInit">
<summary>
Marks a property setter as external-init.
</summary>
</member>
<member name="T:Cryville.Common.Compat.LPUTF8StrMarshaler">
<summary>
Marshals a UTF-8 string to a .NET Framework string, and vice versa.
</summary>
<remarks>
<para>This marshaler is used as a fallback as <c>UnmanagedType.LPUTF8Str</c> is not available before .NET Framework 4.7.</para>
</remarks>
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.GetInstance(System.String)">
<summary>
Returns an instance of the custom marshaler.
</summary>
<param name="cookie">String "cookie" parameter that can be used by the custom marshaler.</param>
<returns>An instance of the custom marshaler.</returns>
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.CleanUpManagedData(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.CleanUpNativeData(System.IntPtr)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.GetNativeDataSize">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.MarshalManagedToNative(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Compat.LPUTF8StrMarshaler.MarshalNativeToManaged(System.IntPtr)">
<inheritdoc />
</member>
<member name="T:Cryville.Common.Compat.ThrowHelper">
<summary>
Provides <see langword="static" /> methods for throwing common exceptions.
</summary>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>
Throws an <see cref="T:System.ArgumentNullException" /> if <paramref name="argument" /> is <see langword="null" />.
</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds. If you omit this parameter, the name of <paramref name="argument" /> is used.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNullOrEmpty(System.String,System.String)">
<summary>
Throws an exception if <paramref name="argument" /> is <see langword="null" /> or empty.
</summary>
<param name="argument">The string argument to validate as non-<see langword="null" /> and non-empty.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException"><paramref name="argument" /> is empty.</exception>
</member>
<member name="M:Cryville.Common.Compat.ThrowHelper.ThrowIfNullOrWhiteSpace(System.String,System.String)">
<summary>
Throws an exception if <paramref name="argument" /> is <see langword="null" />, empty, or consists only of white-space characters.
</summary>
<param name="argument">The string argument to validate.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument" /> corresponds.</param>
<exception cref="T:System.ArgumentNullException"><paramref name="argument" /> is <see langword="null" />.</exception>
<exception cref="T:System.ArgumentException"><paramref name="argument" /> is empty or consists only of white-space characters.</exception>
</member>
</members>
</doc>

View File

@@ -1,5 +1,5 @@
fileFormatVersion: 2
guid: 56d3e75e121507e40afa4831c28f514f
guid: 8a0f58b64f161c247a8cc0e2da2a5552
TextScriptImporter:
externalObjects: {}
userData:

View File

@@ -1,43 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Common.Interop</name>
</assembly>
<members>
<member name="T:Cryville.Common.Interop.LPUTF8StrMarshaler">
<summary>
Marshals a UTF-8 string to a .NET Framework string, and vice versa.
</summary>
<remarks>
<para>This marshaler is used as a fallback as <c>UnmanagedType.LPUTF8Str</c> does not exist before .NET Framework 4.7.</para>
</remarks>
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.GetInstance(System.String)">
<summary>
Returns an instance of the custom marshaler.
</summary>
<param name="cookie">String "cookie" parameter that can be used by the custom marshaler.</param>
<returns>An instance of the custom marshaler.</returns>
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.CleanUpManagedData(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.CleanUpNativeData(System.IntPtr)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.GetNativeDataSize">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.MarshalManagedToNative(System.Object)">
<inheritdoc />
</member>
<member name="M:Cryville.Common.Interop.LPUTF8StrMarshaler.MarshalNativeToManaged(System.IntPtr)">
<inheritdoc />
</member>
<member name="T:Cryville.Common.Interop.MonoPInvokeCallbackAttribute">
<summary>
Attribute used to annotate functions that will be called back from the unmanaged world.
</summary>
</member>
</members>
</doc>

View File

@@ -16,6 +16,7 @@
<typeparam name="T">The attribute type.</typeparam>
<param name="type">The type containing the member with the specified attribute type.</param>
<returns>The member with the specified attribute type in the specified type. <see langword="null" /> when the member is not found or multiple members are found.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.FieldLikeHelper.GetMember(System.Type,System.String)">
<summary>
@@ -24,6 +25,7 @@
<param name="type">The type.</param>
<param name="name">The name of the member.</param>
<returns>The member. <see langword="null" /> when the member is not found or multiple members are found.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.FieldLikeHelper.GetMemberType(System.Reflection.MemberInfo)">
<summary>
@@ -79,6 +81,7 @@
</summary>
<param name="type">The type.</param>
<returns>A simple name of the class.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
<member name="M:Cryville.Common.Reflection.TypeNameHelper.GetNamespaceQualifiedName(System.Type)">
<summary>
@@ -86,6 +89,7 @@
</summary>
<param name="type">The type.</param>
<returns>The namespace qualified name of the class.</returns>
<exception cref="T:System.ArgumentNullException"><paramref name="type" /> is <see langword="null" />.</exception>
</member>
</members>
</doc>

Binary file not shown.

View File

@@ -0,0 +1,33 @@
fileFormatVersion: 2
guid: b77d8642f0f45ee42a9b7fb8e6598782
PluginImporter:
externalObjects: {}
serializedVersion: 2
iconMap: {}
executionOrder: {}
defineConstraints: []
isPreloaded: 0
isOverridable: 0
isExplicitlyReferenced: 0
validateReferences: 1
platformData:
- first:
Any:
second:
enabled: 1
settings: {}
- first:
Editor: Editor
second:
enabled: 0
settings:
DefaultValueInitialized: true
- first:
Windows Store Apps: WindowsStoreApps
second:
enabled: 0
settings:
CPU: AnyCPU
userData:
assetBundleName:
assetBundleVariant:

View File

@@ -0,0 +1,29 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Cryville.Interop.Mono</name>
</assembly>
<members>
<member name="T:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute">
<summary>
Attribute used to annotate functions that will be called back from the unmanaged world.
</summary>
</member>
<member name="P:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.DelegateType">
<summary>
The type of the delegate that will be calling us back.
</summary>
</member>
<member name="M:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.#ctor">
<summary>
Constructor for the MonoPInvokeCallbackAttribute.
</summary>
</member>
<member name="M:Cryville.Interop.Mono.MonoPInvokeCallbackAttribute.#ctor(System.Type)">
<summary>
Constructor for the MonoPInvokeCallbackAttribute.
</summary>
<param name="delegateType">The type of the delegate that will be calling us back.</param>
</member>
</members>
</doc>

View File

@@ -0,0 +1,7 @@
fileFormatVersion: 2
guid: 0c9e14f904ff5244ebdce8979d78fb48
TextScriptImporter:
externalObjects: {}
userData:
assetBundleName:
assetBundleVariant:

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More