Files
webrtc/rtcsdptype.go
2018-08-28 01:03:09 -07:00

51 lines
1.3 KiB
Go

package webrtc
// RTCSdpType describes the type of an RTCSessionDescription
type RTCSdpType int
const (
// RTCSdpTypeOffer indicates that a description MUST be treated as an SDP offer.
RTCSdpTypeOffer RTCSdpType = iota + 1
// RTCSdpTypePranswer indicates that a description MUST be treated as an SDP answer, but not a final answer.
RTCSdpTypePranswer
// RTCSdpTypeAnswer indicates that a description MUST be treated as an SDP final answer, and the offer-answer
// exchange MUST be considered complete.
RTCSdpTypeAnswer
// RTCSdpTypeRollback indicates that a description MUST be treated as canceling the current SDP negotiation
// and moving the SDP offer and answer back to what it was in the previous stable state.
RTCSdpTypeRollback
)
func NewRTCSdpType(raw string) (unknown RTCSdpType) {
switch raw {
case "offer":
return RTCSdpTypeOffer
case "pranswer":
return RTCSdpTypePranswer
case "answer":
return RTCSdpTypeAnswer
case "rollback":
return RTCSdpTypeRollback
default:
return unknown
}
}
func (t RTCSdpType) String() string {
switch t {
case RTCSdpTypeOffer:
return "offer"
case RTCSdpTypePranswer:
return "pranswer"
case RTCSdpTypeAnswer:
return "answer"
case RTCSdpTypeRollback:
return "rollback"
default:
return ErrUnknownType.Error()
}
}