mirror of
https://github.com/aler9/gortsplib
synced 2025-10-05 07:06:58 +08:00
server: implement sessions
This commit is contained in:
@@ -7,15 +7,23 @@ import (
|
||||
"github.com/aler9/gortsplib/pkg/headers"
|
||||
)
|
||||
|
||||
// ErrServerTeardown is returned in case of a teardown request.
|
||||
type ErrServerTeardown struct{}
|
||||
// ErrServerTCPFramesEnable is an error that can be returned by a server.
|
||||
type ErrServerTCPFramesEnable struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerTeardown) Error() string {
|
||||
return "teardown"
|
||||
func (e ErrServerTCPFramesEnable) Error() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// ErrServerCSeqMissing is returned in case the CSeq is missing.
|
||||
// ErrServerTCPFramesDisable is an error that can be returned by a server.
|
||||
type ErrServerTCPFramesDisable struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerTCPFramesDisable) Error() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
// ErrServerCSeqMissing is an error that can be returned by a server.
|
||||
type ErrServerCSeqMissing struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -23,7 +31,7 @@ func (e ErrServerCSeqMissing) Error() string {
|
||||
return "CSeq is missing"
|
||||
}
|
||||
|
||||
// ErrServerWrongState is returned in case of a wrong client state.
|
||||
// ErrServerWrongState is an error that can be returned by a server.
|
||||
type ErrServerWrongState struct {
|
||||
AllowedList []fmt.Stringer
|
||||
State fmt.Stringer
|
||||
@@ -35,7 +43,7 @@ func (e ErrServerWrongState) Error() string {
|
||||
e.AllowedList, e.State)
|
||||
}
|
||||
|
||||
// ErrServerNoPath is returned in case the path can't be retrieved.
|
||||
// ErrServerNoPath is an error that can be returned by a server.
|
||||
type ErrServerNoPath struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -43,7 +51,7 @@ func (e ErrServerNoPath) Error() string {
|
||||
return "RTSP path can't be retrieved"
|
||||
}
|
||||
|
||||
// ErrServerContentTypeMissing is returned in case the Content-Type header is missing.
|
||||
// ErrServerContentTypeMissing is an error that can be returned by a server.
|
||||
type ErrServerContentTypeMissing struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -51,7 +59,7 @@ func (e ErrServerContentTypeMissing) Error() string {
|
||||
return "Content-Type header is missing"
|
||||
}
|
||||
|
||||
// ErrServerContentTypeUnsupported is returned in case the Content-Type header is unsupported.
|
||||
// ErrServerContentTypeUnsupported is an error that can be returned by a server.
|
||||
type ErrServerContentTypeUnsupported struct {
|
||||
CT base.HeaderValue
|
||||
}
|
||||
@@ -61,7 +69,7 @@ func (e ErrServerContentTypeUnsupported) Error() string {
|
||||
return fmt.Sprintf("unsupported Content-Type header '%v'", e.CT)
|
||||
}
|
||||
|
||||
// ErrServerSDPInvalid is returned in case the SDP is invalid.
|
||||
// ErrServerSDPInvalid is an error that can be returned by a server.
|
||||
type ErrServerSDPInvalid struct {
|
||||
Err error
|
||||
}
|
||||
@@ -71,7 +79,7 @@ func (e ErrServerSDPInvalid) Error() string {
|
||||
return fmt.Sprintf("invalid SDP: %v", e.Err)
|
||||
}
|
||||
|
||||
// ErrServerSDPNoTracksDefined is returned in case the SDP has no tracks defined.
|
||||
// ErrServerSDPNoTracksDefined is an error that can be returned by a server.
|
||||
type ErrServerSDPNoTracksDefined struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -79,7 +87,7 @@ func (e ErrServerSDPNoTracksDefined) Error() string {
|
||||
return "no tracks defined in the SDP"
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderInvalid is returned in case the transport header is invalid.
|
||||
// ErrServerTransportHeaderInvalid is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderInvalid struct {
|
||||
Err error
|
||||
}
|
||||
@@ -89,7 +97,7 @@ func (e ErrServerTransportHeaderInvalid) Error() string {
|
||||
return fmt.Sprintf("invalid transport header: %v", e.Err)
|
||||
}
|
||||
|
||||
// ErrServerTrackAlreadySetup is returned in case a track has already been setup.
|
||||
// ErrServerTrackAlreadySetup is an error that can be returned by a server.
|
||||
type ErrServerTrackAlreadySetup struct {
|
||||
TrackID int
|
||||
}
|
||||
@@ -99,7 +107,7 @@ func (e ErrServerTrackAlreadySetup) Error() string {
|
||||
return fmt.Sprintf("track %d has already been setup", e.TrackID)
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderWrongMode is returned in case the transport header contains a wrong mode.
|
||||
// ErrServerTransportHeaderWrongMode is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderWrongMode struct {
|
||||
Mode *headers.TransportMode
|
||||
}
|
||||
@@ -109,7 +117,7 @@ func (e ErrServerTransportHeaderWrongMode) Error() string {
|
||||
return fmt.Sprintf("transport header contains a wrong mode (%v)", e.Mode)
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderNoClientPorts is returned in case the transport header doesn't contain client ports.
|
||||
// ErrServerTransportHeaderNoClientPorts is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderNoClientPorts struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -117,7 +125,7 @@ func (e ErrServerTransportHeaderNoClientPorts) Error() string {
|
||||
return "transport header does not contain client ports"
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderNoInterleavedIDs is returned in case the transport header doesn't contain interleaved IDs.
|
||||
// ErrServerTransportHeaderNoInterleavedIDs is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderNoInterleavedIDs struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -125,7 +133,7 @@ func (e ErrServerTransportHeaderNoInterleavedIDs) Error() string {
|
||||
return "transport header does not contain interleaved IDs"
|
||||
}
|
||||
|
||||
// ErrServerTransportHeaderWrongInterleavedIDs is returned in case the transport header contains wrong interleaved IDs.
|
||||
// ErrServerTransportHeaderWrongInterleavedIDs is an error that can be returned by a server.
|
||||
type ErrServerTransportHeaderWrongInterleavedIDs struct {
|
||||
Expected [2]int
|
||||
Value [2]int
|
||||
@@ -136,7 +144,7 @@ func (e ErrServerTransportHeaderWrongInterleavedIDs) Error() string {
|
||||
return fmt.Sprintf("wrong interleaved IDs, expected %v, got %v", e.Expected, e.Value)
|
||||
}
|
||||
|
||||
// ErrServerTracksDifferentProtocols is returned in case the client is trying to setup tracks with different protocols.
|
||||
// ErrServerTracksDifferentProtocols is an error that can be returned by a server.
|
||||
type ErrServerTracksDifferentProtocols struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -144,7 +152,7 @@ func (e ErrServerTracksDifferentProtocols) Error() string {
|
||||
return "can't setup tracks with different protocols"
|
||||
}
|
||||
|
||||
// ErrServerNoTracksSetup is returned in case no tracks have been setup.
|
||||
// ErrServerNoTracksSetup is an error that can be returned by a server.
|
||||
type ErrServerNoTracksSetup struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -152,7 +160,7 @@ func (e ErrServerNoTracksSetup) Error() string {
|
||||
return "no tracks have been setup"
|
||||
}
|
||||
|
||||
// ErrServerNotAllAnnouncedTracksSetup is returned in case not all announced tracks have been setup.
|
||||
// ErrServerNotAllAnnouncedTracksSetup is an error that can be returned by a server.
|
||||
type ErrServerNotAllAnnouncedTracksSetup struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
@@ -160,10 +168,18 @@ func (e ErrServerNotAllAnnouncedTracksSetup) Error() string {
|
||||
return "not all announced tracks have been setup"
|
||||
}
|
||||
|
||||
// ErrServerNoUDPPacketsRecently is returned when no UDP packets have been received recently.
|
||||
// ErrServerNoUDPPacketsRecently is an error that can be returned by a server.
|
||||
type ErrServerNoUDPPacketsRecently struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerNoUDPPacketsRecently) Error() string {
|
||||
return "no UDP packets received (maybe there's a firewall/NAT in between)"
|
||||
}
|
||||
|
||||
// ErrServerLinkedToOtherSession is an error that can be returned by a server.
|
||||
type ErrServerLinkedToOtherSession struct{}
|
||||
|
||||
// Error implements the error interface.
|
||||
func (e ErrServerLinkedToOtherSession) Error() string {
|
||||
return "connection is linked to another session"
|
||||
}
|
||||
|
Reference in New Issue
Block a user