Skip to content

Commit 42c657a

Browse files
committed
feat(sdk): add OutputFormat property with default implementation (3.3.1)
Add optional OutputFormat property to IAudioPlayer and IAudioPipeline interfaces with default implementation returning null. This is a non-breaking change - existing implementations continue to work. - IAudioPlayer.OutputFormat: exposes format sent to output device - IAudioPipeline.OutputFormat: complements CurrentFormat (incoming) - Remove emoji from clock sync log message Note: Never use emojis in log messages - they cause encoding issues and display problems in various logging backends.
1 parent a018020 commit 42c657a

4 files changed

Lines changed: 12 additions & 17 deletions

File tree

src/Sendspin.SDK/Audio/IAudioPipeline.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ public interface IAudioPipeline : IAsyncDisposable
4444
/// This value is available after the pipeline has started playing.
4545
/// </para>
4646
/// </remarks>
47-
AudioFormat? OutputFormat { get; }
47+
AudioFormat? OutputFormat => null;
4848

4949
/// <summary>
5050
/// Gets the detected audio output latency in milliseconds.

src/Sendspin.SDK/Audio/IAudioPlayer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ public interface IAudioPlayer : IAsyncDisposable
5050
/// format conversion is applied by the audio subsystem.
5151
/// </para>
5252
/// </remarks>
53-
AudioFormat? OutputFormat { get; }
53+
AudioFormat? OutputFormat => null;
5454

5555
/// <summary>
5656
/// Initializes the audio output with the specified format.

src/Sendspin.SDK/Sendspin.SDK.csproj

Lines changed: 9 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88

99
<!-- NuGet Package Metadata -->
1010
<PackageId>Sendspin.SDK</PackageId>
11-
<Version>4.0.0</Version>
11+
<Version>3.3.1</Version>
1212
<Authors>Sendspin Contributors</Authors>
1313
<Company>Sendspin</Company>
1414
<Product>Sendspin SDK</Product>
@@ -20,19 +20,14 @@
2020
<PackageLicenseExpression>MIT</PackageLicenseExpression>
2121
<PackageReadmeFile>README.md</PackageReadmeFile>
2222
<PackageReleaseNotes>
23-
v4.0.0 - Breaking Changes:
24-
- BREAKING: IAudioPlayer interface now requires OutputFormat property
25-
- Returns the audio format being sent to the output device
26-
- Available after InitializeAsync() completes
27-
- Existing implementations must add: AudioFormat? OutputFormat { get; }
28-
- BREAKING: IAudioPipeline interface now requires OutputFormat property
29-
- Returns the format being written to the audio output device
30-
- Complements CurrentFormat (incoming) with output format info
31-
32-
Migration Guide:
33-
- Add to your IAudioPlayer implementation:
34-
public AudioFormat? OutputFormat => _format; // or your format field
35-
- If you only use WasapiAudioPlayer (most users), no changes needed
23+
v3.3.1:
24+
New Features:
25+
- IAudioPlayer.OutputFormat: Optional property exposing the audio format sent to output device
26+
- Default implementation returns null (non-breaking)
27+
- Override in your implementation to expose actual output format
28+
- IAudioPipeline.OutputFormat: Optional property for output format (complements CurrentFormat)
29+
- Default implementation returns null (non-breaking)
30+
- Useful for debugging format conversions in the pipeline
3631

3732
v3.3.0:
3833
New Features:

src/Sendspin.SDK/Synchronization/KalmanClockSynchronizer.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -337,7 +337,7 @@ public void ProcessMeasurement(long t1, long t2, long t3, long t4)
337337
{
338338
_driftReliableLogged = true;
339339
_logger?.LogInformation(
340-
"🎯 Drift is now reliable! drift={Drift:F2}μs/s (±{Uncertainty:F1}μs/s), " +
340+
"Drift is now reliable: drift={Drift:F2}μs/s (±{Uncertainty:F1}μs/s), " +
341341
"offset={Offset:F0}μs, measurements={Count}. " +
342342
"Future timestamps will include drift compensation.",
343343
_drift,

0 commit comments

Comments
 (0)