forked from nstehr/bobcaygeon
-
Notifications
You must be signed in to change notification settings - Fork 0
/
sdp.go
51 lines (45 loc) · 1.26 KB
/
sdp.go
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
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
package sdp
// Origin section of a SDP payload
type Origin struct {
Username string
SessionID string
SessionVersion string
NetType string
AddrType string
UnicastAddress string
}
// ConnectData connection section of a SDP payload
type ConnectData struct {
NetType string
AddrType string
ConnectionAddress string
}
// Timing timing section of a SDP payload
type Timing struct {
StartTime int
StopTime int
}
// MediaDescription media description of a SDP payload
type MediaDescription struct {
Media string
Port string // keeping string for now (parse later, fmt: <port>/<number of ports>)
Proto string
Fmt string
}
// SessionDescription a struct representation of a SDP payload
type SessionDescription struct {
Version int
Origin Origin
SessionName string
Information string
ConnectData ConnectData
Timing Timing
MediaDescription []MediaDescription
Attributes map[string]string
}
// NewSessionDescription instantiates a SessionDescription struct
func NewSessionDescription() *SessionDescription {
var mediaDescription []MediaDescription
sdp := SessionDescription{Version: 0, Attributes: make(map[string]string), MediaDescription: mediaDescription}
return &sdp
}