aboutsummaryrefslogtreecommitdiff
path: root/pkg/messages/types/svcSounds.go
diff options
context:
space:
mode:
authorArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-12 20:53:09 +0300
committerArda Serdar Pektezol <1669855+pektezol@users.noreply.github.com>2023-09-16 21:39:42 +0300
commit82871ba1bac1d62f69e1933b66659e62d2e5e063 (patch)
treea906310fba89b670bcfda9625a6d776553d482f6 /pkg/messages/types/svcSounds.go
parentnet/svc messages finally getting parsed correctly (diff)
downloadsdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.tar.gz
sdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.tar.bz2
sdp.go-82871ba1bac1d62f69e1933b66659e62d2e5e063.zip
another rewrite, v1.0.0
Diffstat (limited to 'pkg/messages/types/svcSounds.go')
-rw-r--r--pkg/messages/types/svcSounds.go25
1 files changed, 25 insertions, 0 deletions
diff --git a/pkg/messages/types/svcSounds.go b/pkg/messages/types/svcSounds.go
new file mode 100644
index 0000000..e87d584
--- /dev/null
+++ b/pkg/messages/types/svcSounds.go
@@ -0,0 +1,25 @@
1package messages
2
3import "github.com/pektezol/bitreader"
4
5type SvcSounds struct {
6 ReliableSound bool
7 Size int8
8 Length int16
9 Data []byte
10}
11
12func ParseSvcSounds(reader *bitreader.ReaderType) SvcSounds {
13 svcSounds := SvcSounds{
14 ReliableSound: reader.TryReadBool(),
15 }
16 if svcSounds.ReliableSound {
17 svcSounds.Size = 1
18 svcSounds.Length = int16(reader.TryReadBits(8))
19 } else {
20 svcSounds.Size = int8(reader.TryReadBits(8))
21 svcSounds.Length = int16(reader.TryReadBits(16))
22 }
23 svcSounds.Data = reader.TryReadBitsToSlice(int(svcSounds.Length))
24 return svcSounds
25}