mirror of
				https://github.com/pion/webrtc.git
				synced 2025-10-31 18:52:55 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			2.0 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package webrtc
 | |
| 
 | |
| // RTPTransceiverDirection indicates the direction of the RTPTransceiver.
 | |
| type RTPTransceiverDirection int
 | |
| 
 | |
| const (
 | |
| 	// RTPTransceiverDirectionSendrecv indicates the RTPSender will offer
 | |
| 	// to send RTP and RTPReceiver the will offer to receive RTP.
 | |
| 	RTPTransceiverDirectionSendrecv RTPTransceiverDirection = iota + 1
 | |
| 
 | |
| 	// RTPTransceiverDirectionSendonly indicates the RTPSender will offer
 | |
| 	// to send RTP.
 | |
| 	RTPTransceiverDirectionSendonly
 | |
| 
 | |
| 	// RTPTransceiverDirectionRecvonly indicates the RTPReceiver the will
 | |
| 	// offer to receive RTP.
 | |
| 	RTPTransceiverDirectionRecvonly
 | |
| 
 | |
| 	// RTPTransceiverDirectionInactive indicates the RTPSender won't offer
 | |
| 	// to send RTP and RTPReceiver the won't offer to receive RTP.
 | |
| 	RTPTransceiverDirectionInactive
 | |
| )
 | |
| 
 | |
| // This is done this way because of a linter.
 | |
| const (
 | |
| 	rtpTransceiverDirectionSendrecvStr = "sendrecv"
 | |
| 	rtpTransceiverDirectionSendonlyStr = "sendonly"
 | |
| 	rtpTransceiverDirectionRecvonlyStr = "recvonly"
 | |
| 	rtpTransceiverDirectionInactiveStr = "inactive"
 | |
| )
 | |
| 
 | |
| // NewRTPTransceiverDirection defines a procedure for creating a new
 | |
| // RTPTransceiverDirection from a raw string naming the transceiver direction.
 | |
| func NewRTPTransceiverDirection(raw string) RTPTransceiverDirection {
 | |
| 	switch raw {
 | |
| 	case rtpTransceiverDirectionSendrecvStr:
 | |
| 		return RTPTransceiverDirectionSendrecv
 | |
| 	case rtpTransceiverDirectionSendonlyStr:
 | |
| 		return RTPTransceiverDirectionSendonly
 | |
| 	case rtpTransceiverDirectionRecvonlyStr:
 | |
| 		return RTPTransceiverDirectionRecvonly
 | |
| 	case rtpTransceiverDirectionInactiveStr:
 | |
| 		return RTPTransceiverDirectionInactive
 | |
| 	default:
 | |
| 		return RTPTransceiverDirection(Unknown)
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func (t RTPTransceiverDirection) String() string {
 | |
| 	switch t {
 | |
| 	case RTPTransceiverDirectionSendrecv:
 | |
| 		return rtpTransceiverDirectionSendrecvStr
 | |
| 	case RTPTransceiverDirectionSendonly:
 | |
| 		return rtpTransceiverDirectionSendonlyStr
 | |
| 	case RTPTransceiverDirectionRecvonly:
 | |
| 		return rtpTransceiverDirectionRecvonlyStr
 | |
| 	case RTPTransceiverDirectionInactive:
 | |
| 		return rtpTransceiverDirectionInactiveStr
 | |
| 	default:
 | |
| 		return ErrUnknownType.Error()
 | |
| 	}
 | |
| }
 | 
