Skip to content
This repository was archived by the owner on Aug 30, 2024. It is now read-only.

Commit 2645bb6

Browse files
authored
Added RTS Option to listener (#147)
1 parent 2e7e2fe commit 2645bb6

File tree

5 files changed

+30
-0
lines changed

5 files changed

+30
-0
lines changed

src/DolbyIO.Comms.Native/conference.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,7 @@ namespace dolbyio::comms::native {
7171
*/
7272
struct listen_options {
7373
connection_options connection;
74+
int listen_mode;
7475
};
7576

7677
/**
@@ -253,10 +254,12 @@ namespace dolbyio::comms::native {
253254
struct translator<dolbyio::comms::native::listen_options, dolbyio::comms::services::conference::listen_options, Traits> {
254255
static void to_c(typename Traits::c_type* dest, const typename Traits::cpp_type& src) {
255256
no_alloc_to_c(&dest->connection, src.connection);
257+
dest->listen_mode = to_underlying(src.type);
256258
}
257259

258260
static void to_cpp(typename Traits::cpp_type& dest, typename Traits::c_type* src) {
259261
no_alloc_to_cpp(dest.connection, &src->connection);
262+
dest.type = (dolbyio::comms::listen_mode)(src->listen_mode);
260263
}
261264
};
262265

src/DolbyIO.Comms.Sdk/CMakeLists.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ add_dotnet_library(
1111
Native/Enums/ParticipantType.cs
1212
Native/Enums/Result.cs
1313
Native/Enums/SpatialAudioStyle.cs
14+
Native/Enums/ListenMode.cs
1415
Native/Structs/Handles/VideoFrame.cs
1516
Native/Structs/Handles/VideoSinkHandle.cs
1617
Native/Structs/Handles/VideoFrameHandlerHandle.cs
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
namespace DolbyIO.Comms
2+
{
3+
/// <summary>
4+
/// The listening mode for listeners.
5+
/// </summary>
6+
public enum ListenMode
7+
{
8+
/// <summary>
9+
/// Receive multiple streams.
10+
/// </summary>
11+
Regular = 0,
12+
13+
/// <summary>
14+
/// Receive a realtime mixed stream.
15+
/// </summary>
16+
RtsMixed = 1
17+
}
18+
}

src/DolbyIO.Comms.Sdk/Native/Structs/ListenOptions.cs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,5 +14,11 @@ public class ListenOptions
1414
/// </summary>
1515
/// <returns>The connection options.</returns>
1616
public ConnectionOptions Connection = new ConnectionOptions();
17+
18+
/// <summary>
19+
/// The listening mode.
20+
/// </summary>
21+
[MarshalAs(UnmanagedType.I4)]
22+
public ListenMode Mode = ListenMode.Regular;
1723
}
1824
}

src/DolbyIO.Comms.Tests/ConferenceTests.cs

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -77,13 +77,15 @@ public void Test_ListenOptions_ShouldMarshall()
7777
ListenOptions src = new ListenOptions();
7878
src.Connection.ConferenceAccessToken = "AccessToken";
7979
src.Connection.SpatialAudio = true;
80+
src.Mode = ListenMode.RtsMixed;
8081

8182
ListenOptions dest = new ListenOptions();
8283
NativeTests.ListenOptionsTest(src, dest);
8384

8485
Assert.NotEqual(src, dest);
8586
Assert.Equal(src.Connection.ConferenceAccessToken, dest.Connection.ConferenceAccessToken);
8687
Assert.Equal(src.Connection.SpatialAudio, dest.Connection.SpatialAudio);
88+
Assert.Equal(src.Mode, dest.Mode);
8789
}
8890

8991
[Fact]

0 commit comments

Comments
 (0)