surround/
surround.rs

1use opus2::{Application, MSEncoder};
2
3fn main() {
4    // The new struct-based API is much more readable!
5    let surround = MSEncoder::new_surround(48000, 6, 1, Application::Audio)
6        .expect("Failed to create surround encoder");
7
8    println!("=== Surround Encoder Configuration ===");
9    println!("Streams: {}", surround.streams);
10    println!("Coupled streams: {}", surround.coupled_streams);
11    println!("Channel mapping: {:?}", surround.mapping);
12
13    // You can destructure if you want specific fields
14    let opus2::SurroundEncoder {
15        encoder: _encoder,
16        streams,
17        coupled_streams,
18        mapping,
19    } = surround;
20
21    println!("\n=== Destructured Values ===");
22    println!("Streams: {}", streams);
23    println!("Coupled streams: {}", coupled_streams);
24    println!("Mapping: {:?}", mapping);
25
26    // Now you can use the encoder for encoding
27    // encoder.encode(...);
28    
29    println!("\nEncoder is ready for use!");
30}
31