mirror of
https://github.com/pion/webrtc.git
synced 2025-10-28 01:31:33 +08:00
51 lines
1.3 KiB
Go
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()
|
|
}
|
|
}
|