summaryrefslogtreecommitdiff
path: root/soundbox/example_pipewire_test.go
blob: 53864f352ce0271aa6357d024e2ff448e4ffa2f7 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
package soundbox_test

import (
	"context"
	"log"
	"net"
	"time"

	"xengineering.eu/soundbox-go/soundbox"
)

func Example_pipewire() {
	ctx, cancel := context.WithCancel(context.Background())

	// all soundboxes are referenced by their MAC address
	soundboxes := []net.HardwareAddr{
		{0x00, 0x00, 0x5E, 0x00, 0x53, 0x01},
		{0x00, 0x00, 0x5E, 0x00, 0x53, 0x02},
		{0x00, 0x00, 0x5E, 0x00, 0x53, 0x03},
	}

	// start streaming
	go func() {
		err := soundbox.StreamPipewireContext(ctx, soundboxes)
		if err != nil {
			log.Fatal(err)
		}
	}()

	// let it play for some time
	time.Sleep(time.Minute)

	// stop it
	cancel()
}