SYMBOL INDEX (2116 symbols across 332 files) FILE: internal/api/api.go function interfaceIsEmpty (line 22) | func interfaceIsEmpty(i any) bool { function sortedKeys (line 26) | func sortedKeys(paths map[string]*conf.Path) []string { function paramName (line 37) | func paramName(ctx *gin.Context) (string, bool) { function recordingsOfPath (line 47) | func recordingsOfPath( type apiAuthManager (line 68) | type apiAuthManager interface type apiParent (line 73) | type apiParent interface type API (line 79) | type API struct method Initialize (line 108) | func (a *API) Initialize() error { method Close (line 210) | func (a *API) Close() { method Log (line 216) | func (a *API) Log(level logger.Level, format string, args ...any) { method writeError (line 220) | func (a *API) writeError(ctx *gin.Context, status int, err error) { method writeOK (line 231) | func (a *API) writeOK(ctx *gin.Context) { method middlewarePreflightRequests (line 235) | func (a *API) middlewarePreflightRequests(ctx *gin.Context) { method middlewareAuth (line 245) | func (a *API) middlewareAuth(ctx *gin.Context) { method onInfo (line 277) | func (a *API) onInfo(ctx *gin.Context) { method onAuthJwksRefresh (line 284) | func (a *API) onAuthJwksRefresh(ctx *gin.Context) { method ReloadConf (line 290) | func (a *API) ReloadConf(conf *conf.Conf) { FILE: internal/api/api_config_global.go method onConfigGlobalGet (line 11) | func (a *API) onConfigGlobalGet(ctx *gin.Context) { method onConfigGlobalPatch (line 19) | func (a *API) onConfigGlobalPatch(ctx *gin.Context) { FILE: internal/api/api_config_global_test.go function TestConfigGlobalGet (line 16) | func TestConfigGlobalGet(t *testing.T) { function TestConfigGlobalPatch (line 51) | func TestConfigGlobalPatch(t *testing.T) { function TestConfigGlobalPatchUnknownField (line 88) | func TestConfigGlobalPatchUnknownField(t *testing.T) { //nolint:dupl FILE: internal/api/api_config_pathdefaults.go method onConfigPathDefaultsGet (line 11) | func (a *API) onConfigPathDefaultsGet(ctx *gin.Context) { method onConfigPathDefaultsPatch (line 19) | func (a *API) onConfigPathDefaultsPatch(ctx *gin.Context) { FILE: internal/api/api_config_pathdefaults_test.go function TestConfigPathDefaultsGet (line 13) | func TestConfigPathDefaultsGet(t *testing.T) { function TestConfigPathDefaultsPatch (line 37) | func TestConfigPathDefaultsPatch(t *testing.T) { FILE: internal/api/api_config_paths.go method onConfigPathsList (line 14) | func (a *API) onConfigPathsList(ctx *gin.Context) { method onConfigPathsGet (line 38) | func (a *API) onConfigPathsGet(ctx *gin.Context) { method onConfigPathsAdd (line 58) | func (a *API) onConfigPathsAdd(ctx *gin.Context) { //nolint:dupl method onConfigPathsPatch (line 95) | func (a *API) onConfigPathsPatch(ctx *gin.Context) { //nolint:dupl method onConfigPathsReplace (line 136) | func (a *API) onConfigPathsReplace(ctx *gin.Context) { //nolint:dupl method onConfigPathsDelete (line 177) | func (a *API) onConfigPathsDelete(ctx *gin.Context) { FILE: internal/api/api_config_paths_test.go function TestConfigPathsList (line 15) | func TestConfigPathsList(t *testing.T) { function TestConfigPathsGet (line 61) | func TestConfigPathsGet(t *testing.T) { function TestConfigPathsAdd (line 90) | func TestConfigPathsAdd(t *testing.T) { function TestConfigPathsAddUnknownField (line 125) | func TestConfigPathsAddUnknownField(t *testing.T) { //nolint:dupl function TestConfigPathsPatch (line 163) | func TestConfigPathsPatch(t *testing.T) { //nolint:dupl function TestConfigPathsReplace (line 204) | func TestConfigPathsReplace(t *testing.T) { //nolint:dupl function TestConfigPathsReplaceNonExisting (line 245) | func TestConfigPathsReplaceNonExisting(t *testing.T) { //nolint:dupl function TestConfigPathsDelete (line 278) | func TestConfigPathsDelete(t *testing.T) { FILE: internal/api/api_hls.go method onHLSMuxersList (line 13) | func (a *API) onHLSMuxersList(ctx *gin.Context) { method onHLSMuxersGet (line 31) | func (a *API) onHLSMuxersGet(ctx *gin.Context) { FILE: internal/api/api_hls_test.go type testHLSServer (line 15) | type testHLSServer struct method APIMuxersList (line 19) | func (s *testHLSServer) APIMuxersList() (*defs.APIHLSMuxerList, error) { method APIMuxersGet (line 27) | func (s *testHLSServer) APIMuxersGet(name string) (*defs.APIHLSMuxer, ... function TestHLSMuxersList (line 35) | func TestHLSMuxersList(t *testing.T) { function TestHLSMuxersGet (line 82) | func TestHLSMuxersGet(t *testing.T) { FILE: internal/api/api_paths.go method onPathsList (line 13) | func (a *API) onPathsList(ctx *gin.Context) { method onPathsGet (line 31) | func (a *API) onPathsGet(ctx *gin.Context) { FILE: internal/api/api_paths_test.go type testPathManager (line 14) | type testPathManager struct method APIPathsList (line 18) | func (m *testPathManager) APIPathsList() (*defs.APIPathList, error) { method APIPathsGet (line 26) | func (m *testPathManager) APIPathsGet(name string) (*defs.APIPath, err... function TestPathsList (line 34) | func TestPathsList(t *testing.T) { function TestPathsGet (line 93) | func TestPathsGet(t *testing.T) { FILE: internal/api/api_recordings.go method onRecordingsList (line 16) | func (a *API) onRecordingsList(ctx *gin.Context) { method onRecordingsGet (line 43) | func (a *API) onRecordingsGet(ctx *gin.Context) { method onRecordingDeleteSegment (line 63) | func (a *API) onRecordingDeleteSegment(ctx *gin.Context) { FILE: internal/api/api_recordings_test.go function TestRecordingsList (line 16) | func TestRecordingsList(t *testing.T) { function TestRecordingsGet (line 87) | func TestRecordingsGet(t *testing.T) { function TestRecordingsDeleteSegment (line 137) | func TestRecordingsDeleteSegment(t *testing.T) { FILE: internal/api/api_rtmp.go method onRTMPConnsList (line 12) | func (a *API) onRTMPConnsList(ctx *gin.Context) { method onRTMPConnsGet (line 30) | func (a *API) onRTMPConnsGet(ctx *gin.Context) { method onRTMPConnsKick (line 50) | func (a *API) onRTMPConnsKick(ctx *gin.Context) { method onRTMPSConnsList (line 70) | func (a *API) onRTMPSConnsList(ctx *gin.Context) { method onRTMPSConnsGet (line 88) | func (a *API) onRTMPSConnsGet(ctx *gin.Context) { method onRTMPSConnsKick (line 108) | func (a *API) onRTMPSConnsKick(ctx *gin.Context) { FILE: internal/api/api_rtmp_test.go type testRTMPServer (line 17) | type testRTMPServer struct method APIConnsList (line 21) | func (s *testRTMPServer) APIConnsList() (*defs.APIRTMPConnList, error) { method APIConnsGet (line 29) | func (s *testRTMPServer) APIConnsGet(id uuid.UUID) (*defs.APIRTMPConn,... method APIConnsKick (line 37) | func (s *testRTMPServer) APIConnsKick(id uuid.UUID) error { function TestRTMPConnsList (line 45) | func TestRTMPConnsList(t *testing.T) { function TestRTMPConnsGet (line 130) | func TestRTMPConnsGet(t *testing.T) { function TestRTMPConnsKick (line 209) | func TestRTMPConnsKick(t *testing.T) { FILE: internal/api/api_rtsp.go method onRTSPConnsList (line 12) | func (a *API) onRTSPConnsList(ctx *gin.Context) { method onRTSPConnsGet (line 30) | func (a *API) onRTSPConnsGet(ctx *gin.Context) { method onRTSPSessionsList (line 50) | func (a *API) onRTSPSessionsList(ctx *gin.Context) { method onRTSPSessionsGet (line 68) | func (a *API) onRTSPSessionsGet(ctx *gin.Context) { method onRTSPSessionsKick (line 88) | func (a *API) onRTSPSessionsKick(ctx *gin.Context) { method onRTSPSConnsList (line 108) | func (a *API) onRTSPSConnsList(ctx *gin.Context) { method onRTSPSConnsGet (line 126) | func (a *API) onRTSPSConnsGet(ctx *gin.Context) { method onRTSPSSessionsList (line 146) | func (a *API) onRTSPSSessionsList(ctx *gin.Context) { method onRTSPSSessionsGet (line 164) | func (a *API) onRTSPSSessionsGet(ctx *gin.Context) { method onRTSPSSessionsKick (line 184) | func (a *API) onRTSPSSessionsKick(ctx *gin.Context) { FILE: internal/api/api_rtsp_test.go type testRTSPServer (line 18) | type testRTSPServer struct method APIConnsList (line 23) | func (s *testRTSPServer) APIConnsList() (*defs.APIRTSPConnsList, error) { method APIConnsGet (line 31) | func (s *testRTSPServer) APIConnsGet(id uuid.UUID) (*defs.APIRTSPConn,... method APISessionsList (line 39) | func (s *testRTSPServer) APISessionsList() (*defs.APIRTSPSessionList, ... method APISessionsGet (line 47) | func (s *testRTSPServer) APISessionsGet(id uuid.UUID) (*defs.APIRTSPSe... method APISessionsKick (line 55) | func (s *testRTSPServer) APISessionsKick(id uuid.UUID) error { function TestRTSPConnsList (line 63) | func TestRTSPConnsList(t *testing.T) { function TestRTSPConnsGet (line 154) | func TestRTSPConnsGet(t *testing.T) { function TestRTSPSessionsList (line 237) | func TestRTSPSessionsList(t *testing.T) { function TestRTSPSessionsGet (line 369) | func TestRTSPSessionsGet(t *testing.T) { function TestRTSPSessionsKick (line 478) | func TestRTSPSessionsKick(t *testing.T) { FILE: internal/api/api_srt.go method onSRTConnsList (line 13) | func (a *API) onSRTConnsList(ctx *gin.Context) { method onSRTConnsGet (line 31) | func (a *API) onSRTConnsGet(ctx *gin.Context) { method onSRTConnsKick (line 51) | func (a *API) onSRTConnsKick(ctx *gin.Context) { FILE: internal/api/api_srt_test.go type testSRTServer (line 17) | type testSRTServer struct method APIConnsList (line 21) | func (s *testSRTServer) APIConnsList() (*defs.APISRTConnList, error) { method APIConnsGet (line 29) | func (s *testSRTServer) APIConnsGet(id uuid.UUID) (*defs.APISRTConn, e... method APIConnsKick (line 37) | func (s *testSRTServer) APIConnsKick(id uuid.UUID) error { function TestSRTConnsList (line 45) | func TestSRTConnsList(t *testing.T) { function TestSRTConnsGet (line 115) | func TestSRTConnsGet(t *testing.T) { function TestSRTConnsKick (line 217) | func TestSRTConnsKick(t *testing.T) { FILE: internal/api/api_test.go type testParent (line 21) | type testParent struct method Log (line 25) | func (p testParent) Log(l logger.Level, s string, a ...any) { method APIConfigSet (line 31) | func (testParent) APIConfigSet(_ *conf.Conf) {} function tempConf (line 33) | func tempConf(t *testing.T, cnt string) *conf.Conf { function httpRequest (line 44) | func httpRequest(t *testing.T, hc *http.Client, method string, ur string... function checkError (line 76) | func checkError(t *testing.T, body io.Reader, msg string) { function checkOK (line 83) | func checkOK(t *testing.T, body io.Reader) { function TestPreflightRequest (line 90) | func TestPreflightRequest(t *testing.T) { function TestInfo (line 128) | func TestInfo(t *testing.T) { function TestAuthJWKSRefresh (line 157) | func TestAuthJWKSRefresh(t *testing.T) { function TestAuthError (line 190) | func TestAuthError(t *testing.T) { FILE: internal/api/api_webrtc.go method onWebRTCSessionsList (line 13) | func (a *API) onWebRTCSessionsList(ctx *gin.Context) { method onWebRTCSessionsGet (line 31) | func (a *API) onWebRTCSessionsGet(ctx *gin.Context) { method onWebRTCSessionsKick (line 51) | func (a *API) onWebRTCSessionsKick(ctx *gin.Context) { FILE: internal/api/api_webrtc_test.go type testWebRTCServer (line 17) | type testWebRTCServer struct method APISessionsList (line 21) | func (s *testWebRTCServer) APISessionsList() (*defs.APIWebRTCSessionLi... method APISessionsGet (line 29) | func (s *testWebRTCServer) APISessionsGet(id uuid.UUID) (*defs.APIWebR... method APISessionsKick (line 37) | func (s *testWebRTCServer) APISessionsKick(id uuid.UUID) error { function TestWebRTCSessionsList (line 45) | func TestWebRTCSessionsList(t *testing.T) { function TestWebRTCSessionsGet (line 135) | func TestWebRTCSessionsGet(t *testing.T) { function TestWebRTCSessionsKick (line 211) | func TestWebRTCSessionsKick(t *testing.T) { FILE: internal/api/paginate.go function paginate2 (line 9) | func paginate2(itemsPtr any, itemsPerPage int, page int) int { function paginate (line 31) | func paginate(itemsPtr any, itemsPerPageStr string, pageStr string) (int... FILE: internal/api/paginate_test.go function TestPaginate (line 9) | func TestPaginate(t *testing.T) { function FuzzPaginate (line 56) | func FuzzPaginate(f *testing.F) { FILE: internal/auth/credentials.go type Credentials (line 4) | type Credentials struct FILE: internal/auth/error.go type Error (line 4) | type Error struct method Error (line 10) | func (e Error) Error() string { FILE: internal/auth/jwt_claims.go type jwtClaims (line 12) | type jwtClaims struct method UnmarshalJSON (line 18) | func (c *jwtClaims) UnmarshalJSON(b []byte) error { FILE: internal/auth/manager.go constant PauseAfterError (line 25) | PauseAfterError = 2 * time.Second constant jwksRefreshPeriod (line 27) | jwksRefreshPeriod = 60 * 60 * time.Second function isHTTP (line 30) | func isHTTP(req *Request) bool { function matchesPermission (line 38) | func matchesPermission(perms []conf.AuthInternalUserPermission, req *Req... type Manager (line 67) | type Manager struct method ReloadInternalUsers (line 88) | func (m *Manager) ReloadInternalUsers(u []conf.AuthInternalUser) { method Authenticate (line 96) | func (m *Manager) Authenticate(req *Request) (string, *Error) { method authenticateInternal (line 121) | func (m *Manager) authenticateInternal(req *Request) (string, error) { method authenticateWithUser (line 134) | func (m *Manager) authenticateWithUser( method authenticateHTTP (line 161) | func (m *Manager) authenticateHTTP(req *Request) (string, error) { method authenticateJWT (line 220) | func (m *Manager) authenticateJWT(req *Request) (string, error) { method pullJWTJWKS (line 279) | func (m *Manager) pullJWTJWKS() (jwt.Keyfunc, error) { method RefreshJWTJWKS (line 326) | func (m *Manager) RefreshJWTJWKS() { FILE: internal/auth/manager_test.go function mustParseCIDR (line 72) | func mustParseCIDR(v string) conf.IPNetwork { function TestAuthInternal (line 83) | func TestAuthInternal(t *testing.T) { function TestAuthInternalCustomVerifyFunc (line 223) | func TestAuthInternalCustomVerifyFunc(t *testing.T) { function TestAuthHTTP (line 266) | func TestAuthHTTP(t *testing.T) { function TestAuthHTTPFingerprint (line 371) | func TestAuthHTTPFingerprint(t *testing.T) { function TestAuthHTTPExclude (line 428) | func TestAuthHTTPExclude(t *testing.T) { function TestAuthJWT (line 452) | func TestAuthJWT(t *testing.T) { function TestAuthJWTExclude (line 598) | func TestAuthJWTExclude(t *testing.T) { function TestAuthJWTIssuer (line 619) | func TestAuthJWTIssuer(t *testing.T) { function TestAuthJWTAudience (line 727) | func TestAuthJWTAudience(t *testing.T) { function TestAuthJWTRefresh (line 841) | func TestAuthJWTRefresh(t *testing.T) { function TestAuthJWTFingerprint (line 930) | func TestAuthJWTFingerprint(t *testing.T) { FILE: internal/auth/request.go type Protocol (line 11) | type Protocol constant ProtocolRTSP (line 15) | ProtocolRTSP Protocol = "rtsp" constant ProtocolRTMP (line 16) | ProtocolRTMP Protocol = "rtmp" constant ProtocolHLS (line 17) | ProtocolHLS Protocol = "hls" constant ProtocolWebRTC (line 18) | ProtocolWebRTC Protocol = "webrtc" constant ProtocolSRT (line 19) | ProtocolSRT Protocol = "srt" type Request (line 23) | type Request struct FILE: internal/certloader/certloader.go type CertLoader (line 13) | type CertLoader struct method Initialize (line 26) | func (cl *CertLoader) Initialize() error { method Close (line 57) | func (cl *CertLoader) Close() { method GetCertificate (line 67) | func (cl *CertLoader) GetCertificate() func(*tls.ClientHelloInfo) (*tl... method watch (line 75) | func (cl *CertLoader) watch() { FILE: internal/certloader/certloader_test.go function TestCertReload (line 13) | func TestCertReload(t *testing.T) { FILE: internal/conf/always_available_track.go type AlwaysAvailableTrack (line 10) | type AlwaysAvailableTrack struct method UnmarshalJSON (line 18) | func (t *AlwaysAvailableTrack) UnmarshalJSON(b []byte) error { FILE: internal/conf/always_available_track_codec.go type AlwaysAvailableTrackCodec (line 6) | type AlwaysAvailableTrackCodec method UnmarshalEnv (line 21) | func (d *AlwaysAvailableTrackCodec) UnmarshalEnv(_ string, v string) e... constant CodecAV1 (line 10) | CodecAV1 AlwaysAvailableTrackCodec = "AV1" constant CodecVP9 (line 11) | CodecVP9 AlwaysAvailableTrackCodec = "VP9" constant CodecH265 (line 12) | CodecH265 AlwaysAvailableTrackCodec = "H265" constant CodecH264 (line 13) | CodecH264 AlwaysAvailableTrackCodec = "H264" constant CodecMPEG4Audio (line 14) | CodecMPEG4Audio AlwaysAvailableTrackCodec = "MPEG4Audio" constant CodecOpus (line 15) | CodecOpus AlwaysAvailableTrackCodec = "Opus" constant CodecG711 (line 16) | CodecG711 AlwaysAvailableTrackCodec = "G711" constant CodecLPCM (line 17) | CodecLPCM AlwaysAvailableTrackCodec = "LPCM" FILE: internal/conf/auth_action.go type AuthAction (line 10) | type AuthAction method UnmarshalJSON (line 23) | func (d *AuthAction) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 46) | func (d *AuthAction) UnmarshalEnv(_ string, v string) error { constant AuthActionPublish (line 14) | AuthActionPublish AuthAction = "publish" constant AuthActionRead (line 15) | AuthActionRead AuthAction = "read" constant AuthActionPlayback (line 16) | AuthActionPlayback AuthAction = "playback" constant AuthActionAPI (line 17) | AuthActionAPI AuthAction = "api" constant AuthActionMetrics (line 18) | AuthActionMetrics AuthAction = "metrics" constant AuthActionPprof (line 19) | AuthActionPprof AuthAction = "pprof" FILE: internal/conf/auth_internal_user.go type AuthInternalUser (line 4) | type AuthInternalUser struct FILE: internal/conf/auth_internal_user_permission.go type AuthInternalUserPermission (line 4) | type AuthInternalUserPermission struct FILE: internal/conf/auth_method.go type AuthMethod (line 10) | type AuthMethod method UnmarshalJSON (line 20) | func (d *AuthMethod) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 37) | func (d *AuthMethod) UnmarshalEnv(_ string, v string) error { constant AuthMethodInternal (line 14) | AuthMethodInternal AuthMethod = "internal" constant AuthMethodHTTP (line 15) | AuthMethodHTTP AuthMethod = "http" constant AuthMethodJWT (line 16) | AuthMethodJWT AuthMethod = "jwt" FILE: internal/conf/conf.go function sortedKeys (line 28) | func sortedKeys(paths map[string]*OptionalPath) []string { function firstThatExists (line 39) | func firstThatExists(paths []string) string { function setAllNilSlicesToEmptyRecursive (line 49) | func setAllNilSlicesToEmptyRecursive(rv reflect.Value) { function copyStructFields (line 92) | func copyStructFields(dest any, source any) { function mustParseCIDR (line 119) | func mustParseCIDR(v string) IPNetwork { function anyPathHasDeprecatedCredentials (line 130) | func anyPathHasDeprecatedCredentials(pathDefaults Path, paths map[string... function deepClone (line 156) | func deepClone(rv reflect.Value) reflect.Value { type nilLogger (line 202) | type nilLogger struct method Log (line 204) | func (nilLogger) Log(_ logger.Level, _ string, _ ...any) { type Conf (line 242) | type Conf struct method setDefaults (line 413) | func (conf *Conf) setDefaults() { method loadFromFile (line 561) | func (conf *Conf) loadFromFile(fpath string, defaultConfPaths []string... method Clone (line 600) | func (conf Conf) Clone() *Conf { method Validate (line 606) | func (conf *Conf) Validate(l logger.Writer) error { method Global (line 1093) | func (conf *Conf) Global() *Global { method PatchGlobal (line 1102) | func (conf *Conf) PatchGlobal(optional *OptionalGlobal) { method PatchPathDefaults (line 1107) | func (conf *Conf) PatchPathDefaults(optional *OptionalPath) { method AddPath (line 1112) | func (conf *Conf) AddPath(name string, p *OptionalPath) error { method PatchPath (line 1126) | func (conf *Conf) PatchPath(name string, optional2 *OptionalPath) error { method ReplacePath (line 1137) | func (conf *Conf) ReplacePath(name string, optional2 *OptionalPath) er... method RemovePath (line 1147) | func (conf *Conf) RemovePath(name string) error { function Load (line 530) | func Load(fpath string, defaultConfPaths []string, l logger.Writer) (*Co... FILE: internal/conf/conf_test.go function createTempFile (line 18) | func createTempFile(byts []byte) (string, error) { function TestConfFromFile (line 33) | func TestConfFromFile(t *testing.T) { function TestConfFromFileAndEnv (line 125) | func TestConfFromFileAndEnv(t *testing.T) { function TestConfFromEnvOnly (line 158) | func TestConfFromEnvOnly(t *testing.T) { function TestConfEncryption (line 170) | func TestConfEncryption(t *testing.T) { function TestConfDeprecatedAuth (line 205) | func TestConfDeprecatedAuth(t *testing.T) { function TestConfErrors (line 265) | func TestConfErrors(t *testing.T) { function TestAlwaysAvailableFileErrorMagicBytes (line 762) | func TestAlwaysAvailableFileErrorMagicBytes(t *testing.T) { function TestSampleConfFile (line 778) | func TestSampleConfFile(t *testing.T) { function TestClone (line 810) | func TestClone(t *testing.T) { FILE: internal/conf/credential.go constant plainCredentialSupportedChars (line 19) | plainCredentialSupportedChars = "A-Z,0-9,!,$,(,),*,+,.,;,<,=,>,[,],^,_,-... function sha256Base64 (line 21) | func sha256Base64(in string) string { type Credential (line 28) | type Credential method UnmarshalJSON (line 31) | func (d *Credential) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 43) | func (d *Credential) UnmarshalEnv(_ string, v string) error { method IsSha256 (line 48) | func (d Credential) IsSha256() bool { method IsArgon2 (line 53) | func (d Credential) IsArgon2() bool { method IsHashed (line 58) | func (d Credential) IsHashed() bool { method Check (line 63) | func (d Credential) Check(guess string) bool { method validate (line 82) | func (d Credential) validate() error { FILE: internal/conf/credential_test.go function TestCredential (line 9) | func TestCredential(t *testing.T) { FILE: internal/conf/decrypt/decrypt.go function Decrypt (line 12) | func Decrypt(key string, byts []byte) ([]byte, error) { FILE: internal/conf/duration.go type Duration (line 17) | type Duration method marshalInternal (line 19) | func (d Duration) marshalInternal() string { method MarshalJSON (line 47) | func (d Duration) MarshalJSON() ([]byte, error) { method unmarshalInternal (line 51) | func (d *Duration) unmarshalInternal(in string) error { method UnmarshalJSON (line 86) | func (d *Duration) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 101) | func (d *Duration) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/duration_test.go function TestDurationUnmarshal (line 37) | func TestDurationUnmarshal(t *testing.T) { function TestDurationMarshal (line 48) | func TestDurationMarshal(t *testing.T) { FILE: internal/conf/encryption.go type Encryption (line 10) | type Encryption method UnmarshalJSON (line 20) | func (d *Encryption) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 44) | func (d *Encryption) UnmarshalEnv(_ string, v string) error { constant EncryptionNo (line 14) | EncryptionNo Encryption = "no" constant EncryptionOptional (line 15) | EncryptionOptional Encryption = "optional" constant EncryptionStrict (line 16) | EncryptionStrict Encryption = "strict" FILE: internal/conf/env/env.go type Unmarshaler (line 13) | type Unmarshaler interface function envHasAtLeastAKeyWithPrefix (line 17) | func envHasAtLeastAKeyWithPrefix(env map[string]string, prefix string) b... function loadEnvInternal (line 26) | func loadEnvInternal(env map[string]string, prefix string, prv reflect.V... function loadWithEnv (line 281) | func loadWithEnv(env map[string]string, prefix string, v any) error { function envToMap (line 285) | func envToMap() map[string]string { function Load (line 295) | func Load(prefix string, v any) error { FILE: internal/conf/env/env_test.go function ptrOf (line 11) | func ptrOf[T any](v T) *T { type myDuration (line 17) | type myDuration method UnmarshalJSON (line 19) | func (d *myDuration) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 35) | func (d *myDuration) UnmarshalEnv(_ string, v string) error { function TestLoadPrimitives (line 39) | func TestLoadPrimitives(t *testing.T) { function TestLoadSlice (line 118) | func TestLoadSlice(t *testing.T) { function TestLoadSliceStruct (line 148) | func TestLoadSliceStruct(t *testing.T) { function TestLoadEmptySliceStruct (line 195) | func TestLoadEmptySliceStruct(t *testing.T) { function TestLoadPreloadedSliceStruct (line 219) | func TestLoadPreloadedSliceStruct(t *testing.T) { FILE: internal/conf/global.go function newGlobalValues (line 29) | func newGlobalValues() any { type Global (line 34) | type Global struct method MarshalJSON (line 39) | func (p *Global) MarshalJSON() ([]byte, error) { FILE: internal/conf/hls_variant.go type HLSVariant (line 12) | type HLSVariant method MarshalJSON (line 15) | func (d HLSVariant) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 33) | func (d *HLSVariant) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 57) | func (d *HLSVariant) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/ip_network.go type IPNetwork (line 12) | type IPNetwork method MarshalJSON (line 15) | func (n IPNetwork) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 20) | func (n *IPNetwork) UnmarshalJSON(b []byte) error { method String (line 46) | func (n IPNetwork) String() string { method Contains (line 52) | func (n IPNetwork) Contains(ip net.IP) bool { FILE: internal/conf/ip_networks.go type IPNetworks (line 12) | type IPNetworks method UnmarshalEnv (line 15) | func (d *IPNetworks) UnmarshalEnv(_ string, v string) error { method ToTrustedProxies (line 21) | func (d *IPNetworks) ToTrustedProxies() []string { method Contains (line 30) | func (d IPNetworks) Contains(ip net.IP) bool { FILE: internal/conf/jsonwrapper/unmarshal.go function jsonFieldKey (line 18) | func jsonFieldKey(f reflect.StructField) string { function isJSONNull (line 26) | func isJSONNull(raw json.RawMessage) bool { function needsCustomDecode (line 30) | func needsCustomDecode(t reflect.Type) bool { function checkForUnknownFields (line 37) | func checkForUnknownFields(rawMap map[string]json.RawMessage, known map[... function decode (line 49) | func decode(v reflect.Value, raw json.RawMessage, path string) error { function Unmarshal (line 147) | func Unmarshal(buf []byte, dest any) error { function Decode (line 152) | func Decode(r io.Reader, dest any) error { FILE: internal/conf/jsonwrapper/unmarshal_test.go type testStruct (line 11) | type testStruct struct function TestUnmarshalUnknownFields (line 16) | func TestUnmarshalUnknownFields(t *testing.T) { function TestUnmarshalPreventSliceReuse (line 24) | func TestUnmarshalPreventSliceReuse(t *testing.T) { function TestUnmarshalSetSliceToNil (line 77) | func TestUnmarshalSetSliceToNil(t *testing.T) { function TestUnmarshalSetNullableSliceToNil (line 111) | func TestUnmarshalSetNullableSliceToNil(t *testing.T) { type testStructWithUnmarshaler (line 129) | type testStructWithUnmarshaler struct method UnmarshalJSON (line 133) | func (s *testStructWithUnmarshaler) UnmarshalJSON(b []byte) error { function TestUnmarshalStructWithCustomUnmarshalerFromString (line 143) | func TestUnmarshalStructWithCustomUnmarshalerFromString(t *testing.T) { function FuzzUnmarshal (line 153) | func FuzzUnmarshal(f *testing.F) { FILE: internal/conf/log_destination.go type LogDestination (line 12) | type LogDestination method MarshalJSON (line 15) | func (d LogDestination) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 29) | func (d *LogDestination) UnmarshalJSON(b []byte) error { FILE: internal/conf/log_destinations.go type LogDestinations (line 12) | type LogDestinations method UnmarshalEnv (line 15) | func (d *LogDestinations) UnmarshalEnv(_ string, v string) error { method ToDestinations (line 21) | func (d LogDestinations) ToDestinations() []logger.Destination { FILE: internal/conf/log_level.go type LogLevel (line 12) | type LogLevel method MarshalJSON (line 15) | func (d LogLevel) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 36) | func (d *LogLevel) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 63) | func (d *LogLevel) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/optional_global.go function newOptionalGlobalValues (line 41) | func newOptionalGlobalValues() any { type OptionalGlobal (line 46) | type OptionalGlobal struct method UnmarshalJSON (line 51) | func (p *OptionalGlobal) UnmarshalJSON(b []byte) error { method MarshalJSON (line 57) | func (p *OptionalGlobal) MarshalJSON() ([]byte, error) { FILE: internal/conf/optional_path.go function newOptionalPathValues (line 42) | func newOptionalPathValues() any { type OptionalPath (line 47) | type OptionalPath struct method UnmarshalJSON (line 52) | func (p *OptionalPath) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 58) | func (p *OptionalPath) UnmarshalEnv(prefix string, _ string) error { method MarshalJSON (line 66) | func (p *OptionalPath) MarshalJSON() ([]byte, error) { FILE: internal/conf/path.go function IsValidPathName (line 25) | func IsValidPathName(name string) error { function checkSRTPassphrase (line 45) | func checkSRTPassphrase(passphrase string) error { function checkRedirect (line 55) | func checkRedirect(v string) error { function checkMP4MagicBytes (line 71) | func checkMP4MagicBytes(f io.ReadSeeker) error { function checkAlwaysAvailableFile (line 96) | func checkAlwaysAvailableFile(fpath string) error { function FindPathConf (line 130) | func FindPathConf(pathConfs map[string]*Path, name string) (*Path, []str... type Path (line 171) | type Path struct method setDefaults (line 308) | func (pconf *Path) setDefaults() { method Clone (line 371) | func (pconf Path) Clone() *Path { method validate (line 376) | func (pconf *Path) validate( method Equal (line 865) | func (pconf *Path) Equal(other *Path) bool { method HasStaticSource (line 870) | func (pconf Path) HasStaticSource() bool { method HasOnDemandStaticSource (line 875) | func (pconf Path) HasOnDemandStaticSource() bool { method HasOnDemandPublisher (line 880) | func (pconf Path) HasOnDemandPublisher() bool { function newPath (line 363) | func newPath(defaults *Path, partial *OptionalPath) *Path { FILE: internal/conf/path_test.go function TestPathClone (line 10) | func TestPathClone(t *testing.T) { FILE: internal/conf/record_format.go type RecordFormat (line 10) | type RecordFormat method UnmarshalJSON (line 19) | func (d *RecordFormat) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 36) | func (d *RecordFormat) UnmarshalEnv(_ string, v string) error { constant RecordFormatFMP4 (line 14) | RecordFormatFMP4 RecordFormat = "fmp4" constant RecordFormatMPEGTS (line 15) | RecordFormatMPEGTS RecordFormat = "mpegts" FILE: internal/conf/rtsp_auth_method.go type RTSPAuthMethod (line 12) | type RTSPAuthMethod method MarshalJSON (line 15) | func (d RTSPAuthMethod) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 26) | func (d *RTSPAuthMethod) UnmarshalJSON(b []byte) error { FILE: internal/conf/rtsp_auth_methods.go type RTSPAuthMethods (line 12) | type RTSPAuthMethods method UnmarshalEnv (line 15) | func (d *RTSPAuthMethods) UnmarshalEnv(_ string, v string) error { method ToAuthMethods (line 21) | func (d RTSPAuthMethods) ToAuthMethods() []auth.VerifyMethod { FILE: internal/conf/rtsp_range_type.go type RTSPRangeType (line 10) | type RTSPRangeType method UnmarshalJSON (line 21) | func (d *RTSPRangeType) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 38) | func (d *RTSPRangeType) UnmarshalEnv(_ string, v string) error { constant RTSPRangeTypeUndefined (line 14) | RTSPRangeTypeUndefined RTSPRangeType = "" constant RTSPRangeTypeClock (line 15) | RTSPRangeTypeClock RTSPRangeType = "clock" constant RTSPRangeTypeNPT (line 16) | RTSPRangeTypeNPT RTSPRangeType = "npt" constant RTSPRangeTypeSMPTE (line 17) | RTSPRangeTypeSMPTE RTSPRangeType = "smpte" FILE: internal/conf/rtsp_transport.go function ptrOf (line 11) | func ptrOf[T any](v T) *T { type RTSPTransport (line 18) | type RTSPTransport struct method MarshalJSON (line 23) | func (d RTSPTransport) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 45) | func (d *RTSPTransport) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 72) | func (d *RTSPTransport) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/rtsp_transports.go type RTSPTransports (line 14) | type RTSPTransports method MarshalJSON (line 17) | func (d RTSPTransports) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 45) | func (d *RTSPTransports) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 73) | func (d *RTSPTransports) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/string_size.go type StringSize (line 9) | type StringSize method MarshalJSON (line 12) | func (s StringSize) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 17) | func (s *StringSize) UnmarshalJSON(b []byte) error { method UnmarshalEnv (line 33) | func (s *StringSize) UnmarshalEnv(_ string, v string) error { FILE: internal/conf/webrtc_ice_server.go type WebRTCICEServer (line 4) | type WebRTCICEServer struct FILE: internal/conf/yamlwrapper/unmarshal.go function convertLegacyBools (line 19) | func convertLegacyBools(node ast.Node) ast.Node { function Unmarshal (line 78) | func Unmarshal(buf []byte, dest any) error { FILE: internal/conf/yamlwrapper/unmarshal_test.go function TestUnmarshalIntegerMapKey (line 9) | func TestUnmarshalIntegerMapKey(t *testing.T) { function TestUnmarshalDuplicateKey (line 25) | func TestUnmarshalDuplicateKey(t *testing.T) { function TestUnmarshalUnknownFields (line 36) | func TestUnmarshalUnknownFields(t *testing.T) { function TestUnmarshalLegacyBools (line 52) | func TestUnmarshalLegacyBools(t *testing.T) { function TestUnmarshalEmpty (line 67) | func TestUnmarshalEmpty(t *testing.T) { function FuzzUnmarshal (line 75) | func FuzzUnmarshal(f *testing.F) { FILE: internal/confwatcher/confwatcher.go constant minInterval (line 13) | minInterval = 1 * time.Second constant additionalWait (line 14) | additionalWait = 10 * time.Millisecond type ConfWatcher (line 18) | type ConfWatcher struct method Initialize (line 33) | func (w *ConfWatcher) Initialize() error { method Close (line 64) | func (w *ConfWatcher) Close() { method run (line 69) | func (w *ConfWatcher) run() { method Watch (line 120) | func (w *ConfWatcher) Watch() chan struct{} { FILE: internal/confwatcher/confwatcher_test.go function TestNoFile (line 12) | func TestNoFile(t *testing.T) { function TestWrite (line 18) | func TestWrite(t *testing.T) { function TestWriteMultipleTimes (line 45) | func TestWriteMultipleTimes(t *testing.T) { function TestDeleteCreate (line 89) | func TestDeleteCreate(t *testing.T) { function TestSymlinkDeleteCreate (line 119) | func TestSymlinkDeleteCreate(t *testing.T) { FILE: internal/core/api_test.go function checkClose (line 35) | func checkClose(t *testing.T, closeFunc func() error) { function httpRequest (line 39) | func httpRequest(t *testing.T, hc *http.Client, method string, ur string... function checkError (line 70) | func checkError(t *testing.T, msg string, body io.Reader) { function TestAPIPathsList (line 77) | func TestAPIPathsList(t *testing.T) { function TestAPIPathsGet (line 286) | func TestAPIPathsGet(t *testing.T) { function TestAPIProtocolListGet (line 355) | func TestAPIProtocolListGet(t *testing.T) { function TestAPIProtocolGetNotFound (line 990) | func TestAPIProtocolGetNotFound(t *testing.T) { function TestAPIProtocolKick (line 1094) | func TestAPIProtocolKick(t *testing.T) { function TestAPIProtocolKickNotFound (line 1272) | func TestAPIProtocolKickNotFound(t *testing.T) { FILE: internal/core/core.go function goArm (line 58) | func goArm() string { function getArch (line 68) | func getArch() string { function atLeastOneRecordDeleteAfter (line 78) | func atLeastOneRecordDeleteAfter(pathConfs map[string]*conf.Path) bool { function getRTPMaxPayloadSize (line 87) | func getRTPMaxPayloadSize(udpMaxPayloadSize int, rtspEncryption conf.Enc... type Core (line 106) | type Core struct method Close (line 217) | func (p *Core) Close() { method Wait (line 223) | func (p *Core) Wait() { method Log (line 228) | func (p *Core) Log(level logger.Level, format string, args ...any) { method run (line 232) | func (p *Core) run() { method createResources (line 289) | func (p *Core) createResources(initial bool) error { method closeResources (line 725) | func (p *Core) closeResources(newConf *conf.Conf, calledByAPI bool) { method reloadConf (line 1070) | func (p *Core) reloadConf(newConf *conf.Conf, calledByAPI bool) error { method APIConfigSet (line 1091) | func (p *Core) APIConfigSet(conf *conf.Conf) { function New (line 137) | func New(args []string) (*Core, bool) { FILE: internal/core/core_test.go function newInstance (line 15) | func newInstance(conf string) (*Core, bool) { function TestCoreErrors (line 29) | func TestCoreErrors(t *testing.T) { function TestCoreHotReloading (line 98) | func TestCoreHotReloading(t *testing.T) { function TestCoreHotReloadingAndLoggerError (line 136) | func TestCoreHotReloadingAndLoggerError(t *testing.T) { FILE: internal/core/metrics_test.go function httpPullFile (line 31) | func httpPullFile(t *testing.T, hc *http.Client, u string) []byte { function TestMetrics (line 46) | func TestMetrics(t *testing.T) { FILE: internal/core/path.go function emptyTimer (line 24) | func emptyTimer() *time.Timer { type pathParent (line 30) | type pathParent interface type pathOnDemandState (line 39) | type pathOnDemandState constant pathOnDemandStateInitial (line 42) | pathOnDemandStateInitial pathOnDemandState = iota constant pathOnDemandStateWaitingReady (line 43) | pathOnDemandStateWaitingReady constant pathOnDemandStateReady (line 44) | pathOnDemandStateReady constant pathOnDemandStateClosing (line 45) | pathOnDemandStateClosing type pathAPIPathsListRes (line 48) | type pathAPIPathsListRes struct type pathAPIPathsListReq (line 53) | type pathAPIPathsListReq struct type pathAPIPathsGetRes (line 57) | type pathAPIPathsGetRes struct type pathAPIPathsGetReq (line 63) | type pathAPIPathsGetReq struct type path (line 68) | type path struct method initialize (line 125) | func (pa *path) initialize() { method close (line 154) | func (pa *path) close() { method wait (line 158) | func (pa *path) wait() { method Log (line 163) | func (pa *path) Log(level logger.Level, format string, args ...any) { method Name (line 167) | func (pa *path) Name() string { method isAvailable (line 171) | func (pa *path) isAvailable() bool { method isOnline (line 175) | func (pa *path) isOnline() bool { method run (line 179) | func (pa *path) run() { method runInner (line 263) | func (pa *path) runInner() error { method doOnDemandStaticSourceReadyTimer (line 349) | func (pa *path) doOnDemandStaticSourceReadyTimer() { method doOnDemandStaticSourceCloseTimer (line 363) | func (pa *path) doOnDemandStaticSourceCloseTimer() { method doOnDemandPublisherReadyTimer (line 371) | func (pa *path) doOnDemandPublisherReadyTimer() { method doOnDemandPublisherCloseTimer (line 385) | func (pa *path) doOnDemandPublisherCloseTimer() { method doReloadConf (line 389) | func (pa *path) doReloadConf(newConf *conf.Path) { method doSourceStaticSetReady (line 416) | func (pa *path) doSourceStaticSetReady(req defs.PathSourceStaticSetRea... method doSourceStaticSetNotReady (line 453) | func (pa *path) doSourceStaticSetNotReady(req defs.PathSourceStaticSet... method doDescribe (line 472) | func (pa *path) doDescribe(req defs.PathDescribeReq) { method doRemovePublisher (line 511) | func (pa *path) doRemovePublisher(req defs.PathRemovePublisherReq) { method doAddPublisher (line 518) | func (pa *path) doAddPublisher(req defs.PathAddPublisherReq) { method doAddReader (line 578) | func (pa *path) doAddReader(req defs.PathAddReaderReq) { method doRemoveReader (line 603) | func (pa *path) doRemoveReader(req defs.PathRemoveReaderReq) { method doAPIPathsGet (line 622) | func (pa *path) doAPIPathsGet(req pathAPIPathsGetReq) { method SafeConf (line 713) | func (pa *path) SafeConf() *conf.Path { method ExternalCmdEnv (line 719) | func (pa *path) ExternalCmdEnv() externalcmd.Environment { method shouldClose (line 736) | func (pa *path) shouldClose() bool { method onDemandStaticSourceStart (line 744) | func (pa *path) onDemandStaticSourceStart(query string) { method onDemandStaticSourceScheduleClose (line 753) | func (pa *path) onDemandStaticSourceScheduleClose() { method onDemandStaticSourceStop (line 760) | func (pa *path) onDemandStaticSourceStop(reason string) { method onDemandPublisherStart (line 771) | func (pa *path) onDemandPublisherStart(query string) { method onDemandPublisherScheduleClose (line 786) | func (pa *path) onDemandPublisherScheduleClose() { method onDemandPublisherStop (line 793) | func (pa *path) onDemandPublisherStop(reason string) { method setAvailable (line 805) | func (pa *path) setAvailable( method consumeOnHoldRequests (line 861) | func (pa *path) consumeOnHoldRequests() { method setNotAvailable (line 875) | func (pa *path) setNotAvailable() { method startRecording (line 896) | func (pa *path) startRecording() { method executeRemoveReader (line 939) | func (pa *path) executeRemoveReader(r defs.Reader) { method executeRemovePublisher (line 943) | func (pa *path) executeRemovePublisher() { method addReaderPost (line 955) | func (pa *path) addReaderPost(req defs.PathAddReaderReq) { method reloadConf (line 986) | func (pa *path) reloadConf(newConf *conf.Path) { method StaticSourceHandlerSetReady (line 994) | func (pa *path) StaticSourceHandlerSetReady( method StaticSourceHandlerSetNotReady (line 1012) | func (pa *path) StaticSourceHandlerSetNotReady( method describe (line 1030) | func (pa *path) describe(req defs.PathDescribeReq) defs.PathDescribeRes { method addPublisher (line 1040) | func (pa *path) addPublisher(req defs.PathAddPublisherReq) (*defs.Path... method RemovePublisher (line 1051) | func (pa *path) RemovePublisher(req defs.PathRemovePublisherReq) { method addReader (line 1061) | func (pa *path) addReader(req defs.PathAddReaderReq) (*defs.PathAddRea... method RemoveReader (line 1072) | func (pa *path) RemoveReader(req defs.PathRemoveReaderReq) { method APIPathsGet (line 1082) | func (pa *path) APIPathsGet(req pathAPIPathsGetReq) (*defs.APIPath, er... FILE: internal/core/path_manager.go function pathConfCanBeUpdated (line 20) | func pathConfCanBeUpdated(oldPathConf *conf.Path, newPathConf *conf.Path... type pathSetHLSServerRes (line 54) | type pathSetHLSServerRes struct type pathSetHLSServerReq (line 58) | type pathSetHLSServerReq struct type pathManagerAuthManager (line 63) | type pathManagerAuthManager interface type pathManagerParent (line 67) | type pathManagerParent interface type pathManager (line 71) | type pathManager struct method initialize (line 107) | func (pm *pathManager) initialize() { method close (line 142) | func (pm *pathManager) close() { method Log (line 154) | func (pm *pathManager) Log(level logger.Level, format string, args ...... method run (line 158) | func (pm *pathManager) run() { method doReloadConf (line 213) | func (pm *pathManager) doReloadConf(newPaths map[string]*conf.Path) { method doClosePath (line 277) | func (pm *pathManager) doClosePath(pa *path) { method doSetHLSServer (line 283) | func (pm *pathManager) doSetHLSServer(m *hls.Server) []defs.Path { method doSetPathReady (line 297) | func (pm *pathManager) doSetPathReady(pa *path) { method doSetPathNotReady (line 309) | func (pm *pathManager) doSetPathNotReady(pa *path) { method doFindPathConf (line 321) | func (pm *pathManager) doFindPathConf(req defs.PathFindPathConfReq) { method doDescribe (line 340) | func (pm *pathManager) doDescribe(req defs.PathDescribeReq) { method doAddReader (line 365) | func (pm *pathManager) doAddReader(req defs.PathAddReaderReq) { method doAddPublisher (line 398) | func (pm *pathManager) doAddPublisher(req defs.PathAddPublisherReq) { method doAPIPathsList (line 436) | func (pm *pathManager) doAPIPathsList(req pathAPIPathsListReq) { method doAPIPathsGet (line 443) | func (pm *pathManager) doAPIPathsGet(req pathAPIPathsGetReq) { method createPath (line 453) | func (pm *pathManager) createPath( method ReloadPathConfs (line 480) | func (pm *pathManager) ReloadPathConfs(pathConfs map[string]*conf.Path) { method setPathReady (line 488) | func (pm *pathManager) setPathReady(pa *path) { method setPathNotReady (line 497) | func (pm *pathManager) setPathNotReady(pa *path) { method removePath (line 506) | func (pm *pathManager) removePath(pa *path) { method closePathIfIdle (line 515) | func (pm *pathManager) closePathIfIdle(pa *path) { method FindPathConf (line 524) | func (pm *pathManager) FindPathConf(req defs.PathFindPathConfReq) (*de... method Describe (line 537) | func (pm *pathManager) Describe(req defs.PathDescribeReq) defs.PathDes... method AddPublisher (line 560) | func (pm *pathManager) AddPublisher(req defs.PathAddPublisherReq) (*de... method AddReader (line 585) | func (pm *pathManager) AddReader(req defs.PathAddReaderReq) (*defs.Pat... method SetHLSServer (line 610) | func (pm *pathManager) SetHLSServer(s *hls.Server) []defs.Path { method APIPathsList (line 627) | func (pm *pathManager) APIPathsList() (*defs.APIPathList, error) { method APIPathsGet (line 659) | func (pm *pathManager) APIPathsGet(name string) (*defs.APIPath, error) { FILE: internal/core/path_manager_test.go type dummyPublisher (line 20) | type dummyPublisher struct method Close (line 22) | func (d *dummyPublisher) Close() {} method Log (line 24) | func (d *dummyPublisher) Log(_ logger.Level, _ string, _ ...any) {} method APISourceDescribe (line 26) | func (d *dummyPublisher) APISourceDescribe() *defs.APIPathSource { type dummyReader (line 30) | type dummyReader struct method Close (line 32) | func (d *dummyReader) Close() {} method Log (line 34) | func (d *dummyReader) Log(_ logger.Level, _ string, _ ...any) {} method APIReaderDescribe (line 36) | func (d *dummyReader) APIReaderDescribe() *defs.APIPathReader { function TestPathManagerDynamicPathAutoDeletion (line 40) | func TestPathManagerDynamicPathAutoDeletion(t *testing.T) { function TestPathManagerDynamicPathDescribeAndPublish (line 88) | func TestPathManagerDynamicPathDescribeAndPublish(t *testing.T) { function TestPathManagerConfigHotReload (line 125) | func TestPathManagerConfigHotReload(t *testing.T) { FILE: internal/core/path_test.go type testServer (line 32) | type testServer struct method OnDescribe (line 38) | func (sh *testServer) OnDescribe(ctx *gortsplib.ServerHandlerOnDescrib... method OnSetup (line 43) | func (sh *testServer) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) ... method OnPlay (line 47) | func (sh *testServer) OnPlay(ctx *gortsplib.ServerHandlerOnPlayCtx) (*... function TestPathRunOnDemand (line 53) | func TestPathRunOnDemand(t *testing.T) { function TestPathRunOnConnect (line 154) | func TestPathRunOnConnect(t *testing.T) { function TestPathRunOnReady (line 281) | func TestPathRunOnReady(t *testing.T) { function TestPathRunOnRead (line 332) | func TestPathRunOnRead(t *testing.T) { function TestPathRunOnRecordSegment (line 590) | func TestPathRunOnRecordSegment(t *testing.T) { function TestPathMaxReaders (line 657) | func TestPathMaxReaders(t *testing.T) { function TestPathRecord (line 702) | func TestPathRecord(t *testing.T) { function TestPathFallback (line 785) | func TestPathFallback(t *testing.T) { function TestPathResolveSource (line 844) | func TestPathResolveSource(t *testing.T) { function TestPathOverridePublisher (line 908) | func TestPathOverridePublisher(t *testing.T) { FILE: internal/core/source_redirect.go type sourceRedirect (line 9) | type sourceRedirect struct method Log (line 11) | func (*sourceRedirect) Log(logger.Level, string, ...any) { method APISourceDescribe (line 15) | func (*sourceRedirect) APISourceDescribe() *defs.APIPathSource { FILE: internal/core/test_on_demand/main.go function main (line 14) | func main() { FILE: internal/core/upgrade.go constant gitRepo (line 25) | gitRepo = "https://github.com/bluenviron/mediamtx" constant downloadURL (line 26) | downloadURL = "https://github.com/bluenviron/mediamtx/releases/download/... constant executable (line 27) | executable = "mediamtx" function latestRemoteVersion (line 35) | func latestRemoteVersion() (*semver.Version, error) { function extractExecutable (line 64) | func extractExecutable(r io.Reader) ([]byte, error) { function extractExecutableWin (line 92) | func extractExecutableWin(r io.Reader) ([]byte, error) { function upgrade (line 123) | func upgrade() error { FILE: internal/core/upgrade_disabled.go function upgrade (line 7) | func upgrade() error { FILE: internal/core/versiongetter/main.go function gitDescribeTags (line 21) | func gitDescribeTags(repo *git.Repository) (string, error) { function tagFromGit (line 75) | func tagFromGit() error { function do (line 122) | func do() error { function main (line 137) | func main() { FILE: internal/counterdumper/dumper.go constant callbackPeriod (line 10) | callbackPeriod = 1 * time.Second type Dumper (line 14) | type Dumper struct method Start (line 26) | func (c *Dumper) Start() { method Stop (line 34) | func (c *Dumper) Stop() { method Increase (line 40) | func (c *Dumper) Increase() { method Add (line 48) | func (c *Dumper) Add(v uint64) { method Get (line 56) | func (c *Dumper) Get() uint64 { method run (line 62) | func (c *Dumper) run() { FILE: internal/counterdumper/dumper_test.go function TestDumperReport (line 10) | func TestDumperReport(t *testing.T) { function TestDumperDoNotReport (line 32) | func TestDumperDoNotReport(t *testing.T) { FILE: internal/defs/api.go type APIOKStatus (line 10) | type APIOKStatus constant APIOKStatusOK (line 14) | APIOKStatusOK APIOKStatus = "ok" type APIErrorStatus (line 18) | type APIErrorStatus constant APIErrorStatusError (line 22) | APIErrorStatusError APIErrorStatus = "error" type APIOK (line 26) | type APIOK struct type APIError (line 31) | type APIError struct type APIInfo (line 37) | type APIInfo struct type APIPathConfList (line 43) | type APIPathConfList struct FILE: internal/defs/api_hls.go type APIHLSServer (line 6) | type APIHLSServer interface type APIHLSMuxer (line 12) | type APIHLSMuxer struct type APIHLSMuxerList (line 23) | type APIHLSMuxerList struct FILE: internal/defs/api_path.go type APIPathManager (line 8) | type APIPathManager interface type APIPathSourceType (line 14) | type APIPathSourceType constant APIPathSourceTypeHLSSource (line 18) | APIPathSourceTypeHLSSource APIPathSourceType = "hlsSource" constant APIPathSourceTypeRedirect (line 19) | APIPathSourceTypeRedirect APIPathSourceType = "redirect" constant APIPathSourceTypeRPICameraSource (line 20) | APIPathSourceTypeRPICameraSource APIPathSourceType = "rpiCameraSource" constant APIPathSourceTypeRTMPConn (line 21) | APIPathSourceTypeRTMPConn APIPathSourceType = "rtmpConn" constant APIPathSourceTypeRTMPSConn (line 22) | APIPathSourceTypeRTMPSConn APIPathSourceType = "rtmpsConn" constant APIPathSourceTypeRTMPSource (line 23) | APIPathSourceTypeRTMPSource APIPathSourceType = "rtmpSource" constant APIPathSourceTypeRTSPSession (line 24) | APIPathSourceTypeRTSPSession APIPathSourceType = "rtspSession" constant APIPathSourceTypeRTSPSource (line 25) | APIPathSourceTypeRTSPSource APIPathSourceType = "rtspSource" constant APIPathSourceTypeRTSPSSession (line 26) | APIPathSourceTypeRTSPSSession APIPathSourceType = "rtspsSession" constant APIPathSourceTypeSRTConn (line 27) | APIPathSourceTypeSRTConn APIPathSourceType = "srtConn" constant APIPathSourceTypeSRTSource (line 28) | APIPathSourceTypeSRTSource APIPathSourceType = "srtSource" constant APIPathSourceTypeMPEGTSSource (line 29) | APIPathSourceTypeMPEGTSSource APIPathSourceType = "mpegtsSource" constant APIPathSourceTypeRTPSource (line 30) | APIPathSourceTypeRTPSource APIPathSourceType = "rtpSource" constant APIPathSourceTypeWebRTCSession (line 31) | APIPathSourceTypeWebRTCSession APIPathSourceType = "webRTCSession" constant APIPathSourceTypeWebRTCSource (line 32) | APIPathSourceTypeWebRTCSource APIPathSourceType = "webRTCSource" type APIPathSource (line 36) | type APIPathSource struct type APIPathReaderType (line 42) | type APIPathReaderType constant APIPathReaderTypeHLSMuxer (line 46) | APIPathReaderTypeHLSMuxer APIPathReaderType = "hlsMuxer" constant APIPathReaderTypeRTMPConn (line 47) | APIPathReaderTypeRTMPConn APIPathReaderType = "rtmpConn" constant APIPathReaderTypeRTMPSConn (line 48) | APIPathReaderTypeRTMPSConn APIPathReaderType = "rtmpsConn" constant APIPathReaderTypeRTSPConn (line 49) | APIPathReaderTypeRTSPConn APIPathReaderType = "rtspConn" constant APIPathReaderTypeRPICameraSecondary (line 50) | APIPathReaderTypeRPICameraSecondary APIPathReaderType = "rpiCameraSecond... constant APIPathReaderTypeRTSPSession (line 51) | APIPathReaderTypeRTSPSession APIPathReaderType = "rtspSession" constant APIPathReaderTypeRTSPSConn (line 52) | APIPathReaderTypeRTSPSConn APIPathReaderType = "rtspsConn" constant APIPathReaderTypeRTSPSSession (line 53) | APIPathReaderTypeRTSPSSession APIPathReaderType = "rtspsSession" constant APIPathReaderTypeSRTConn (line 54) | APIPathReaderTypeSRTConn APIPathReaderType = "srtConn" constant APIPathReaderTypeWebRTCSession (line 55) | APIPathReaderTypeWebRTCSession APIPathReaderType = "webRTCSession" type APIPathReader (line 59) | type APIPathReader struct type APIPath (line 65) | type APIPath struct type APIPathList (line 87) | type APIPathList struct FILE: internal/defs/api_path_track.go type APIPathTrack (line 4) | type APIPathTrack struct FILE: internal/defs/api_path_track_codec.go type APIPathTrackCodec (line 14) | type APIPathTrackCodec constant APIPathTrackCodecAV1 (line 19) | APIPathTrackCodecAV1 APIPathTrackCodec = "AV1" constant APIPathTrackCodecVP9 (line 20) | APIPathTrackCodecVP9 APIPathTrackCodec = "VP9" constant APIPathTrackCodecVP8 (line 21) | APIPathTrackCodecVP8 APIPathTrackCodec = "VP8" constant APIPathTrackCodecH265 (line 22) | APIPathTrackCodecH265 APIPathTrackCodec = "H265" constant APIPathTrackCodecH264 (line 23) | APIPathTrackCodecH264 APIPathTrackCodec = "H264" constant APIPathTrackCodecMPEG4Video (line 24) | APIPathTrackCodecMPEG4Video APIPathTrackCodec = "MPEG-4 Video" constant APIPathTrackCodecMPEG1Video (line 25) | APIPathTrackCodecMPEG1Video APIPathTrackCodec = "MPEG-1 Video" constant APIPathTrackCodecMJPEG (line 26) | APIPathTrackCodecMJPEG APIPathTrackCodec = "MJPEG" constant APIPathTrackCodecOpus (line 28) | APIPathTrackCodecOpus APIPathTrackCodec = "Opus" constant APIPathTrackCodecVorbis (line 29) | APIPathTrackCodecVorbis APIPathTrackCodec = "Vorbis" constant APIPathTrackCodecMPEG4Audio (line 30) | APIPathTrackCodecMPEG4Audio APIPathTrackCodec = "MPEG-4 Audio" constant APIPathTrackCodecMPEG4AudioLATM (line 31) | APIPathTrackCodecMPEG4AudioLATM APIPathTrackCodec = "MPEG-4 Audio LATM" constant APIPathTrackCodecMPEG1Audio (line 32) | APIPathTrackCodecMPEG1Audio APIPathTrackCodec = "MPEG-1 Audio" constant APIPathTrackCodecAC3 (line 33) | APIPathTrackCodecAC3 APIPathTrackCodec = "AC3" constant APIPathTrackCodecSpeex (line 34) | APIPathTrackCodecSpeex APIPathTrackCodec = "Speex" constant APIPathTrackCodecG726 (line 35) | APIPathTrackCodecG726 APIPathTrackCodec = "G726" constant APIPathTrackCodecG722 (line 36) | APIPathTrackCodecG722 APIPathTrackCodec = "G722" constant APIPathTrackCodecG711 (line 37) | APIPathTrackCodecG711 APIPathTrackCodec = "G711" constant APIPathTrackCodecLPCM (line 38) | APIPathTrackCodecLPCM APIPathTrackCodec = "LPCM" constant APIPathTrackCodecMPEGTS (line 40) | APIPathTrackCodecMPEGTS APIPathTrackCodec = "MPEG-TS" constant APIPathTrackCodecKLV (line 41) | APIPathTrackCodecKLV APIPathTrackCodec = "KLV" constant APIPathTrackCodecGeneric (line 42) | APIPathTrackCodecGeneric APIPathTrackCodec = "Generic" function formatToCodec (line 45) | func formatToCodec(forma format.Format) APIPathTrackCodec { function h264ProfileString (line 97) | func h264ProfileString(profileIdc uint8) string { function h264LevelString (line 118) | func h264LevelString(levelIdc uint8) string { function h265ProfileString (line 127) | func h265ProfileString(profileIdc uint8) string { function h265LevelString (line 154) | func h265LevelString(levelIdc uint8) string { function FormatsToCodecs (line 165) | func FormatsToCodecs(formats []format.Format) []APIPathTrackCodec { function formatToTrack (line 173) | func formatToTrack(forma format.Format) APIPathTrack { function formatToTrackCodecProps (line 180) | func formatToTrackCodecProps(forma format.Format) APIPathTrackCodecProps { function gatherFormats (line 278) | func gatherFormats(medias []*description.Media) []format.Format { function MediasToCodecs (line 299) | func MediasToCodecs(medias []*description.Media) []APIPathTrackCodec { function FormatsToTracks (line 304) | func FormatsToTracks(formats []format.Format) []APIPathTrack { function MediasToTracks (line 315) | func MediasToTracks(medias []*description.Media) []APIPathTrack { FILE: internal/defs/api_path_track_codec_props.go type APIPathTrackCodecProps (line 4) | type APIPathTrackCodecProps interface type APIPathTrackCodecPropsAV1 (line 9) | type APIPathTrackCodecPropsAV1 struct method apiPathTrackCodecProps (line 17) | func (*APIPathTrackCodecPropsAV1) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsVP9 (line 20) | type APIPathTrackCodecPropsVP9 struct method apiPathTrackCodecProps (line 24) | func (*APIPathTrackCodecPropsVP9) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsH265 (line 27) | type APIPathTrackCodecPropsH265 struct method apiPathTrackCodecProps (line 34) | func (*APIPathTrackCodecPropsH265) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsH264 (line 37) | type APIPathTrackCodecPropsH264 struct method apiPathTrackCodecProps (line 44) | func (*APIPathTrackCodecPropsH264) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsOpus (line 47) | type APIPathTrackCodecPropsOpus struct method apiPathTrackCodecProps (line 51) | func (*APIPathTrackCodecPropsOpus) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsMPEG4Audio (line 54) | type APIPathTrackCodecPropsMPEG4Audio struct method apiPathTrackCodecProps (line 59) | func (*APIPathTrackCodecPropsMPEG4Audio) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsAC3 (line 62) | type APIPathTrackCodecPropsAC3 struct method apiPathTrackCodecProps (line 67) | func (*APIPathTrackCodecPropsAC3) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsG711 (line 70) | type APIPathTrackCodecPropsG711 struct method apiPathTrackCodecProps (line 76) | func (*APIPathTrackCodecPropsG711) apiPathTrackCodecProps() {} type APIPathTrackCodecPropsLPCM (line 79) | type APIPathTrackCodecPropsLPCM struct method apiPathTrackCodecProps (line 85) | func (*APIPathTrackCodecPropsLPCM) apiPathTrackCodecProps() {} FILE: internal/defs/api_path_track_codec_test.go function ptr (line 12) | func ptr[T any](v T) *T { function testFormatH264 (line 16) | func testFormatH264() *format.H264 { function testFormatMPEG4Audio (line 29) | func testFormatMPEG4Audio() *format.MPEG4Audio { function testFormatH265 (line 44) | func testFormatH265() *format.H265 { function TestFormatsToCodecs (line 68) | func TestFormatsToCodecs(t *testing.T) { function TestMediasToTracks (line 120) | func TestMediasToTracks(t *testing.T) { FILE: internal/defs/api_recording.go type APIRecordingSegment (line 6) | type APIRecordingSegment struct type APIRecording (line 11) | type APIRecording struct type APIRecordingList (line 17) | type APIRecordingList struct FILE: internal/defs/api_rtmp.go type APIRTMPServer (line 10) | type APIRTMPServer interface type APIRTMPConnState (line 17) | type APIRTMPConnState constant APIRTMPConnStateIdle (line 21) | APIRTMPConnStateIdle APIRTMPConnState = "idle" constant APIRTMPConnStateRead (line 22) | APIRTMPConnStateRead APIRTMPConnState = "read" constant APIRTMPConnStatePublish (line 23) | APIRTMPConnStatePublish APIRTMPConnState = "publish" type APIRTMPConn (line 27) | type APIRTMPConn struct type APIRTMPConnList (line 44) | type APIRTMPConnList struct FILE: internal/defs/api_rtsp.go type APIRTSPServer (line 10) | type APIRTSPServer interface type APIRTSPConn (line 19) | type APIRTSPConn struct type APIRTSPConnsList (line 32) | type APIRTSPConnsList struct type APIRTSPSessionState (line 39) | type APIRTSPSessionState constant APIRTSPSessionStateIdle (line 43) | APIRTSPSessionStateIdle APIRTSPSessionState = "idle" constant APIRTSPSessionStateRead (line 44) | APIRTSPSessionStateRead APIRTSPSessionState = "read" constant APIRTSPSessionStatePublish (line 45) | APIRTSPSessionStatePublish APIRTSPSessionState = "publish" type APIRTSPSession (line 49) | type APIRTSPSession struct type APIRTSPSessionList (line 86) | type APIRTSPSessionList struct FILE: internal/defs/api_srt.go type APISRTServer (line 10) | type APISRTServer interface type APISRTConnState (line 17) | type APISRTConnState constant APISRTConnStateIdle (line 21) | APISRTConnStateIdle APISRTConnState = "idle" constant APISRTConnStateRead (line 22) | APISRTConnStateRead APISRTConnState = "read" constant APISRTConnStatePublish (line 23) | APISRTConnStatePublish APISRTConnState = "publish" type APISRTConn (line 27) | type APISRTConn struct type APISRTConnList (line 161) | type APISRTConnList struct FILE: internal/defs/api_webrtc.go type APIWebRTCServer (line 10) | type APIWebRTCServer interface type APIWebRTCSessionState (line 17) | type APIWebRTCSessionState constant APIWebRTCSessionStateRead (line 21) | APIWebRTCSessionStateRead APIWebRTCSessionState = "read" constant APIWebRTCSessionStatePublish (line 22) | APIWebRTCSessionStatePublish APIWebRTCSessionState = "publish" type APIWebRTCSession (line 26) | type APIWebRTCSession struct type APIWebRTCSessionList (line 58) | type APIWebRTCSessionList struct FILE: internal/defs/path.go type PathNoStreamAvailableError (line 14) | type PathNoStreamAvailableError struct method Error (line 19) | func (e PathNoStreamAvailableError) Error() string { type Path (line 24) | type Path interface type PathFindPathConfRes (line 33) | type PathFindPathConfRes struct type PathFindPathConfReq (line 40) | type PathFindPathConfReq struct type PathDescribeRes (line 46) | type PathDescribeRes struct type PathDescribeReq (line 54) | type PathDescribeReq struct type PathAddPublisherRes (line 60) | type PathAddPublisherRes struct type PathAddPublisherReq (line 68) | type PathAddPublisherReq struct type PathRemovePublisherReq (line 79) | type PathRemovePublisherReq struct type PathAddReaderRes (line 85) | type PathAddReaderRes struct type PathAddReaderReq (line 93) | type PathAddReaderReq struct type PathRemoveReaderReq (line 100) | type PathRemoveReaderReq struct type PathSourceStaticSetReadyRes (line 106) | type PathSourceStaticSetReadyRes struct type PathSourceStaticSetReadyReq (line 112) | type PathSourceStaticSetReadyReq struct type PathSourceStaticSetNotReadyReq (line 120) | type PathSourceStaticSetNotReadyReq struct FILE: internal/defs/path_access_request.go type PathAccessRequest (line 12) | type PathAccessRequest struct method ToAuthRequest (line 27) | func (r *PathAccessRequest) ToAuthRequest() *auth.Request { FILE: internal/defs/publisher.go type Publisher (line 4) | type Publisher interface FILE: internal/defs/reader.go type Reader (line 4) | type Reader interface FILE: internal/defs/source.go type Source (line 18) | type Source interface function FormatsInfo (line 24) | func FormatsInfo(formats []format.Format) string { function MediasInfo (line 43) | func MediasInfo(medias []*description.Media) string { FILE: internal/defs/static_source.go type StaticSourceRunParams (line 10) | type StaticSourceRunParams struct FILE: internal/errordumper/dumper.go constant callbackPeriod (line 10) | callbackPeriod = 1 * time.Second type Dumper (line 14) | type Dumper struct method Start (line 27) | func (c *Dumper) Start() { method Stop (line 35) | func (c *Dumper) Stop() { method Add (line 41) | func (c *Dumper) Add(err error) { method Get (line 50) | func (c *Dumper) Get() uint64 { method run (line 56) | func (c *Dumper) run() { FILE: internal/errordumper/dumper_test.go function TestDumperReport (line 11) | func TestDumperReport(t *testing.T) { function TestDumperDoNotReport (line 33) | func TestDumperDoNotReport(t *testing.T) { FILE: internal/externalcmd/cmd.go constant restartPause (line 12) | restartPause = 5 * time.Second type OnExitFunc (line 18) | type OnExitFunc type Environment (line 21) | type Environment type Cmd (line 24) | type Cmd struct method Close (line 73) | func (e *Cmd) Close() { method run (line 77) | func (e *Cmd) run() { function NewCmd (line 36) | func NewCmd( FILE: internal/externalcmd/cmd_unix.go method runOSSpecific (line 15) | func (e *Cmd) runOSSpecific(env []string) error { FILE: internal/externalcmd/cmd_win.go function createProcessGroup (line 19) | func createProcessGroup() (windows.Handle, error) { function closeProcessGroup (line 42) | func closeProcessGroup(h windows.Handle) error { function addProcessToGroup (line 46) | func addProcessToGroup(h windows.Handle, p *os.Process) error { method runOSSpecific (line 64) | func (e *Cmd) runOSSpecific(env []string) error { FILE: internal/externalcmd/pool.go type Pool (line 8) | type Pool struct method Initialize (line 13) | func (p *Pool) Initialize() { method Close (line 17) | func (p *Pool) Close() { FILE: internal/hooks/on_connect.go type OnConnectParams (line 12) | type OnConnectParams struct function OnConnect (line 23) | func OnConnect(params OnConnectParams) func() { FILE: internal/hooks/on_demand.go type OnDemandParams (line 10) | type OnDemandParams struct function OnDemand (line 19) | func OnDemand(params OnDemandParams) func(string) { FILE: internal/hooks/on_init.go type OnInitParams (line 10) | type OnInitParams struct function OnInit (line 18) | func OnInit(params OnInitParams) func() { FILE: internal/hooks/on_read.go type OnReadParams (line 11) | type OnReadParams struct function OnRead (line 21) | func OnRead(params OnReadParams) func() { FILE: internal/hooks/on_ready.go type OnReadyParams (line 11) | type OnReadyParams struct function OnReady (line 21) | func OnReady(params OnReadyParams) func() { FILE: internal/linters/conf/conf_test.go function checkBooleans (line 16) | func checkBooleans(t *testing.T, keys []string, node ast.Node) { function TestConf (line 33) | func TestConf(t *testing.T) { FILE: internal/linters/go2api/go2api_test.go type openAPIProperty (line 19) | type openAPIProperty struct function wrapRef (line 30) | func wrapRef(rt reflect.Type, p openAPIProperty) openAPIProperty { type openAPISchema (line 46) | type openAPISchema struct type openAPI (line 52) | type openAPI struct function schemaName (line 58) | func schemaName(rt reflect.Type) string { function goStructToApi (line 68) | func goStructToApi(t *testing.T, rt reflect.Type) openAPIProperty { function goEnumToApi (line 144) | func goEnumToApi(rt reflect.Type) (openAPISchema, bool) { function TestGo2API (line 313) | func TestGo2API(t *testing.T) { FILE: internal/logger/destination.go type Destination (line 8) | type Destination constant DestinationStdout (line 12) | DestinationStdout Destination = iota constant DestinationFile (line 15) | DestinationFile constant DestinationSyslog (line 18) | DestinationSyslog type destination (line 21) | type destination interface FILE: internal/logger/destination_file.go type destinationFile (line 11) | type destinationFile struct method log (line 29) | func (d *destinationFile) log(t time.Time, level Level, format string,... method close (line 52) | func (d *destinationFile) close() { function newDestinationFile (line 17) | func newDestinationFile(structured bool, filePath string) (destination, ... FILE: internal/logger/destination_stdout.go type destinationStdout (line 14) | type destinationStdout struct method log (line 29) | func (d *destinationStdout) log(t time.Time, level Level, format strin... method close (line 52) | func (d *destinationStdout) close() { function newDestionationStdout (line 21) | func newDestionationStdout(structured bool, stdout io.Writer) destination { FILE: internal/logger/destination_syslog.go type destinationSysLog (line 12) | type destinationSysLog struct method log (line 28) | func (d *destinationSysLog) log(_ time.Time, level Level, format strin... method close (line 45) | func (d *destinationSysLog) close() { function newDestinationSyslog (line 17) | func newDestinationSyslog(prefix string) (destination, error) { FILE: internal/logger/destination_syslog_disabled.go function newDestinationSyslog (line 7) | func newDestinationSyslog(_ string) (destination, error) { FILE: internal/logger/level.go type Level (line 4) | type Level constant Debug (line 8) | Debug Level = iota + 1 constant Info (line 9) | Info constant Warn (line 10) | Warn constant Error (line 11) | Error FILE: internal/logger/logger.go type Logger (line 15) | type Logger struct method Initialize (line 29) | func (l *Logger) Initialize() error { method Close (line 64) | func (l *Logger) Close() { method Log (line 148) | func (l *Logger) Log(level Level, format string, args ...any) { function itoa (line 71) | func itoa(i int, wid int) []byte { function writePlainTime (line 87) | func writePlainTime(buf *bytes.Buffer, t time.Time, useColor bool) { function writeLevel (line 115) | func writeLevel(buf *bytes.Buffer, level Level, useColor bool) { FILE: internal/logger/logger_test.go function TestLoggerToStdout (line 12) | func TestLoggerToStdout(t *testing.T) { function TestLoggerToFile (line 42) | func TestLoggerToFile(t *testing.T) { FILE: internal/logger/writer.go type Writer (line 4) | type Writer interface FILE: internal/metrics/metrics.go function interfaceIsEmpty (line 23) | func interfaceIsEmpty(i any) bool { function sortedKeys (line 27) | func sortedKeys(paths map[string]string) []string { function tags (line 38) | func tags(m map[string]string) string { function metric (line 55) | func metric(key string, tags string, value int64) string { function metricFloat (line 59) | func metricFloat(key string, tags string, value float64) string { type metricsAuthManager (line 63) | type metricsAuthManager interface type metricsParent (line 67) | type metricsParent interface type Metrics (line 72) | type Metrics struct method Initialize (line 98) | func (m *Metrics) Initialize() error { method Close (line 131) | func (m *Metrics) Close() { method Log (line 137) | func (m *Metrics) Log(level logger.Level, format string, args ...any) { method middlewarePreflightRequests (line 141) | func (m *Metrics) middlewarePreflightRequests(ctx *gin.Context) { method middlewareAuth (line 151) | func (m *Metrics) middlewareAuth(ctx *gin.Context) { method onMetrics (line 183) | func (m *Metrics) onMetrics(ctx *gin.Context) { method SetPathManager (line 725) | func (m *Metrics) SetPathManager(s defs.APIPathManager) { method SetHLSServer (line 732) | func (m *Metrics) SetHLSServer(s defs.APIHLSServer) { method SetRTSPServer (line 739) | func (m *Metrics) SetRTSPServer(s defs.APIRTSPServer) { method SetRTSPSServer (line 746) | func (m *Metrics) SetRTSPSServer(s defs.APIRTSPServer) { method SetRTMPServer (line 753) | func (m *Metrics) SetRTMPServer(s defs.APIRTMPServer) { method SetRTMPSServer (line 760) | func (m *Metrics) SetRTMPSServer(s defs.APIRTMPServer) { method SetSRTServer (line 767) | func (m *Metrics) SetSRTServer(s defs.APISRTServer) { method SetWebRTCServer (line 774) | func (m *Metrics) SetWebRTCServer(s defs.APIWebRTCServer) { FILE: internal/metrics/metrics_test.go function ptrOf (line 20) | func ptrOf[T any](v T) *T { function requireMetricsLines (line 26) | func requireMetricsLines(t *testing.T, body []byte, lines []string) { type dummyPathManager (line 38) | type dummyPathManager struct method APIPathsList (line 40) | func (dummyPathManager) APIPathsList() (*defs.APIPathList, error) { method APIPathsGet (line 69) | func (dummyPathManager) APIPathsGet(string) (*defs.APIPath, error) { type dummyHLSServer (line 73) | type dummyHLSServer struct method APIMuxersList (line 75) | func (dummyHLSServer) APIMuxersList() (*defs.APIHLSMuxerList, error) { method APIMuxersGet (line 90) | func (dummyHLSServer) APIMuxersGet(string) (*defs.APIHLSMuxer, error) { type dummyRTSPServer (line 94) | type dummyRTSPServer struct method APIConnsList (line 96) | func (dummyRTSPServer) APIConnsList() (*defs.APIRTSPConnsList, error) { method APIConnsGet (line 113) | func (dummyRTSPServer) APIConnsGet(uuid.UUID) (*defs.APIRTSPConn, erro... method APISessionsList (line 117) | func (dummyRTSPServer) APISessionsList() (*defs.APIRTSPSessionList, er... method APISessionsGet (line 155) | func (dummyRTSPServer) APISessionsGet(uuid.UUID) (*defs.APIRTSPSession... method APISessionsKick (line 159) | func (dummyRTSPServer) APISessionsKick(uuid.UUID) error { type dummyRTMPServer (line 163) | type dummyRTMPServer struct method APIConnsList (line 165) | func (dummyRTMPServer) APIConnsList() (*defs.APIRTMPConnList, error) { method APIConnsGet (line 185) | func (dummyRTMPServer) APIConnsGet(uuid.UUID) (*defs.APIRTMPConn, erro... method APIConnsKick (line 189) | func (dummyRTMPServer) APIConnsKick(uuid.UUID) error { type dummyWebRTCServer (line 193) | type dummyWebRTCServer struct method APISessionsList (line 195) | func (dummyWebRTCServer) APISessionsList() (*defs.APIWebRTCSessionList... method APISessionsGet (line 230) | func (dummyWebRTCServer) APISessionsGet(uuid.UUID) (*defs.APIWebRTCSes... method APISessionsKick (line 234) | func (dummyWebRTCServer) APISessionsKick(uuid.UUID) error { function TestPreflightRequest (line 238) | func TestPreflightRequest(t *testing.T) { function TestMetrics (line 276) | func TestMetrics(t *testing.T) { function TestAuthError (line 353) | func TestAuthError(t *testing.T) { function TestFilter (line 402) | func TestFilter(t *testing.T) { FILE: internal/ntpestimator/estimator.go constant maxTimeDifference (line 9) | maxTimeDifference = 5 * time.Second function multiplyAndDivide (line 14) | func multiplyAndDivide(v, m, d time.Duration) time.Duration { type Estimator (line 21) | type Estimator struct method Estimate (line 31) | func (e *Estimator) Estimate(pts int64) time.Time { FILE: internal/ntpestimator/estimator_test.go function TestEstimator (line 10) | func TestEstimator(t *testing.T) { FILE: internal/packetdumper/conn.go type direction (line 19) | type direction constant dirRead (line 22) | dirRead direction = iota constant dirWrite (line 23) | dirWrite constant dirHandshake (line 24) | dirHandshake type dumpEntry (line 27) | type dumpEntry struct type Conn (line 34) | type Conn struct method Initialize (line 49) | func (c *Conn) Initialize() error { method Close (line 74) | func (c *Conn) Close() error { method run (line 82) | func (c *Conn) run() { method processEntry (line 112) | func (c *Conn) processEntry( method writePacket (line 164) | func (c *Conn) writePacket( method enqueue (line 210) | func (c *Conn) enqueue(e dumpEntry) { method Read (line 217) | func (c *Conn) Read(p []byte) (n int, err error) { method Write (line 231) | func (c *Conn) Write(p []byte) (n int, err error) { method LocalAddr (line 246) | func (c *Conn) LocalAddr() net.Addr { return c.Conn.LocalAddr() } method RemoteAddr (line 249) | func (c *Conn) RemoteAddr() net.Addr { return c.Conn.RemoteAddr() } method SetDeadline (line 252) | func (c *Conn) SetDeadline(t time.Time) error { return c.Conn.SetDeadl... method SetReadDeadline (line 255) | func (c *Conn) SetReadDeadline(t time.Time) error { return c.Conn.SetR... method SetWriteDeadline (line 258) | func (c *Conn) SetWriteDeadline(t time.Time) error { return c.Conn.Set... FILE: internal/packetdumper/conn_test.go function startTCPPair (line 15) | func startTCPPair(t *testing.T) (client, server net.Conn) { function cleanupPcapng (line 43) | func cleanupPcapng(t *testing.T, prefix string) { function TestConnInitialize_CreatesFile (line 55) | func TestConnInitialize_CreatesFile(t *testing.T) { function TestConnWrite (line 67) | func TestConnWrite(t *testing.T) { function TestConnRead (line 88) | func TestConnRead(t *testing.T) { function TestConnServerSide (line 108) | func TestConnServerSide(t *testing.T) { function TestConnMultipleWriteRead (line 129) | func TestConnMultipleWriteRead(t *testing.T) { function TestConnCloseIdempotent (line 162) | func TestConnCloseIdempotent(t *testing.T) { function TestConnDelegatesAddrMethods (line 176) | func TestConnDelegatesAddrMethods(t *testing.T) { FILE: internal/packetdumper/dial_context.go type DialContext (line 9) | type DialContext struct method Do (line 15) | func (d *DialContext) Do(ctx context.Context, network, address string)... FILE: internal/packetdumper/listen.go type Listen (line 8) | type Listen struct method Do (line 14) | func (l *Listen) Do(network, address string) (net.Listener, error) { FILE: internal/packetdumper/listen_packet.go type ListenPacket (line 8) | type ListenPacket struct method Do (line 14) | func (l *ListenPacket) Do(network, address string) (net.PacketConn, er... FILE: internal/packetdumper/listener.go type Listener (line 8) | type Listener struct method Accept (line 14) | func (l *Listener) Accept() (net.Conn, error) { method Close (line 35) | func (l *Listener) Close() error { method Addr (line 40) | func (l *Listener) Addr() net.Addr { FILE: internal/packetdumper/packet_conn.go type extendedPacketConn (line 19) | type extendedPacketConn interface type packetDumpEntry (line 25) | type packetDumpEntry struct type PacketConn (line 32) | type PacketConn struct method Initialize (line 46) | func (c *PacketConn) Initialize() error { method Close (line 69) | func (c *PacketConn) Close() error { method run (line 77) | func (c *PacketConn) run() { method writePacket (line 100) | func (c *PacketConn) writePacket(ntp time.Time, src, dst *net.UDPAddr,... method enqueue (line 133) | func (c *PacketConn) enqueue(e packetDumpEntry) { method ReadFrom (line 141) | func (c *PacketConn) ReadFrom(p []byte) (n int, addr net.Addr, err err... method WriteTo (line 160) | func (c *PacketConn) WriteTo(p []byte, addr net.Addr) (n int, err erro... method LocalAddr (line 179) | func (c *PacketConn) LocalAddr() net.Addr { return c.PacketConn.LocalA... method SetDeadline (line 182) | func (c *PacketConn) SetDeadline(t time.Time) error { return c.PacketC... method SetReadDeadline (line 185) | func (c *PacketConn) SetReadDeadline(t time.Time) error { return c.Pac... method SetWriteDeadline (line 188) | func (c *PacketConn) SetWriteDeadline(t time.Time) error { return c.Pa... method SetReadBuffer (line 191) | func (c *PacketConn) SetReadBuffer(bytes int) error { method SyscallConn (line 196) | func (c *PacketConn) SyscallConn() (syscall.RawConn, error) { FILE: internal/packetdumper/packet_conn_test.go function startUDPPair (line 14) | func startUDPPair(t *testing.T) (client, server *net.UDPConn) { function cleanupPcapngPacket (line 37) | func cleanupPcapngPacket(t *testing.T, prefix string) { function TestPacketConnInitialize_CreatesFile (line 49) | func TestPacketConnInitialize_CreatesFile(t *testing.T) { function TestPacketConnWriteTo (line 61) | func TestPacketConnWriteTo(t *testing.T) { function TestPacketConnReadFrom (line 83) | func TestPacketConnReadFrom(t *testing.T) { function TestPacketConnMultipleWriteRead (line 105) | func TestPacketConnMultipleWriteRead(t *testing.T) { function TestPacketConnCloseIdempotent (line 148) | func TestPacketConnCloseIdempotent(t *testing.T) { function TestPacketConnDelegatesAddrMethods (line 162) | func TestPacketConnDelegatesAddrMethods(t *testing.T) { function TestPacketConnReadFromRecordsSource (line 180) | func TestPacketConnReadFromRecordsSource(t *testing.T) { FILE: internal/playback/muxer.go type muxer (line 5) | type muxer interface FILE: internal/playback/muxer_fmp4.go constant partDuration (line 13) | partDuration = 1 * time.Second type muxerFMP4Track (line 16) | type muxerFMP4Track struct function findTrack (line 24) | func findTrack(tracks []*muxerFMP4Track, id int) *muxerFMP4Track { type muxerFMP4 (line 33) | type muxerFMP4 struct method writeInit (line 43) | func (w *muxerFMP4) writeInit(init *fmp4.Init) { method setTrack (line 57) | func (w *muxerFMP4) setTrack(trackID int) { method writeSample (line 61) | func (w *muxerFMP4) writeSample( method writeFinalDTS (line 126) | func (w *muxerFMP4) writeFinalDTS(dts int64) { method innerFlush (line 133) | func (w *muxerFMP4) innerFlush(final bool) error { method flush (line 202) | func (w *muxerFMP4) flush() error { FILE: internal/playback/muxer_mp4.go type muxerMP4Track (line 11) | type muxerMP4Track struct function findTrackMP4 (line 16) | func findTrackMP4(tracks []*muxerMP4Track, id int) *muxerMP4Track { type muxerMP4 (line 25) | type muxerMP4 struct method writeInit (line 32) | func (w *muxerMP4) writeInit(init *fmp4.Init) { method setTrack (line 46) | func (w *muxerMP4) setTrack(trackID int) { method writeSample (line 50) | func (w *muxerMP4) writeSample( method writeFinalDTS (line 85) | func (w *muxerMP4) writeFinalDTS(dts int64) { method flush (line 92) | func (w *muxerMP4) flush() error { FILE: internal/playback/muxer_mp4_test.go function TestMuxerMP4EmptyTracks (line 14) | func TestMuxerMP4EmptyTracks(t *testing.T) { FILE: internal/playback/on_get.go type writerWrapper (line 19) | type writerWrapper struct method Write (line 24) | func (w *writerWrapper) Write(p []byte) (int, error) { function parseDuration (line 33) | func parseDuration(raw string) (time.Duration, error) { function seekAndMux (line 43) | func seekAndMux( method onGet (line 122) | func (s *Server) onGet(ctx *gin.Context) { FILE: internal/playback/on_get_test.go function writeSegment1 (line 26) | func writeSegment1(t *testing.T, fpath string) { function writeSegment2 (line 104) | func writeSegment2(t *testing.T, fpath string) { function writeSegment3 (line 192) | func writeSegment3(t *testing.T, fpath string) { function TestOnGet (line 232) | func TestOnGet(t *testing.T) { function TestOnGetDifferentInit (line 702) | func TestOnGetDifferentInit(t *testing.T) { function TestOnGetInMiddleOfLastSample (line 782) | func TestOnGetInMiddleOfLastSample(t *testing.T) { function TestOnGetBetweenSegments (line 876) | func TestOnGetBetweenSegments(t *testing.T) { FILE: internal/playback/on_list.go type listEntryDuration (line 20) | type listEntryDuration method MarshalJSON (line 22) | func (d listEntryDuration) MarshalJSON() ([]byte, error) { type parsedSegment (line 26) | type parsedSegment struct function parseSegment (line 32) | func parseSegment(seg *recordstore.Segment) (*parsedSegment, error) { function parseSegments (line 60) | func parseSegments(segments []*recordstore.Segment) ([]*parsedSegment, e... function urlScheme (line 87) | func urlScheme(ctx *gin.Context, trustedProxies conf.IPNetworks, encrypt... type listEntry (line 102) | type listEntry struct function concatenateSegments (line 108) | func concatenateSegments(parsed []*parsedSegment) []listEntry { function parseAndConcatenate (line 134) | func parseAndConcatenate( method onList (line 151) | func (s *Server) onList(ctx *gin.Context) { FILE: internal/playback/on_list_test.go function TestOnList (line 24) | func TestOnList(t *testing.T) { function writeDuration (line 194) | func writeDuration(f io.ReadWriteSeeker, d time.Duration) error { function TestOnListCachedDuration (line 258) | func TestOnListCachedDuration(t *testing.T) { function TestOnListXForwardedProto (line 340) | func TestOnListXForwardedProto(t *testing.T) { FILE: internal/playback/segment_fmp4.go constant sampleFlagIsNonSyncSample (line 17) | sampleFlagIsNonSyncSample = 1 << 16 constant concatenationTolerance (line 18) | concatenationTolerance = 1 * time.Second type readSeekerAt (line 23) | type readSeekerAt interface function durationGoToMp4 (line 29) | func durationGoToMp4(v time.Duration, timeScale uint32) int64 { function durationMp4ToGo (line 36) | func durationMp4ToGo(v int64, timeScale uint32) time.Duration { function findInitTrack (line 43) | func findInitTrack(tracks []*fmp4.InitTrack, id int) *fmp4.InitTrack { function findMtxi (line 52) | func findMtxi(userData []amp4.IBox) *recordstore.Mtxi { function segmentFMP4TracksAreEqual (line 61) | func segmentFMP4TracksAreEqual(tracks1 []*fmp4.InitTrack, tracks2 []*fmp... function segmentFMP4CanBeConcatenated (line 79) | func segmentFMP4CanBeConcatenated( function segmentFMP4ReadHeader (line 106) | func segmentFMP4ReadHeader(r io.ReadSeeker) (*fmp4.Init, time.Duration, ... function segmentFMP4ReadDurationFromParts (line 181) | func segmentFMP4ReadDurationFromParts( function segmentFMP4MuxParts (line 418) | func segmentFMP4MuxParts( FILE: internal/playback/segment_fmp4_test.go function writeBenchInit (line 18) | func writeBenchInit(f io.WriteSeeker) { function BenchmarkFMP4ReadHeader (line 56) | func BenchmarkFMP4ReadHeader(b *testing.B) { function TestSegmentFMP4CanBeConcatenated (line 82) | func TestSegmentFMP4CanBeConcatenated(t *testing.T) { FILE: internal/playback/server.go type serverAuthManager (line 18) | type serverAuthManager interface type Server (line 23) | type Server struct method Initialize (line 42) | func (s *Server) Initialize() error { method Close (line 75) | func (s *Server) Close() { method Log (line 81) | func (s *Server) Log(level logger.Level, format string, args ...any) { method ReloadPathConfs (line 86) | func (s *Server) ReloadPathConfs(pathConfs map[string]*conf.Path) { method writeError (line 92) | func (s *Server) writeError(ctx *gin.Context, status int, err error) { method safeFindPathConf (line 100) | func (s *Server) safeFindPathConf(name string) (*conf.Path, error) { method middlewarePreflightRequests (line 108) | func (s *Server) middlewarePreflightRequests(ctx *gin.Context) { method doAuth (line 118) | func (s *Server) doAuth(ctx *gin.Context, pathName string) bool { FILE: internal/playback/server_test.go function TestPreflightRequest (line 18) | func TestPreflightRequest(t *testing.T) { function TestAuthError (line 55) | func TestAuthError(t *testing.T) { FILE: internal/pprof/pprof.go type pprofAuthManager (line 19) | type pprofAuthManager interface type pprofParent (line 23) | type pprofParent interface type PPROF (line 28) | type PPROF struct method Initialize (line 45) | func (pp *PPROF) Initialize() error { method Close (line 78) | func (pp *PPROF) Close() { method Log (line 84) | func (pp *PPROF) Log(level logger.Level, format string, args ...any) { method middlewarePreflightRequests (line 88) | func (pp *PPROF) middlewarePreflightRequests(ctx *gin.Context) { method middlewareAuth (line 98) | func (pp *PPROF) middlewareAuth(ctx *gin.Context) { FILE: internal/pprof/pprof_test.go function TestPreflightRequest (line 17) | func TestPreflightRequest(t *testing.T) { function TestPprof (line 54) | func TestPprof(t *testing.T) { function TestAuthError (line 97) | func TestAuthError(t *testing.T) { FILE: internal/protocols/hls/from_stream.go function setupVideoTrack (line 23) | func setupVideoTrack( function setupAudioTracks (line 180) | func setupAudioTracks( function FromStream (line 290) | func FromStream( FILE: internal/protocols/hls/from_stream_test.go function TestFromStreamNoSupportedCodecs (line 16) | func TestFromStreamNoSupportedCodecs(t *testing.T) { function TestFromStreamSkipUnsupportedTracks (line 34) | func TestFromStreamSkipUnsupportedTracks(t *testing.T) { FILE: internal/protocols/hls/to_stream.go type ntpState (line 17) | type ntpState constant ntpStateInitial (line 20) | ntpStateInitial ntpState = iota constant ntpStateUnavailable (line 21) | ntpStateUnavailable constant ntpStateAvailable (line 22) | ntpStateAvailable constant ntpStateReplace (line 23) | ntpStateReplace function multiplyAndDivide (line 26) | func multiplyAndDivide(v, m, d int64) int64 { function ToStream (line 33) | func ToStream( FILE: internal/protocols/hls/to_stream_test.go function TestToStreamNoSupportedCodecs (line 22) | func TestToStreamNoSupportedCodecs(t *testing.T) { function TestToStream (line 30) | func TestToStream(t *testing.T) { FILE: internal/protocols/httpp/content_type.go function ParseContentType (line 6) | func ParseContentType(v string) string { FILE: internal/protocols/httpp/credentials.go function Credentials (line 11) | func Credentials(h *http.Request) *auth.Credentials { FILE: internal/protocols/httpp/credentials_test.go function TestCredentials (line 12) | func TestCredentials(t *testing.T) { FILE: internal/protocols/httpp/handler_exit_on_panic.go type handlerExitOnPanic (line 12) | type handlerExitOnPanic struct method ServeHTTP (line 16) | func (h *handlerExitOnPanic) ServeHTTP(w http.ResponseWriter, r *http.... FILE: internal/protocols/httpp/handler_filter_requests.go type handlerFilterRequests (line 8) | type handlerFilterRequests struct method ServeHTTP (line 12) | func (h *handlerFilterRequests) ServeHTTP(w http.ResponseWriter, r *ht... FILE: internal/protocols/httpp/handler_filter_requests_test.go function TestHandlerFilterRequests (line 14) | func TestHandlerFilterRequests(t *testing.T) { FILE: internal/protocols/httpp/handler_logger.go type loggerWriter (line 12) | type loggerWriter struct method Header (line 18) | func (w *loggerWriter) Header() http.Header { method Write (line 22) | func (w *loggerWriter) Write(b []byte) (int, error) { method WriteHeader (line 30) | func (w *loggerWriter) WriteHeader(statusCode int) { method dump (line 35) | func (w *loggerWriter) dump() string { type handlerLogger (line 47) | type handlerLogger struct method ServeHTTP (line 52) | func (h *handlerLogger) ServeHTTP(w http.ResponseWriter, r *http.Reque... FILE: internal/protocols/httpp/handler_origin.go function isOriginAllowed (line 11) | func isOriginAllowed(origin string, allowOrigins []string) (string, bool) { type handlerOrigin (line 75) | type handlerOrigin struct method ServeHTTP (line 80) | func (h *handlerOrigin) ServeHTTP(w http.ResponseWriter, r *http.Reque... FILE: internal/protocols/httpp/handler_origin_test.go function TestHandlerOrigin (line 12) | func TestHandlerOrigin(t *testing.T) { FILE: internal/protocols/httpp/handler_server_header.go type handlerServerHeader (line 8) | type handlerServerHeader struct method ServeHTTP (line 12) | func (h *handlerServerHeader) ServeHTTP(w http.ResponseWriter, r *http... FILE: internal/protocols/httpp/handler_tracker.go type handlerTracker (line 8) | type handlerTracker struct method close (line 16) | func (h *handlerTracker) close() { method ServeHTTP (line 23) | func (h *handlerTracker) ServeHTTP(w http.ResponseWriter, r *http.Requ... FILE: internal/protocols/httpp/handler_tracker_test.go function TestHandlerTracker (line 12) | func TestHandlerTracker(t *testing.T) { FILE: internal/protocols/httpp/handler_write_timeout.go type writeTimeoutWriter (line 8) | type writeTimeoutWriter struct method Header (line 14) | func (w *writeTimeoutWriter) Header() http.Header { method Write (line 18) | func (w *writeTimeoutWriter) Write(p []byte) (int, error) { method WriteHeader (line 23) | func (w *writeTimeoutWriter) WriteHeader(statusCode int) { type handlerWriteTimeout (line 31) | type handlerWriteTimeout struct method ServeHTTP (line 36) | func (h *handlerWriteTimeout) ServeHTTP(w http.ResponseWriter, r *http... FILE: internal/protocols/httpp/remote_addr.go function RemoteAddr (line 11) | func RemoteAddr(ctx *gin.Context) string { FILE: internal/protocols/httpp/server.go type nilWriter (line 20) | type nilWriter struct method Write (line 22) | func (nilWriter) Write(p []byte) (int, error) { type Server (line 33) | type Server struct method Initialize (line 53) | func (s *Server) Initialize() error { method Close (line 146) | func (s *Server) Close() { FILE: internal/protocols/httpp/server_test.go function TestUnixSocket (line 16) | func TestUnixSocket(t *testing.T) { FILE: internal/protocols/mpegts/enhanced_reader.go type EnhancedReader (line 15) | type EnhancedReader struct method Initialize (line 24) | func (r *EnhancedReader) Initialize() error { FILE: internal/protocols/mpegts/from_stream.go function multiplyAndDivide (line 25) | func multiplyAndDivide(v, m, d int64) int64 { function FromStream (line 32) | func FromStream( FILE: internal/protocols/mpegts/from_stream_test.go function TestFromStreamNoSupportedCodecs (line 15) | func TestFromStreamNoSupportedCodecs(t *testing.T) { function TestFromStreamSkipUnsupportedTracks (line 31) | func TestFromStreamSkipUnsupportedTracks(t *testing.T) { FILE: internal/protocols/mpegts/to_stream.go function ToStream (line 25) | func ToStream( FILE: internal/protocols/mpegts/to_stream_test.go function TestToStream (line 18) | func TestToStream(t *testing.T) { function TestToStreamNoSupportedCodecs (line 153) | func TestToStreamNoSupportedCodecs(t *testing.T) { function TestToStreamSkipUnsupportedTracks (line 179) | func TestToStreamSkipUnsupportedTracks(t *testing.T) { FILE: internal/protocols/rtmp/from_stream.go function multiplyAndDivide2 (line 30) | func multiplyAndDivide2(v, m, d time.Duration) time.Duration { function timestampToDuration (line 36) | func timestampToDuration(t int64, clockRate int) time.Duration { function FromStream (line 41) | func FromStream( FILE: internal/protocols/rtmp/from_stream_test.go function TestFromStream (line 54) | func TestFromStream(t *testing.T) { function TestFromStreamLegacyClientMultipleTracks (line 634) | func TestFromStreamLegacyClientMultipleTracks(t *testing.T) { function TestFromStreamNoSupportedCodecs (line 791) | func TestFromStreamNoSupportedCodecs(t *testing.T) { function TestFromStreamSkipUnsupportedTracks (line 809) | func TestFromStreamSkipUnsupportedTracks(t *testing.T) { FILE: internal/protocols/rtmp/to_stream.go function multiplyAndDivide (line 20) | func multiplyAndDivide(v, m, d int64) int64 { function durationToTimestamp (line 26) | func durationToTimestamp(d time.Duration, clockRate int) int64 { function fourCCToString (line 30) | func fourCCToString(c message.FourCC) string { function ToStream (line 35) | func ToStream( FILE: internal/protocols/rtmp/to_stream_test.go function TestToStreamNoSupportedCodecs (line 10) | func TestToStreamNoSupportedCodecs(t *testing.T) { FILE: internal/protocols/rtsp/credentials.go function Credentials (line 10) | func Credentials(rt *base.Request) *auth.Credentials { FILE: internal/protocols/rtsp/credentials_test.go function TestCredentials (line 11) | func TestCredentials(t *testing.T) { FILE: internal/protocols/rtsp/to_stream.go type ntpState (line 17) | type ntpState constant ntpStateInitial (line 20) | ntpStateInitial ntpState = iota constant ntpStateReplace (line 21) | ntpStateReplace constant ntpStateAvailable (line 22) | ntpStateAvailable type rtspSource (line 25) | type rtspSource interface function ToStream (line 32) | func ToStream( FILE: internal/protocols/tls/make_config.go function MakeConfig (line 15) | func MakeConfig(serverName string, fingerprint string) *tls.Config { FILE: internal/protocols/tls/make_config_test.go function TestMakeConfigSNI (line 63) | func TestMakeConfigSNI(t *testing.T) { function TestMakeConfigFingerprint (line 101) | func TestMakeConfigFingerprint(t *testing.T) { FILE: internal/protocols/udp/listener.go type packetConn (line 15) | type packetConn interface function defaultInterfaceForMulticast (line 21) | func defaultInterfaceForMulticast(multicastAddr *net.UDPAddr) (*net.Inte... type Listener (line 60) | type Listener struct method Initialize (line 72) | func (l *Listener) Initialize() error { method Close (line 129) | func (l *Listener) Close() error { method Read (line 134) | func (l *Listener) Read(p []byte) (int, error) { method Write (line 147) | func (l *Listener) Write(_ []byte) (int, error) { method LocalAddr (line 152) | func (l *Listener) LocalAddr() net.Addr { method RemoteAddr (line 157) | func (l *Listener) RemoteAddr() net.Addr { method SetDeadline (line 162) | func (l *Listener) SetDeadline(_ time.Time) error { method SetReadDeadline (line 167) | func (l *Listener) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 172) | func (l *Listener) SetWriteDeadline(_ time.Time) error { FILE: internal/protocols/udp/listener_test.go function TestListen (line 11) | func TestListen(t *testing.T) { FILE: internal/protocols/udp/params.go type Params (line 6) | type Params struct function URLToParams (line 13) | func URLToParams(u *url.URL) *Params { FILE: internal/protocols/unix/listener.go type Listener (line 13) | type Listener struct method Initialize (line 24) | func (l *Listener) Initialize() error { method Close (line 41) | func (l *Listener) Close() error { method acceptWithDeadline (line 56) | func (l *Listener) acceptWithDeadline() (net.Conn, error) { method setConn (line 83) | func (l *Listener) setConn(c net.Conn) error { method Read (line 95) | func (l *Listener) Read(p []byte) (int, error) { method Write (line 113) | func (l *Listener) Write(_ []byte) (int, error) { method LocalAddr (line 118) | func (l *Listener) LocalAddr() net.Addr { method RemoteAddr (line 123) | func (l *Listener) RemoteAddr() net.Addr { method SetDeadline (line 128) | func (l *Listener) SetDeadline(_ time.Time) error { method SetReadDeadline (line 133) | func (l *Listener) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 139) | func (l *Listener) SetWriteDeadline(_ time.Time) error { FILE: internal/protocols/unix/listener_test.go function TestListen (line 12) | func TestListen(t *testing.T) { FILE: internal/protocols/unix/params.go type Params (line 6) | type Params struct function URLToParams (line 11) | func URLToParams(u *url.URL) *Params { FILE: internal/protocols/webrtc/from_stream.go constant webrtcPayloadMaxSize (line 28) | webrtcPayloadMaxSize = 1188 function ptrOf (line 44) | func ptrOf[T any](v T) *T { function randUint32 (line 50) | func randUint32() (uint32, error) { function multiplyAndDivide2 (line 59) | func multiplyAndDivide2(v, m, d time.Duration) time.Duration { function timestampToDuration (line 65) | func timestampToDuration(t int64, clockRate int) time.Duration { function setupVideoTrack (line 69) | func setupVideoTrack( function setupAudioTrack (line 325) | func setupAudioTrack( function setupKLVDataChannel (line 641) | func setupKLVDataChannel( function FromStream (line 672) | func FromStream( FILE: internal/protocols/webrtc/from_stream_test.go function TestFromStreamNoSupportedCodecs (line 18) | func TestFromStreamNoSupportedCodecs(t *testing.T) { function TestFromStreamSkipUnsupportedTracks (line 36) | func TestFromStreamSkipUnsupportedTracks(t *testing.T) { function TestFromStream (line 68) | func TestFromStream(t *testing.T) { function TestFromStreamResampleOpus (line 88) | func TestFromStreamResampleOpus(t *testing.T) { FILE: internal/protocols/webrtc/incoming_track.go constant keyFrameInterval (line 16) | keyFrameInterval = 2 * time.Second constant mimeTypeMultiopus (line 17) | mimeTypeMultiopus = "audio/multiopus" constant mimeTypeL16 (line 18) | mimeTypeL16 = "audio/L16" type IncomingTrack (line 238) | type IncomingTrack struct method initialize (line 251) | func (t *IncomingTrack) initialize() { method Codec (line 256) | func (t *IncomingTrack) Codec() webrtc.RTPCodecParameters { method ClockRate (line 261) | func (t *IncomingTrack) ClockRate() int { method PTSEqualsDTS (line 266) | func (*IncomingTrack) PTSEqualsDTS(*rtp.Packet) bool { method start (line 270) | func (t *IncomingTrack) start() { method PacketNTP (line 368) | func (t *IncomingTrack) PacketNTP(pkt *rtp.Packet) (time.Time, bool) { method close (line 372) | func (t *IncomingTrack) close() { FILE: internal/protocols/webrtc/net.go type webrtcNet (line 11) | type webrtcNet struct method initialize (line 17) | func (n *webrtcNet) initialize() error { method ListenUDP (line 27) | func (n *webrtcNet) ListenUDP(network string, laddr *net.UDPAddr) (tra... FILE: internal/protocols/webrtc/outgoing_data_channel.go type OutgoingDataChannel (line 8) | type OutgoingDataChannel struct method setup (line 14) | func (c *OutgoingDataChannel) setup(p *PeerConnection) error { method Write (line 27) | func (c *OutgoingDataChannel) Write(data []byte) { FILE: internal/protocols/webrtc/outgoing_track.go type OutgoingTrack (line 14) | type OutgoingTrack struct method isVideo (line 22) | func (t *OutgoingTrack) isVideo() bool { method setup (line 26) | func (t *OutgoingTrack) setup(p *PeerConnection) error { method close (line 80) | func (t *OutgoingTrack) close() { method WriteRTP (line 87) | func (t *OutgoingTrack) WriteRTP(pkt *rtp.Packet) error { method WriteRTPWithNTP (line 92) | func (t *OutgoingTrack) WriteRTPWithNTP(pkt *rtp.Packet, ntp time.Time... FILE: internal/protocols/webrtc/peer_connection.go constant webrtcStreamID (line 25) | webrtcStreamID = "mediamtx" function interfaceIPs (line 28) | func interfaceIPs(interfaceList []string) ([]string, error) { function maxTrackCount (line 62) | func maxTrackCount(medias []*sdp.MediaDescription) int { function registerInterceptors (line 83) | func registerInterceptors( function candidateLabel (line 110) | func candidateLabel(c *webrtc.ICECandidate) string { function TracksAreValid (line 116) | func TracksAreValid(medias []*sdp.MediaDescription) error { type trackRecvPair (line 146) | type trackRecvPair struct type PeerConnection (line 152) | type PeerConnection struct method Start (line 185) | func (co *PeerConnection) Start() error { method Close (line 442) | func (co *PeerConnection) Close() { method run (line 447) | func (co *PeerConnection) run() { method removeUnwantedCandidates (line 481) | func (co *PeerConnection) removeUnwantedCandidates(firstMedia *sdp.Med... method addAdditionalCandidates (line 516) | func (co *PeerConnection) addAdditionalCandidates(firstMedia *sdp.Medi... method filterLocalDescription (line 590) | func (co *PeerConnection) filterLocalDescription(desc *webrtc.SessionD... method CreatePartialOffer (line 613) | func (co *PeerConnection) CreatePartialOffer() (*webrtc.SessionDescrip... method SetAnswer (line 634) | func (co *PeerConnection) SetAnswer(answer *webrtc.SessionDescription)... method AddRemoteCandidate (line 639) | func (co *PeerConnection) AddRemoteCandidate(candidate *webrtc.ICECand... method CreateFullAnswer (line 644) | func (co *PeerConnection) CreateFullAnswer(offer *webrtc.SessionDescri... method waitGatheringDone (line 679) | func (co *PeerConnection) waitGatheringDone() error { method WaitUntilConnected (line 692) | func (co *PeerConnection) WaitUntilConnected(timeout time.Duration) er... method GatherIncomingTracks (line 714) | func (co *PeerConnection) GatherIncomingTracks(timeout time.Duration) ... method Connected (line 756) | func (co *PeerConnection) Connected() <-chan struct{} { method Failed (line 761) | func (co *PeerConnection) Failed() <-chan struct{} { method NewLocalCandidate (line 766) | func (co *PeerConnection) NewLocalCandidate() <-chan *webrtc.ICECandid... method GatheringDone (line 771) | func (co *PeerConnection) GatheringDone() <-chan struct{} { method IncomingTracks (line 776) | func (co *PeerConnection) IncomingTracks() []*IncomingTrack { method StartReading (line 781) | func (co *PeerConnection) StartReading() { method LocalCandidate (line 789) | func (co *PeerConnection) LocalCandidate() string { method RemoteCandidate (line 804) | func (co *PeerConnection) RemoteCandidate() string { method Stats (line 830) | func (co *PeerConnection) Stats() *Stats { function bytesStats (line 818) | func bytesStats(wr *webrtc.PeerConnection) (uint64, uint64) { FILE: internal/protocols/webrtc/peer_connection_test.go type nilWriter (line 21) | type nilWriter struct method Write (line 23) | func (nilWriter) Write(p []byte) (int, error) { function gatherCodecs (line 29) | func gatherCodecs(tracks []*IncomingTrack) []webrtc.RTPCodecParameters { function TestPeerConnectionCloseImmediately (line 37) | func TestPeerConnectionCloseImmediately(t *testing.T) { function TestPeerConnectionCloseImmediately2 (line 49) | func TestPeerConnectionCloseImmediately2(t *testing.T) { function TestPeerConnectionCandidates (line 67) | func TestPeerConnectionCandidates(t *testing.T) { function TestPeerConnectionConnectivity (line 164) | func TestPeerConnectionConnectivity(t *testing.T) { function TestPeerConnectionRead (line 280) | func TestPeerConnectionRead(t *testing.T) { function TestPeerConnectionReadSimulcast (line 427) | func TestPeerConnectionReadSimulcast(t *testing.T) { function TestPeerConnectionPublishRead (line 580) | func TestPeerConnectionPublishRead(t *testing.T) { function TestPeerConnectionFallbackCodecs (line 679) | func TestPeerConnectionFallbackCodecs(t *testing.T) { function TestPeerConnectionPublishDataChannel (line 740) | func TestPeerConnectionPublishDataChannel(t *testing.T) { FILE: internal/protocols/webrtc/stats.go type Stats (line 4) | type Stats struct FILE: internal/protocols/webrtc/stats_interceptor.go type statsInterceptor (line 10) | type statsInterceptor struct method Close (line 15) | func (*statsInterceptor) Close() error { method BindRTCPReader (line 19) | func (s *statsInterceptor) BindRTCPReader(reader interceptor.RTCPReade... method BindRTCPWriter (line 34) | func (s *statsInterceptor) BindRTCPWriter(writer interceptor.RTCPWrite... method BindLocalStream (line 41) | func (s *statsInterceptor) BindLocalStream(_ *interceptor.StreamInfo, method UnbindLocalStream (line 47) | func (*statsInterceptor) UnbindLocalStream(_ *interceptor.StreamInfo) {} method BindRemoteStream (line 49) | func (s *statsInterceptor) BindRemoteStream(_ *interceptor.StreamInfo, method UnbindRemoteStream (line 55) | func (*statsInterceptor) UnbindRemoteStream(_ *interceptor.StreamInfo) {} type statsInterceptorFactory (line 57) | type statsInterceptorFactory struct method NewInterceptor (line 61) | func (f *statsInterceptorFactory) NewInterceptor(_ string) (intercepto... FILE: internal/protocols/webrtc/tcp_mux_wrapper.go type TCPMuxWrapper (line 10) | type TCPMuxWrapper struct FILE: internal/protocols/webrtc/to_stream.go type ntpState (line 20) | type ntpState constant ntpStateInitial (line 23) | ntpStateInitial ntpState = iota constant ntpStateReplace (line 24) | ntpStateReplace constant ntpStateAvailable (line 25) | ntpStateAvailable function ToStream (line 33) | func ToStream( FILE: internal/protocols/webrtc/to_stream_test.go function TestToStreamNoSupportedCodecs (line 16) | func TestToStreamNoSupportedCodecs(t *testing.T) { function TestToStream (line 334) | func TestToStream(t *testing.T) { FILE: internal/protocols/websocket/serverconn.go type ServerConn (line 28) | type ServerConn struct method Close (line 59) | func (c *ServerConn) Close() { method RemoteAddr (line 65) | func (c *ServerConn) RemoteAddr() net.Addr { method run (line 69) | func (c *ServerConn) run() { method ReadJSON (line 98) | func (c *ServerConn) ReadJSON(in any) error { method WriteJSON (line 103) | func (c *ServerConn) WriteJSON(in any) error { function NewServerConn (line 40) | func NewServerConn(w http.ResponseWriter, req *http.Request) (*ServerCon... FILE: internal/protocols/websocket/serverconn_test.go function TestServerConn (line 14) | func TestServerConn(t *testing.T) { FILE: internal/protocols/whip/client.go type Client (line 22) | type Client struct method Initialize (line 39) | func (c *Client) Initialize(ctx context.Context) error { method initializeInner (line 93) | func (c *Client) initializeInner(ctx context.Context) error { method PeerConnection (line 166) | func (c *Client) PeerConnection() *webrtc.PeerConnection { method IncomingTracks (line 171) | func (c *Client) IncomingTracks() []*webrtc.IncomingTrack { method StartReading (line 176) | func (c *Client) StartReading() { method Close (line 181) | func (c *Client) Close() error { method Wait (line 188) | func (c *Client) Wait() error { method optionsICEServers (line 193) | func (c *Client) optionsICEServers( method postOffer (line 224) | func (c *Client) postOffer( method patchCandidate (line 280) | func (c *Client) patchCandidate( method deleteSession (line 320) | func (c *Client) deleteSession( type whipPostOfferResponse (line 218) | type whipPostOfferResponse struct FILE: internal/protocols/whip/client_test.go function whipOffer (line 20) | func whipOffer(body []byte) *pwebrtc.SessionDescription { function gatherCodecs (line 27) | func gatherCodecs(tracks []*webrtc.IncomingTrack) []pwebrtc.RTPCodecPara... function TestClientRead (line 35) | func TestClientRead(t *testing.T) { function TestClientPublish (line 238) | func TestClientPublish(t *testing.T) { function TestClientBearerToken (line 439) | func TestClientBearerToken(t *testing.T) { FILE: internal/protocols/whip/ice_fragment.go function ICEFragmentUnmarshal (line 12) | func ICEFragmentUnmarshal(buf []byte) ([]*webrtc.ICECandidateInit, error) { function ICEFragmentMarshal (line 51) | func ICEFragmentMarshal(offer string, candidates []*webrtc.ICECandidateI... FILE: internal/protocols/whip/ice_fragment_test.go function ptrOf (line 10) | func ptrOf[T any](v T) *T { function TestICEFragmentUnmarshal (line 188) | func TestICEFragmentUnmarshal(t *testing.T) { function TestICEFragmentMarshal (line 198) | func TestICEFragmentMarshal(t *testing.T) { FILE: internal/protocols/whip/link_header.go function quoteCredential (line 11) | func quoteCredential(v string) string { function unquoteCredential (line 17) | func unquoteCredential(v string) string { function LinkHeaderMarshal (line 24) | func LinkHeaderMarshal(iceServers []webrtc.ICEServer) []string { function LinkHeaderUnmarshal (line 43) | func LinkHeaderUnmarshal(link []string) ([]webrtc.ICEServer, error) { FILE: internal/protocols/whip/link_header_test.go function TestLinkHeaderUnmarshal (line 35) | func TestLinkHeaderUnmarshal(t *testing.T) { function TestLinkHeaderMarshal (line 45) | func TestLinkHeaderMarshal(t *testing.T) { FILE: internal/recordcleaner/cleaner.go type Cleaner (line 20) | type Cleaner struct method Initialize (line 32) | func (c *Cleaner) Initialize() { method Close (line 41) | func (c *Cleaner) Close() { method Log (line 47) | func (c *Cleaner) Log(level logger.Level, format string, args ...any) { method ReloadPathConfs (line 52) | func (c *Cleaner) ReloadPathConfs(pathConfs map[string]*conf.Path) { method run (line 59) | func (c *Cleaner) run() { method cleanInterval (line 78) | func (c *Cleaner) cleanInterval() time.Duration { method doRun (line 91) | func (c *Cleaner) doRun() { method processPath (line 101) | func (c *Cleaner) processPath(now time.Time, pathName string) error { method deleteExpiredSegments (line 121) | func (c *Cleaner) deleteExpiredSegments(now time.Time, pathName string... method deleteEmptyDirs (line 136) | func (c *Cleaner) deleteEmptyDirs(pathConf *conf.Path) { FILE: internal/recordcleaner/cleaner_test.go function TestCleaner (line 15) | func TestCleaner(t *testing.T) { function TestCleanerMultipleEntriesSamePath (line 59) | func TestCleanerMultipleEntriesSamePath(t *testing.T) { FILE: internal/recorder/format.go type format (line 3) | type format interface FILE: internal/recorder/format_fmp4.go function mpeg1audioChannelCount (line 79) | func mpeg1audioChannelCount(cm mpeg1audio.ChannelMode) int { function jpegExtractSize (line 91) | func jpegExtractSize(image []byte) (int, int, error) { type formatFMP4Sample (line 146) | type formatFMP4Sample struct type formatFMP4 (line 152) | type formatFMP4 struct method initialize (line 161) | func (f *formatFMP4) initialize() bool { method updateCodecParams (line 936) | func (f *formatFMP4) updateCodecParams() { method close (line 940) | func (f *formatFMP4) close() { FILE: internal/recorder/format_fmp4_part.go function writePart (line 13) | func writePart( type formatFMP4Part (line 40) | type formatFMP4Part struct method initialize (line 51) | func (p *formatFMP4Part) initialize() { method close (line 55) | func (p *formatFMP4Part) close(w io.Writer) error { method write (line 59) | func (p *formatFMP4Part) write(track *formatFMP4Track, sample *formatF... method duration (line 86) | func (p *formatFMP4Part) duration() time.Duration { FILE: internal/recorder/format_fmp4_segment.go function writeInit (line 19) | func writeInit( function writeDuration (line 57) | func writeDuration(f io.ReadWriteSeeker, d time.Duration) error { type formatFMP4Segment (line 121) | type formatFMP4Segment struct method initialize (line 134) | func (s *formatFMP4Segment) initialize() { method close (line 138) | func (s *formatFMP4Segment) close() error { method closeCurPart (line 168) | func (s *formatFMP4Segment) closeCurPart() error { method write (line 203) | func (s *formatFMP4Segment) write(track *formatFMP4Track, sample *form... FILE: internal/recorder/format_fmp4_track.go constant maxBasetime (line 14) | maxBasetime = 1 * time.Second function nextSegmentStartingPos (line 19) | func nextSegmentStartingPos(tracks []*formatFMP4Track) (time.Time, time.... type formatFMP4Track (line 46) | type formatFMP4Track struct method initialize (line 59) | func (t *formatFMP4Track) initialize() { method write (line 67) | func (t *formatFMP4Track) write(sample *formatFMP4Sample) error { FILE: internal/recorder/format_mpegts.go constant mpegtsBufferSize (line 26) | mpegtsBufferSize = 64 * 1024 function multiplyAndDivide (line 29) | func multiplyAndDivide(v, m, d int64) int64 { function multiplyAndDivide2 (line 35) | func multiplyAndDivide2(v, m, d time.Duration) time.Duration { function timestampToDuration (line 41) | func timestampToDuration(t int64, clockRate int) time.Duration { type dynamicWriter (line 45) | type dynamicWriter struct method Write (line 49) | func (d *dynamicWriter) Write(p []byte) (int, error) { method setTarget (line 53) | func (d *dynamicWriter) setTarget(w io.Writer) { type formatMPEGTS (line 57) | type formatMPEGTS struct method initialize (line 67) | func (f *formatMPEGTS) initialize() bool { method close (line 448) | func (f *formatMPEGTS) close() { FILE: internal/recorder/format_mpegts_segment.go type formatMPEGTSSegment (line 12) | type formatMPEGTSSegment struct method initialize (line 27) | func (s *formatMPEGTSSegment) initialize() { method close (line 32) | func (s *formatMPEGTSSegment) close() error { method Write (line 51) | func (s *formatMPEGTSSegment) Write(p []byte) (int, error) { FILE: internal/recorder/format_mpegts_track.go type formatMPEGTSTrack (line 11) | type formatMPEGTSTrack struct method initialize (line 21) | func (t *formatMPEGTSTrack) initialize() { method write (line 27) | func (t *formatMPEGTSTrack) write( FILE: internal/recorder/recorder.go constant ntpDriftTolerance (line 13) | ntpDriftTolerance = 5 * time.Second type Recorder (line 23) | type Recorder struct method Initialize (line 44) | func (r *Recorder) Initialize() { method Log (line 78) | func (r *Recorder) Log(level logger.Level, format string, args ...any) { method Close (line 83) | func (r *Recorder) Close() { method run (line 89) | func (r *Recorder) run() { FILE: internal/recorder/recorder_instance.go type recorderInstance (line 15) | type recorderInstance struct method Log (line 38) | func (ri *recorderInstance) Log(level logger.Level, format string, arg... method initialize (line 42) | func (ri *recorderInstance) initialize() { method close (line 80) | func (ri *recorderInstance) close() { method run (line 85) | func (ri *recorderInstance) run() { FILE: internal/recorder/recorder_test.go function TestRecorder (line 26) | func TestRecorder(t *testing.T) { function TestRecorderFMP4NegativeInitialDTS (line 402) | func TestRecorderFMP4NegativeInitialDTS(t *testing.T) { function TestRecorderFMP4NegativeDTSDiff (line 504) | func TestRecorderFMP4NegativeDTSDiff(t *testing.T) { function TestRecorderSkipTracksPartial (line 608) | func TestRecorderSkipTracksPartial(t *testing.T) { function TestRecorderSkipTracksFull (line 680) | func TestRecorderSkipTracksFull(t *testing.T) { function TestRecorderFMP4SegmentSwitch (line 748) | func TestRecorderFMP4SegmentSwitch(t *testing.T) { function TestRecorderTimeDriftDetector (line 862) | func TestRecorderTimeDriftDetector(t *testing.T) { FILE: internal/recordstore/mp4_boxes.go function boxTypeMtxi (line 7) | func boxTypeMtxi() amp4.BoxType { return amp4.StrToBoxType("mtxi") } function init (line 9) | func init() { //nolint:gochecknoinits type Mtxi (line 14) | type Mtxi struct method GetType (line 23) | func (*Mtxi) GetType() amp4.BoxType { FILE: internal/recordstore/path.go function leadingZeros (line 12) | func leadingZeros(v int, size int) string { function timeLocationEncode (line 26) | func timeLocationEncode(t time.Time) string { function timeLocationDecode (line 48) | func timeLocationDecode(s string) *time.Location { function PathAddExtension (line 69) | func PathAddExtension(path string, format conf.RecordFormat) string { function CommonPath (line 80) | func CommonPath(v string) string { type Path (line 108) | type Path struct method Decode (line 114) | func (p *Path) Decode(format string, v string) bool { method Encode (line 250) | func (p Path) Encode(format string) string { FILE: internal/recordstore/path_test.go function TestPathDecode (line 72) | func TestPathDecode(t *testing.T) { function TestPathEncode (line 83) | func TestPathEncode(t *testing.T) { FILE: internal/recordstore/segment.go type Segment (line 20) | type Segment struct function fixedPathHasSegments (line 25) | func fixedPathHasSegments(pathConf *conf.Path) bool { function regexpPathFindPathsWithSegments (line 59) | func regexpPathFindPathsWithSegments(pathConf *conf.Path) map[string]str... function FindAllPathsWithSegments (line 96) | func FindAllPathsWithSegments(pathConfs map[string]*conf.Path) []string { function FindSegments (line 124) | func FindSegments( FILE: internal/recordstore/segment_test.go function ptrOf (line 14) | func ptrOf[T any](v T) *T { function TestFindAllPathsWithSegments (line 20) | func TestFindAllPathsWithSegments(t *testing.T) { function TestFindAllPathsWithSegmentsInvalidPath (line 53) | func TestFindAllPathsWithSegmentsInvalidPath(t *testing.T) { function TestFindSegments (line 72) | func TestFindSegments(t *testing.T) { FILE: internal/restrictnetwork/restrict_network.go function Restrict (line 9) | func Restrict(network string, address string) (string, string) { FILE: internal/rlimit/rlimit_unix.go function Raise (line 11) | func Raise() error { FILE: internal/rlimit/rlimit_win.go function Raise (line 5) | func Raise() error { FILE: internal/servers/hls/hlsjsdownloader/main.go function do (line 18) | func do() error { function main (line 75) | func main() { FILE: internal/servers/hls/http_server.go function mergePathAndQuery (line 29) | func mergePathAndQuery(path string, rawQuery string) string { type httpServer (line 37) | type httpServer struct method initialize (line 53) | func (s *httpServer) initialize() error { method Log (line 83) | func (s *httpServer) Log(level logger.Level, format string, args ...an... method close (line 87) | func (s *httpServer) close() { method middlewarePreflightRequests (line 91) | func (s *httpServer) middlewarePreflightRequests(ctx *gin.Context) { method onRequest (line 101) | func (s *httpServer) onRequest(ctx *gin.Context) { FILE: internal/servers/hls/muxer.go constant closeCheckPeriod (line 21) | closeCheckPeriod = 1 * time.Second constant recreatePause (line 22) | recreatePause = 10 * time.Second function ptrOf (line 25) | func ptrOf[T any](v T) *T { function emptyTimer (line 31) | func emptyTimer() *time.Timer { type responseWriterWithCounter (line 37) | type responseWriterWithCounter struct method Write (line 42) | func (w *responseWriterWithCounter) Write(p []byte) (int, error) { type muxerGetInstanceRes (line 48) | type muxerGetInstanceRes struct type muxerGetInstanceReq (line 53) | type muxerGetInstanceReq struct type muxer (line 57) | type muxer struct method initialize (line 84) | func (m *muxer) initialize() { method Close (line 105) | func (m *muxer) Close() { method Log (line 110) | func (m *muxer) Log(level logger.Level, format string, args ...any) { method PathName (line 115) | func (m *muxer) PathName() string { method run (line 119) | func (m *muxer) run() { method runInner (line 131) | func (m *muxer) runInner() error { method createInstance (line 227) | func (m *muxer) createInstance(strm *stream.Stream) (*muxerInstance, e... method getInstance (line 243) | func (m *muxer) getInstance() muxerGetInstanceRes { method APIReaderDescribe (line 256) | func (m *muxer) APIReaderDescribe() *defs.APIPathReader { method handleRequest (line 263) | func (m *muxer) handleRequest(ctx *gin.Context) { method apiItem (line 280) | func (m *muxer) apiItem() *defs.APIHLSMuxer { FILE: internal/servers/hls/muxer_instance.go type muxerInstance (line 17) | type muxerInstance struct method initialize (line 32) | func (mi *muxerInstance) initialize() error { method Log (line 75) | func (mi *muxerInstance) Log(level logger.Level, format string, args .... method close (line 79) | func (mi *muxerInstance) close() { method errorChan (line 87) | func (mi *muxerInstance) errorChan() chan error { method handleRequest (line 91) | func (mi *muxerInstance) handleRequest(w http.ResponseWriter, r *http.... FILE: internal/servers/hls/server.go function interfaceIsEmpty (line 20) | func interfaceIsEmpty(i any) bool { type serverGetMuxerRes (line 24) | type serverGetMuxerRes struct type serverGetMuxerReq (line 29) | type serverGetMuxerReq struct type serverAPIMuxersListRes (line 37) | type serverAPIMuxersListRes struct type serverAPIMuxersListReq (line 42) | type serverAPIMuxersListReq struct type serverAPIMuxersGetRes (line 46) | type serverAPIMuxersGetRes struct type serverAPIMuxersGetReq (line 51) | type serverAPIMuxersGetReq struct type serverMetrics (line 56) | type serverMetrics interface type serverPathManager (line 60) | type serverPathManager interface type serverParent (line 66) | type serverParent interface type Server (line 71) | type Server struct method Initialize (line 109) | func (s *Server) Initialize() error { method Log (line 154) | func (s *Server) Log(level logger.Level, format string, args ...any) { method Close (line 159) | func (s *Server) Close() { method run (line 170) | func (s *Server) run() { method createMuxer (line 255) | func (s *Server) createMuxer(pathName string, remoteAddr string, query... method closeMuxer (line 278) | func (s *Server) closeMuxer(c *muxer) { method getMuxer (line 285) | func (s *Server) getMuxer(req serverGetMuxerReq) (*muxer, error) { method PathReady (line 299) | func (s *Server) PathReady(pa defs.Path) { method PathNotReady (line 307) | func (s *Server) PathNotReady(pa defs.Path) { method APIMuxersList (line 315) | func (s *Server) APIMuxersList() (*defs.APIHLSMuxerList, error) { method APIMuxersGet (line 331) | func (s *Server) APIMuxersGet(name string) (*defs.APIHLSMuxer, error) { FILE: internal/servers/hls/server_test.go type dummyPathManager (line 27) | type dummyPathManager struct method SetHLSServer (line 33) | func (pm *dummyPathManager) SetHLSServer(*Server) []defs.Path { method FindPathConf (line 40) | func (pm *dummyPathManager) FindPathConf(req defs.PathFindPathConfReq)... method AddReader (line 44) | func (pm *dummyPathManager) AddReader(req defs.PathAddReaderReq) (*def... type dummyPath (line 48) | type dummyPath struct method Name (line 50) | func (pa *dummyPath) Name() string { method SafeConf (line 54) | func (pa *dummyPath) SafeConf() *conf.Path { method ExternalCmdEnv (line 58) | func (pa *dummyPath) ExternalCmdEnv() externalcmd.Environment { method RemovePublisher (line 62) | func (pa *dummyPath) RemovePublisher(_ defs.PathRemovePublisherReq) { method RemoveReader (line 65) | func (pa *dummyPath) RemoveReader(_ defs.PathRemoveReaderReq) { function TestServerPreflightRequest (line 68) | func TestServerPreflightRequest(t *testing.T) { function TestServerNotFound (line 106) | func TestServerNotFound(t *testing.T) { function TestServerRead (line 176) | func TestServerRead(t *testing.T) { function TestServerDirectory (line 410) | func TestServerDirectory(t *testing.T) { function TestServerDynamicAlwaysRemux (line 469) | func TestServerDynamicAlwaysRemux(t *testing.T) { function TestAuthError (line 523) | func TestAuthError(t *testing.T) { FILE: internal/servers/rtmp/conn.go type conn (line 26) | type conn struct method initialize (line 54) | func (c *conn) initialize() { method Close (line 67) | func (c *conn) Close() { method remoteAddr (line 71) | func (c *conn) remoteAddr() net.Addr { method Log (line 76) | func (c *conn) Log(level logger.Level, format string, args ...any) { method ip (line 80) | func (c *conn) ip() net.IP { method run (line 84) | func (c *conn) run() { //nolint:dupl method runInner (line 107) | func (c *conn) runInner() error { method runReader (line 125) | func (c *conn) runReader() error { method runRead (line 152) | func (c *conn) runRead() error { method runPublish (line 227) | func (c *conn) runPublish() error { method APIReaderDescribe (line 297) | func (c *conn) APIReaderDescribe() *defs.APIPathReader { method APISourceDescribe (line 310) | func (c *conn) APISourceDescribe() *defs.APIPathSource { method apiItem (line 322) | func (c *conn) apiItem() *defs.APIRTMPConn { FILE: internal/servers/rtmp/listener.go type listener (line 8) | type listener struct method initialize (line 14) | func (l *listener) initialize() { method run (line 19) | func (l *listener) run() { method runInner (line 27) | func (l *listener) runInner() error { FILE: internal/servers/rtmp/server.go function interfaceIsEmpty (line 28) | func interfaceIsEmpty(i any) bool { type serverAPIConnsListRes (line 32) | type serverAPIConnsListRes struct type serverAPIConnsListReq (line 37) | type serverAPIConnsListReq struct type serverAPIConnsGetRes (line 41) | type serverAPIConnsGetRes struct type serverAPIConnsGetReq (line 46) | type serverAPIConnsGetReq struct type serverAPIConnsKickRes (line 51) | type serverAPIConnsKickRes struct type serverAPIConnsKickReq (line 55) | type serverAPIConnsKickReq struct type serverMetrics (line 60) | type serverMetrics interface type serverPathManager (line 65) | type serverPathManager interface type serverParent (line 70) | type serverParent interface type Server (line 75) | type Server struct method Initialize (line 109) | func (s *Server) Initialize() error { method Log (line 172) | func (s *Server) Log(level logger.Level, format string, args ...any) { method Close (line 183) | func (s *Server) Close() { method run (line 202) | func (s *Server) run() { method findConnByUUID (line 279) | func (s *Server) findConnByUUID(uuid uuid.UUID) *conn { method newConn (line 289) | func (s *Server) newConn(conn net.Conn) { method acceptError (line 298) | func (s *Server) acceptError(err error) { method closeConn (line 306) | func (s *Server) closeConn(c *conn) { method APIConnsList (line 314) | func (s *Server) APIConnsList() (*defs.APIRTMPConnList, error) { method APIConnsGet (line 330) | func (s *Server) APIConnsGet(uuid uuid.UUID) (*defs.APIRTMPConn, error) { method APIConnsKick (line 347) | func (s *Server) APIConnsKick(uuid uuid.UUID) error { FILE: internal/servers/rtmp/server_test.go type dummyPath (line 23) | type dummyPath struct method Name (line 25) | func (p *dummyPath) Name() string { method SafeConf (line 29) | func (p *dummyPath) SafeConf() *conf.Path { method ExternalCmdEnv (line 33) | func (p *dummyPath) ExternalCmdEnv() externalcmd.Environment { method RemovePublisher (line 37) | func (p *dummyPath) RemovePublisher(_ defs.PathRemovePublisherReq) { method RemoveReader (line 40) | func (p *dummyPath) RemoveReader(_ defs.PathRemoveReaderReq) { function TestServerPublish (line 43) | func TestServerPublish(t *testing.T) { function TestServerRead (line 218) | func TestServerRead(t *testing.T) { FILE: internal/servers/rtsp/conn.go function absoluteURL (line 26) | func absoluteURL(req *base.Request, v string) string { function tunnelLabel (line 39) | func tunnelLabel(t gortsplib.Tunnel) string { type connParent (line 51) | type connParent interface type conn (line 56) | type conn struct method initialize (line 75) | func (c *conn) initialize() { method Log (line 101) | func (c *conn) Log(level logger.Level, format string, args ...any) { method Conn (line 106) | func (c *conn) Conn() *gortsplib.ServerConn { method remoteAddr (line 110) | func (c *conn) remoteAddr() net.Addr { method ip (line 114) | func (c *conn) ip() net.IP { method onClose (line 119) | func (c *conn) onClose(err error) { method onRequest (line 126) | func (c *conn) onRequest(req *base.Request) { method OnResponse (line 131) | func (c *conn) OnResponse(res *base.Response) { method onDescribe (line 136) | func (c *conn) onDescribe(ctx *gortsplib.ServerHandlerOnDescribeCtx, method handleAuthError (line 206) | func (c *conn) handleAuthError(err *auth.Error) (*base.Response, error) { method apiItem (line 221) | func (c *conn) apiItem() *defs.APIRTSPConn { FILE: internal/servers/rtsp/mpegts_demuxer.go type mpegtsDemuxer (line 21) | type mpegtsDemuxer struct method initialize (line 34) | func (d *mpegtsDemuxer) initialize() error { method close (line 64) | func (d *mpegtsDemuxer) close() { method run (line 68) | func (d *mpegtsDemuxer) run(pr *io.PipeReader) { method doRun (line 76) | func (d *mpegtsDemuxer) doRun(pr *io.PipeReader) error { FILE: internal/servers/rtsp/server.go function interfaceIsEmpty (line 36) | func interfaceIsEmpty(i any) bool { function printAddresses (line 40) | func printAddresses(srv *gortsplib.Server) string { type serverMetrics (line 74) | type serverMetrics interface type serverPathManager (line 79) | type serverPathManager interface type serverParent (line 86) | type serverParent interface type Server (line 91) | type Server struct method Initialize (line 129) | func (s *Server) Initialize() error { method Log (line 204) | func (s *Server) Log(level logger.Level, format string, args ...any) { method Close (line 215) | func (s *Server) Close() { method run (line 234) | func (s *Server) run() { method OnConnOpen (line 258) | func (s *Server) OnConnOpen(ctx *gortsplib.ServerHandlerOnConnOpenCtx) { method OnConnClose (line 282) | func (s *Server) OnConnClose(ctx *gortsplib.ServerHandlerOnConnCloseCt... method OnRequest (line 291) | func (s *Server) OnRequest(sc *gortsplib.ServerConn, req *base.Request) { method OnResponse (line 297) | func (s *Server) OnResponse(sc *gortsplib.ServerConn, res *base.Respon... method OnSessionOpen (line 303) | func (s *Server) OnSessionOpen(ctx *gortsplib.ServerHandlerOnSessionOp... method OnSessionClose (line 322) | func (s *Server) OnSessionClose(ctx *gortsplib.ServerHandlerOnSessionC... method OnDescribe (line 334) | func (s *Server) OnDescribe(ctx *gortsplib.ServerHandlerOnDescribeCtx, method OnAnnounce (line 341) | func (s *Server) OnAnnounce(ctx *gortsplib.ServerHandlerOnAnnounceCtx)... method OnSetup (line 348) | func (s *Server) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) (*bas... method OnPlay (line 355) | func (s *Server) OnPlay(ctx *gortsplib.ServerHandlerOnPlayCtx) (*base.... method OnRecord (line 361) | func (s *Server) OnRecord(ctx *gortsplib.ServerHandlerOnRecordCtx) (*b... method OnPause (line 367) | func (s *Server) OnPause(ctx *gortsplib.ServerHandlerOnPauseCtx) (*bas... method OnPacketsLost (line 373) | func (s *Server) OnPacketsLost(ctx *gortsplib.ServerHandlerOnPacketsLo... method OnDecodeError (line 379) | func (s *Server) OnDecodeError(ctx *gortsplib.ServerHandlerOnDecodeErr... method OnStreamWriteError (line 385) | func (s *Server) OnStreamWriteError(ctx *gortsplib.ServerHandlerOnStre... method findConnByUUID (line 390) | func (s *Server) findConnByUUID(uuid uuid.UUID) *conn { method findSessionByUUID (line 399) | func (s *Server) findSessionByUUID(uuid uuid.UUID) (*gortsplib.ServerS... method getConnByRConnUnsafe (line 408) | func (s *Server) getConnByRConnUnsafe(rconn *gortsplib.ServerConn) *co... method getSessionByRSessionUnsafe (line 412) | func (s *Server) getSessionByRSessionUnsafe(rsession *gortsplib.Server... method APIConnsList (line 417) | func (s *Server) APIConnsList() (*defs.APIRTSPConnsList, error) { method APIConnsGet (line 443) | func (s *Server) APIConnsGet(uuid uuid.UUID) (*defs.APIRTSPConn, error) { method APISessionsList (line 462) | func (s *Server) APISessionsList() (*defs.APIRTSPSessionList, error) { method APISessionsGet (line 488) | func (s *Server) APISessionsGet(uuid uuid.UUID) (*defs.APIRTSPSession,... method APISessionsKick (line 507) | func (s *Server) APISessionsKick(uuid uuid.UUID) error { FILE: internal/servers/rtsp/server_test.go function ptrOf (line 30) | func ptrOf[T any](v T) *T { type dummyPath (line 36) | type dummyPath struct method Name (line 38) | func (p *dummyPath) Name() string { method SafeConf (line 42) | func (p *dummyPath) SafeConf() *conf.Path { method ExternalCmdEnv (line 46) | func (p *dummyPath) ExternalCmdEnv() externalcmd.Environment { method RemovePublisher (line 50) | func (p *dummyPath) RemovePublisher(_ defs.PathRemovePublisherReq) { method RemoveReader (line 53) | func (p *dummyPath) RemoveReader(_ defs.PathRemoveReaderReq) { function TestServerPublish (line 56) | func TestServerPublish(t *testing.T) { function TestServerPublishMPEGTS (line 213) | func TestServerPublishMPEGTS(t *testing.T) { function TestServerRead (line 360) | func TestServerRead(t *testing.T) { function TestServerRedirect (line 537) | func TestServerRedirect(t *testing.T) { function TestAuthError (line 621) | func TestAuthError(t *testing.T) { FILE: internal/servers/rtsp/session.go function profileLabel (line 32) | func profileLabel(p headers.TransportProfile) string { function findSingleMPEGTSFormat (line 42) | func findSingleMPEGTSFormat(desc *description.Session) (*description.Med... type sessionParent (line 55) | type sessionParent interface type session (line 60) | type session struct method initialize (line 85) | func (s *session) initialize() { method Close (line 134) | func (s *session) Close() { method remoteAddr (line 138) | func (s *session) remoteAddr() net.Addr { method Log (line 143) | func (s *session) Log(level logger.Level, format string, args ...any) { method onClose (line 149) | func (s *session) onClose(err error) { method onAnnounce (line 180) | func (s *session) onAnnounce(c *conn, ctx *gortsplib.ServerHandlerOnAn... method rtspStream (line 231) | func (s *session) rtspStream() *gortsplib.ServerStream { method onSetup (line 239) | func (s *session) onSetup(c *conn, ctx *gortsplib.ServerHandlerOnSetup... method onPlay (line 326) | func (s *session) onPlay(_ *gortsplib.ServerHandlerOnPlayCtx) (*base.R... method onRecord (line 352) | func (s *session) onRecord(_ *gortsplib.ServerHandlerOnRecordCtx) (*ba... method onPause (line 416) | func (s *session) onPause(_ *gortsplib.ServerHandlerOnPauseCtx) (*base... method APIReaderDescribe (line 439) | func (s *session) APIReaderDescribe() *defs.APIPathReader { method APISourceDescribe (line 452) | func (s *session) APISourceDescribe() *defs.APIPathSource { method onPacketsLost (line 465) | func (s *session) onPacketsLost(ctx *gortsplib.ServerHandlerOnPacketsL... method onDecodeError (line 470) | func (s *session) onDecodeError(ctx *gortsplib.ServerHandlerOnDecodeEr... method onStreamWriteError (line 475) | func (s *session) onStreamWriteError(_ *gortsplib.ServerHandlerOnStrea... method apiItem (line 480) | func (s *session) apiItem() *defs.APIRTSPSession { FILE: internal/servers/srt/conn.go function srtCheckPassphrase (line 27) | func srtCheckPassphrase(connReq srt.ConnRequest, passphrase string) error { type conn (line 44) | type conn struct method initialize (line 72) | func (c *conn) initialize() { method Close (line 85) | func (c *conn) Close() { method Log (line 90) | func (c *conn) Log(level logger.Level, format string, args ...any) { method ip (line 94) | func (c *conn) ip() net.IP { method run (line 98) | func (c *conn) run() { //nolint:dupl method runInner (line 121) | func (c *conn) runInner() error { method runPublish (line 135) | func (c *conn) runPublish(streamID *streamID) error { method runPublishReader (line 194) | func (c *conn) runPublishReader(sconn srt.Conn, streamID *streamID, pa... method runRead (line 262) | func (c *conn) runRead(streamID *streamID) error { method APIReaderDescribe (line 353) | func (c *conn) APIReaderDescribe() *defs.APIPathReader { method APISourceDescribe (line 361) | func (c *conn) APISourceDescribe() *defs.APIPathSource { method apiItem (line 368) | func (c *conn) apiItem() *defs.APISRTConn { FILE: internal/servers/srt/listener.go type listener (line 9) | type listener struct method initialize (line 15) | func (l *listener) initialize() { method run (line 20) | func (l *listener) run() { method runInner (line 28) | func (l *listener) runInner() error { FILE: internal/servers/srt/server.go function interfaceIsEmpty (line 25) | func interfaceIsEmpty(i any) bool { function srtMaxPayloadSize (line 29) | func srtMaxPayloadSize(u int) int { type serverAPIConnsListRes (line 33) | type serverAPIConnsListRes struct type serverAPIConnsListReq (line 38) | type serverAPIConnsListReq struct type serverAPIConnsGetRes (line 42) | type serverAPIConnsGetRes struct type serverAPIConnsGetReq (line 47) | type serverAPIConnsGetReq struct type serverAPIConnsKickRes (line 52) | type serverAPIConnsKickRes struct type serverAPIConnsKickReq (line 56) | type serverAPIConnsKickReq struct type serverMetrics (line 61) | type serverMetrics interface type serverPathManager (line 65) | type serverPathManager interface type serverParent (line 71) | type serverParent interface type Server (line 76) | type Server struct method Initialize (line 106) | func (s *Server) Initialize() error { method Log (line 148) | func (s *Server) Log(level logger.Level, format string, args ...any) { method Close (line 153) | func (s *Server) Close() { method run (line 164) | func (s *Server) run() { method findConnByUUID (line 241) | func (s *Server) findConnByUUID(uuid uuid.UUID) *conn { method newConnRequest (line 251) | func (s *Server) newConnRequest(connReq srt.ConnRequest) { method acceptError (line 260) | func (s *Server) acceptError(err error) { method closeConn (line 268) | func (s *Server) closeConn(c *conn) { method APIConnsList (line 276) | func (s *Server) APIConnsList() (*defs.APISRTConnList, error) { method APIConnsGet (line 292) | func (s *Server) APIConnsGet(uuid uuid.UUID) (*defs.APISRTConn, error) { method APIConnsKick (line 309) | func (s *Server) APIConnsKick(uuid uuid.UUID) error { FILE: internal/servers/srt/server_test.go type dummyPath (line 21) | type dummyPath struct method Name (line 23) | func (p *dummyPath) Name() string { method SafeConf (line 27) | func (p *dummyPath) SafeConf() *conf.Path { method ExternalCmdEnv (line 31) | func (p *dummyPath) ExternalCmdEnv() externalcmd.Environment { method RemovePublisher (line 35) | func (p *dummyPath) RemovePublisher(_ defs.PathRemovePublisherReq) { method RemoveReader (line 38) | func (p *dummyPath) RemoveReader(_ defs.PathRemoveReaderReq) { function TestServerPublish (line 41) | func TestServerPublish(t *testing.T) { function TestServerRead (line 252) | func TestServerRead(t *testing.T) { FILE: internal/servers/srt/streamid.go type streamIDMode (line 8) | type streamIDMode constant streamIDModeRead (line 11) | streamIDModeRead streamIDMode = iota constant streamIDModePublish (line 12) | streamIDModePublish type streamID (line 15) | type streamID struct method unmarshal (line 23) | func (s *streamID) unmarshal(raw string) error { FILE: internal/servers/srt/streamid_test.go function TestStreamIDUnmarshal (line 9) | func TestStreamIDUnmarshal(t *testing.T) { FILE: internal/servers/webrtc/http_server.go function mergePathAndQuery (line 42) | func mergePathAndQuery(path string, rawQuery string) string { function writeError (line 50) | func writeError(ctx *gin.Context, statusCode int, err error) { function sessionLocation (line 57) | func sessionLocation(publish bool, path string, rawQuery string, secret ... type httpServer (line 75) | type httpServer struct method initialize (line 91) | func (s *httpServer) initialize() error { method Log (line 121) | func (s *httpServer) Log(level logger.Level, format string, args ...an... method close (line 125) | func (s *httpServer) close() { method checkAuthOutsideSession (line 129) | func (s *httpServer) checkAuthOutsideSession(ctx *gin.Context, pathNam... method onWHIPOptions (line 168) | func (s *httpServer) onWHIPOptions(ctx *gin.Context, pathName string, ... method onWHIPPost (line 186) | func (s *httpServer) onWHIPPost(ctx *gin.Context, pathName string, pub... method onWHIPPatch (line 252) | func (s *httpServer) onWHIPPatch(ctx *gin.Context, pathName string, ra... method onWHIPDelete (line 295) | func (s *httpServer) onWHIPDelete(ctx *gin.Context, pathName string, r... method onPage (line 320) | func (s *httpServer) onPage(ctx *gin.Context, pathName string, publish... method middlewarePreflightRequests (line 340) | func (s *httpServer) middlewarePreflightRequests(ctx *gin.Context) { method onRequest (line 350) | func (s *httpServer) onRequest(ctx *gin.Context) { FILE: internal/servers/webrtc/publisher.js class MediaMTXWebRTCPublisher (line 30) | class MediaMTXWebRTCPublisher { method constructor (line 35) | constructor(conf) { method #unquoteCredential (line 62) | static #unquoteCredential(v) { method #linkToIceServers (line 66) | static #linkToIceServers(links) { method #parseOffer (line 83) | static #parseOffer(offer) { method #generateSdpFragment (line 103) | static #generateSdpFragment(od, candidates) { method #setCodec (line 133) | static #setCodec(section, codec) { method #setVideoBitrate (line 172) | static #setVideoBitrate(section, bitrate) { method #setAudioBitrate (line 185) | static #setAudioBitrate(section, bitrate, voice) { method #editOffer (line 215) | static #editOffer(sdp, videoCodec, audioCodec, audioBitrate, audioVoic... method #editAnswer (line 229) | static #editAnswer(sdp, videoBitrate) { method #start (line 241) | #start() { method #handleError (line 251) | #handleError(err) { method #authHeader (line 282) | #authHeader() { method #requestICEServers (line 293) | #requestICEServers() { method #setupPeerConnection (line 303) | #setupPeerConnection(iceServers) { method #sendOffer (line 330) | #sendOffer(offer) { method #setAnswer (line 366) | #setAnswer(answer) { method #onLocalCandidate (line 389) | #onLocalCandidate(evt) { method #sendLocalCandidates (line 403) | #sendLocalCandidates(candidates) { method #onConnectionState (line 427) | #onConnectionState() { FILE: internal/servers/webrtc/reader.js class MediaMTXWebRTCReader (line 31) | class MediaMTXWebRTCReader { method constructor (line 36) | constructor(conf) { method close (line 51) | close() { method #supportsNonAdvertisedCodec (line 63) | static #supportsNonAdvertisedCodec(codec, fmtp) { method #unquoteCredential (line 126) | static #unquoteCredential(v) { method #linkToIceServers (line 130) | static #linkToIceServers(links) { method #parseOffer (line 147) | static #parseOffer(sdp) { method #reservePayloadType (line 167) | static #reservePayloadType(payloadTypes) { method #enableStereoPcmau (line 180) | static #enableStereoPcmau(payloadTypes, section) { method #enableMultichannelOpus (line 196) | static #enableMultichannelOpus(payloadTypes, section) { method #enableL16 (line 238) | static #enableL16(payloadTypes, section) { method #enableStereoOpus (line 259) | static #enableStereoOpus(section) { method #editOffer (line 288) | static #editOffer(sdp, nonAdvertisedCodecs) { method #generateSdpFragment (line 316) | static #generateSdpFragment(od, candidates) { method #handleError (line 346) | #handleError(err) { method #getNonAdvertisedCodecs (line 383) | #getNonAdvertisedCodecs() { method #start (line 405) | #start() { method #authHeader (line 415) | #authHeader() { method #requestICEServers (line 426) | #requestICEServers() { method #setupPeerConnection (line 436) | #setupPeerConnection(iceServers) { method #sendOffer (line 469) | #sendOffer(offer) { method #setAnswer (line 500) | #setAnswer(answer) { method #onLocalCandidate (line 521) | #onLocalCandidate(evt) { method #sendLocalCandidates (line 535) | #sendLocalCandidates(candidates) { method #onConnectionState (line 559) | #onConnectionState() { method #onTrack (line 575) | #onTrack(evt) { method #onDataChannel (line 581) | #onDataChannel(evt) { FILE: internal/servers/webrtc/server.go constant webrtcTurnSecretExpiration (line 35) | webrtcTurnSecretExpiration = 24 * time.Hour function interfaceIsEmpty (line 41) | func interfaceIsEmpty(i any) bool { type nilWriter (line 45) | type nilWriter struct method Write (line 47) | func (nilWriter) Write(p []byte) (int, error) { function randInt63 (line 53) | func randInt63() (int64, error) { function randInt63n (line 65) | func randInt63n(n int64) (int64, error) { function randomTurnUser (line 91) | func randomTurnUser() (string, error) { type serverAPISessionsListRes (line 106) | type serverAPISessionsListRes struct type serverAPISessionsListReq (line 111) | type serverAPISessionsListReq struct type serverAPISessionsGetRes (line 115) | type serverAPISessionsGetRes struct type serverAPISessionsGetReq (line 120) | type serverAPISessionsGetReq struct type serverAPISessionsKickRes (line 125) | type serverAPISessionsKickRes struct type serverAPISessionsKickReq (line 129) | type serverAPISessionsKickReq struct type webRTCNewSessionRes (line 134) | type webRTCNewSessionRes struct type webRTCNewSessionReq (line 141) | type webRTCNewSessionReq struct type webRTCAddSessionCandidatesRes (line 150) | type webRTCAddSessionCandidatesRes struct type webRTCAddSessionCandidatesReq (line 155) | type webRTCAddSessionCandidatesReq struct type webRTCDeleteSessionRes (line 162) | type webRTCDeleteSessionRes struct type webRTCDeleteSessionReq (line 166) | type webRTCDeleteSessionReq struct type serverMetrics (line 172) | type serverMetrics interface type serverPathManager (line 176) | type serverPathManager interface type serverParent (line 182) | type serverParent interface type Server (line 187) | type Server struct method Initialize (line 236) | func (s *Server) Initialize() error { method Log (line 328) | func (s *Server) Log(level logger.Level, format string, args ...any) { method Close (line 333) | func (s *Server) Close() { method run (line 344) | func (s *Server) run() { method findSessionByUUID (line 458) | func (s *Server) findSessionByUUID(uuid uuid.UUID) *session { method generateICEServers (line 467) | func (s *Server) generateICEServers(clientConfig bool) ([]pwebrtc.ICES... method newSession (line 500) | func (s *Server) newSession(req webRTCNewSessionReq) webRTCNewSessionR... method closeSession (line 518) | func (s *Server) closeSession(sx *session) { method addSessionCandidates (line 526) | func (s *Server) addSessionCandidates( method deleteSession (line 545) | func (s *Server) deleteSession(req webRTCDeleteSessionReq) error { method APISessionsList (line 558) | func (s *Server) APISessionsList() (*defs.APIWebRTCSessionList, error) { method APISessionsGet (line 574) | func (s *Server) APISessionsGet(uuid uuid.UUID) (*defs.APIWebRTCSessio... method APISessionsKick (line 591) | func (s *Server) APISessionsKick(uuid uuid.UUID) error { FILE: internal/servers/webrtc/server_test.go function ptrOf (line 33) | func ptrOf[T any](v T) *T { function checkClose (line 39) | func checkClose(t *testing.T, closeFunc func() error) { type dummyPath (line 43) | type dummyPath struct method Name (line 45) | func (p *dummyPath) Name() string { method SafeConf (line 49) | func (p *dummyPath) SafeConf() *conf.Path { method ExternalCmdEnv (line 53) | func (p *dummyPath) ExternalCmdEnv() externalcmd.Environment { method RemovePublisher (line 57) | func (p *dummyPath) RemovePublisher(_ defs.PathRemovePublisherReq) { method RemoveReader (line 60) | func (p *dummyPath) RemoveReader(_ defs.PathRemoveReaderReq) { function initializeTestServer (line 63) | func initializeTestServer(t *testing.T) *Server { function TestServerStaticPages (line 94) | func TestServerStaticPages(t *testing.T) { function TestPreflightRequest (line 116) | func TestPreflightRequest(t *testing.T) { function TestServerOptionsICEServer (line 145) | func TestServerOptionsICEServer(t *testing.T) { function TestServerPublish (line 201) | func TestServerPublish(t *testing.T) { function TestServerRead (line 360) | func TestServerRead(t *testing.T) { function TestServerReadNotFound (line 656) | func TestServerReadNotFound(t *testing.T) { function TestServerPatchNotFound (line 714) | func TestServerPatchNotFound(t *testing.T) { function TestServerDeleteNotFound (line 751) | func TestServerDeleteNotFound(t *testing.T) { function TestICEServerNoClientOnly (line 770) | func TestICEServerNoClientOnly(t *testing.T) { function TestICEServerClientOnly (line 788) | func TestICEServerClientOnly(t *testing.T) { function TestAuthError (line 807) | func TestAuthError(t *testing.T) { FILE: internal/servers/webrtc/session.go function whipOffer (line 30) | func whipOffer(body []byte) *pwebrtc.SessionDescription { type sessionParent (line 37) | type sessionParent interface type session (line 43) | type session struct method initialize (line 74) | func (s *session) initialize() { method Log (line 93) | func (s *session) Log(level logger.Level, format string, args ...any) { method Close (line 98) | func (s *session) Close() { method run (line 102) | func (s *session) run() { method runInner (line 114) | func (s *session) runInner() error { method runInner2 (line 133) | func (s *session) runInner2() (int, error) { method runPublish (line 140) | func (s *session) runPublish() (int, error) { method runRead (line 279) | func (s *session) runRead() (int, error) { method writeAnswer (line 407) | func (s *session) writeAnswer(answer *pwebrtc.SessionDescription) { method readRemoteCandidates (line 414) | func (s *session) readRemoteCandidates(pc *webrtc.PeerConnection) { method new (line 433) | func (s *session) new(req webRTCNewSessionReq) webRTCNewSessionRes { method addCandidates (line 444) | func (s *session) addCandidates( method APIReaderDescribe (line 457) | func (s *session) APIReaderDescribe() *defs.APIPathReader { method APISourceDescribe (line 465) | func (s *session) APISourceDescribe() *defs.APIPathSource { method apiItem (line 472) | func (s *session) apiItem() *defs.APIWebRTCSession { FILE: internal/staticsources/handler.go constant retryPause (line 25) | retryPause = 5 * time.Second function emptyTimer (line 28) | func emptyTimer() *time.Timer { function resolveSource (line 34) | func resolveSource(s string, matches []string, query string) string { type staticSource (line 46) | type staticSource interface type handlerPathManager (line 52) | type handlerPathManager interface type handlerParent (line 56) | type handlerParent interface type Handler (line 63) | type Handler struct method Initialize (line 92) | func (s *Handler) Initialize() { method Close (line 177) | func (s *Handler) Close(reason string) { method Start (line 182) | func (s *Handler) Start(onDemand bool, query string) { method Stop (line 204) | func (s *Handler) Stop(reason string) { method Log (line 220) | func (s *Handler) Log(level logger.Level, format string, args ...any) { method run (line 224) | func (s *Handler) run() { method ReloadConf (line 293) | func (s *Handler) ReloadConf(newConf *conf.Path) { method APISourceDescribe (line 309) | func (s *Handler) APISourceDescribe() *defs.APIPathSource { method SetReady (line 314) | func (s *Handler) SetReady(req defs.PathSourceStaticSetReadyReq) defs.... method SetNotReady (line 326) | func (s *Handler) SetNotReady(req defs.PathSourceStaticSetNotReadyReq) { method AddReader (line 336) | func (s *Handler) AddReader(req defs.PathAddReaderReq) (*defs.PathAddR... FILE: internal/staticsources/hls/source.go type parent (line 24) | type parent interface type Source (line 31) | type Source struct method Log (line 38) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 43) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method APISourceDescribe (line 158) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/hls/source_test.go function TestSource (line 19) | func TestSource(t *testing.T) { function TestSourceCookie (line 124) | func TestSourceCookie(t *testing.T) { FILE: internal/staticsources/mpegts/source.go type parent (line 23) | type parent interface type Source (line 30) | type Source struct method Log (line 38) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 43) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runReader (line 129) | func (s *Source) runReader(nc net.Conn) error { method APISourceDescribe (line 184) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/mpegts/source_test.go function multicastCapableInterface (line 21) | func multicastCapableInterface(t *testing.T) string { function TestSourceUDP (line 35) | func TestSourceUDP(t *testing.T) { function TestSourceUnixSocket (line 150) | func TestSourceUnixSocket(t *testing.T) { FILE: internal/staticsources/rpicamera/camera_arm_.go constant libraryToCheckArchitecture (line 23) | libraryToCheckArchitecture = "libc.so.6" constant dumpPrefix (line 24) | dumpPrefix = "/dev/shm/mediamtx-rpicamera-" constant executableName (line 25) | executableName = "mtxrpicam" function ntpTime (line 34) | func ntpTime() syscall.Timespec { function monotonicTime (line 40) | func monotonicTime() syscall.Timespec { function multiplyAndDivide (line 46) | func multiplyAndDivide(v, m, d int64) int64 { function getArchitecture (line 52) | func getArchitecture(libPath string) (bool, error) { function checkArchitecture (line 68) | func checkArchitecture() error { function dumpEmbedFSRecursive (line 101) | func dumpEmbedFSRecursive(src string, dest string) error { function dumpComponent (line 134) | func dumpComponent() error { function freeComponent (line 178) | func freeComponent() { type camera (line 189) | type camera struct method initialize (line 203) | func (c *camera) initialize() error { method close (line 258) | func (c *camera) close() { method run (line 264) | func (c *camera) run() { method runInner (line 269) | func (c *camera) runInner() error { method runReader (line 315) | func (c *camera) runReader() error { method reloadParams (line 391) | func (c *camera) reloadParams(params params) { method wait (line 395) | func (c *camera) wait() error { FILE: internal/staticsources/rpicamera/camera_other.go type camera (line 10) | type camera struct method initialize (line 16) | func (c *camera) initialize() error { method close (line 20) | func (c *camera) close() { method reloadParams (line 23) | func (c *camera) reloadParams(_ params) { method wait (line 26) | func (c *camera) wait() error { FILE: internal/staticsources/rpicamera/mtxrpicamdownloader/main.go function dumpTar (line 19) | func dumpTar(src io.Reader) error { function doSingle (line 62) | func doSingle(version string, f string) error { function do (line 101) | func do() error { function main (line 121) | func main() { FILE: internal/staticsources/rpicamera/params.go type params (line 3) | type params struct FILE: internal/staticsources/rpicamera/params_serialize.go method serialize (line 12) | func (p params) serialize() []byte { FILE: internal/staticsources/rpicamera/pipe.go function syscallReadAll (line 9) | func syscallReadAll(fd int, buf []byte) error { type pipe (line 28) | type pipe struct method close (line 46) | func (p *pipe) close() { method read (line 51) | func (p *pipe) read() ([]byte, error) { method write (line 69) | func (p *pipe) write(byts []byte) error { function newPipe (line 33) | func newPipe() (*pipe, error) { FILE: internal/staticsources/rpicamera/source.go constant pauseBetweenErrors (line 24) | pauseBetweenErrors = 1 * time.Second function paramsFromConf (line 27) | func paramsFromConf(logLevel conf.LogLevel, cnf *conf.Path) params { type secondaryReader (line 85) | type secondaryReader struct method Close (line 91) | func (r *secondaryReader) Close() { method APIReaderDescribe (line 96) | func (*secondaryReader) APIReaderDescribe() *defs.APIPathReader { type parent (line 103) | type parent interface type Source (line 111) | type Source struct method Log (line 118) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 123) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runPrimary (line 130) | func (s *Source) runPrimary(params defs.StaticSourceRunParams) error { method runSecondary (line 269) | func (s *Source) runSecondary(params defs.StaticSourceRunParams) error { method waitForPrimary (line 331) | func (s *Source) waitForPrimary( method APISourceDescribe (line 362) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/rtmp/source.go type parent (line 23) | type parent interface type Source (line 30) | type Source struct method Log (line 38) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 43) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runReader (line 105) | func (s *Source) runReader(conn *gortmplib.Client) error { method APISourceDescribe (line 153) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/rtmp/source_test.go function TestSource (line 20) | func TestSource(t *testing.T) { FILE: internal/staticsources/rtp/format.go type rtpFormat (line 11) | type rtpFormat struct method initialize (line 17) | func (f *rtpFormat) initialize() { FILE: internal/staticsources/rtp/media.go type rtpMedia (line 5) | type rtpMedia struct FILE: internal/staticsources/rtp/source.go type parent (line 26) | type parent interface type Source (line 33) | type Source struct method Log (line 41) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 46) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runReader (line 144) | func (s *Source) runReader(desc *description.Session, nc net.Conn) err... method APISourceDescribe (line 258) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/rtp/source_test.go function multicastCapableInterface (line 19) | func multicastCapableInterface(t *testing.T) string { function TestSourceUDP (line 33) | func TestSourceUDP(t *testing.T) { function TestSourceUnixSocket (line 152) | func TestSourceUnixSocket(t *testing.T) { FILE: internal/staticsources/rtsp/source.go function createRangeHeader (line 26) | func createRangeHeader(cnf *conf.Path) (*headers.Range, error) { type parent (line 71) | type parent interface type Source (line 78) | type Source struct method Log (line 88) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 93) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runInner (line 223) | func (s *Source) runInner(c *gortsplib.Client, u *base.URL, pathConf *... method APISourceDescribe (line 287) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/rtsp/source_test.go function ptrOf (line 23) | func ptrOf[T any](v T) *T { type testServer (line 29) | type testServer struct method OnDescribe (line 35) | func (sh *testServer) OnDescribe(ctx *gortsplib.ServerHandlerOnDescrib... method OnSetup (line 40) | func (sh *testServer) OnSetup(ctx *gortsplib.ServerHandlerOnSetupCtx) ... method OnPlay (line 44) | func (sh *testServer) OnPlay(ctx *gortsplib.ServerHandlerOnPlayCtx) (*... function TestSource (line 48) | func TestSource(t *testing.T) { function TestNoPassword (line 220) | func TestNoPassword(t *testing.T) { function TestRange (line 322) | func TestRange(t *testing.T) { function TestSkipBackChannel (line 438) | func TestSkipBackChannel(t *testing.T) { function TestOnlyBackChannelsError (line 537) | func TestOnlyBackChannelsError(t *testing.T) { FILE: internal/staticsources/srt/source.go type parent (line 18) | type parent interface type Source (line 25) | type Source struct method Log (line 31) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 36) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method runReader (line 76) | func (s *Source) runReader(sconn srt.Conn) error { method APISourceDescribe (line 131) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/srt/source_test.go function TestSource (line 19) | func TestSource(t *testing.T) { FILE: internal/staticsources/webrtc/source.go type parent (line 24) | type parent interface type Source (line 31) | type Source struct method Log (line 39) | func (s *Source) Log(level logger.Level, format string, args ...any) { method Run (line 44) | func (s *Source) Run(params defs.StaticSourceRunParams) error { method APISourceDescribe (line 134) | func (*Source) APISourceDescribe() *defs.APIPathSource { FILE: internal/staticsources/webrtc/source_test.go function whipOffer (line 21) | func whipOffer(body []byte) *pwebrtc.SessionDescription { function TestSource (line 28) | func TestSource(t *testing.T) { FILE: internal/stream/format_updater.go type formatUpdater (line 13) | type formatUpdater function formatUpdaterH265 (line 15) | func formatUpdaterH265(forma format.Format, payload unit.Payload) { function formatUpdaterH264 (line 51) | func formatUpdaterH264(forma format.Format, payload unit.Payload) { function formatUpdaterMPEG4Video (line 81) | func formatUpdaterMPEG4Video(forma format.Format, payload unit.Payload) { function newFormatUpdater (line 98) | func newFormatUpdater(forma format.Format) formatUpdater { FILE: internal/stream/offline_sub_stream.go function multiplyAndDivide2 (line 9) | func multiplyAndDivide2(v, m, d time.Duration) time.Duration { type offlineSubStream (line 15) | type offlineSubStream struct method initialize (line 25) | func (o *offlineSubStream) initialize() error { method close (line 61) | func (o *offlineSubStream) close(waitLastSample bool) { FILE: internal/stream/offline_sub_stream_track.go type offlineSubStreamTrack (line 64) | type offlineSubStreamTrack struct method initialize (line 75) | func (t *offlineSubStreamTrack) initialize() { method run (line 80) | func (t *offlineSubStreamTrack) run() { method runFile (line 248) | func (t *offlineSubStreamTrack) runFile(r io.ReadSeeker, pos int) error { method sleep (line 349) | func (t *offlineSubStreamTrack) sleep(systemTime time.Time) bool { FILE: internal/stream/reader.go type OnDataFunc (line 15) | type OnDataFunc type Reader (line 18) | type Reader struct method OnData (line 32) | func (r *Reader) OnData(medi *description.Media, forma format.Format, ... method Formats (line 43) | func (r *Reader) Formats() []format.Format { method OutboundFramesDiscarded (line 69) | func (r *Reader) OutboundFramesDiscarded() uint64 { method Error (line 75) | func (r *Reader) Error() chan error { method start (line 79) | func (r *Reader) start() { method stop (line 101) | func (r *Reader) stop() { method run (line 107) | func (r *Reader) run() { method runInner (line 112) | func (r *Reader) runInner() error { method push (line 126) | func (r *Reader) push(cb func() error) { FILE: internal/stream/rtp_decoder.go type rtpDecoder (line 25) | type rtpDecoder interface type rtpDecoderAV1 (line 29) | type rtpDecoderAV1 method decode (line 31) | func (d *rtpDecoderAV1) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderVP9 (line 44) | type rtpDecoderVP9 method decode (line 46) | func (d *rtpDecoderVP9) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderVP8 (line 59) | type rtpDecoderVP8 method decode (line 61) | func (d *rtpDecoderVP8) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderH265 (line 74) | type rtpDecoderH265 method decode (line 76) | func (d *rtpDecoderH265) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderH264 (line 89) | type rtpDecoderH264 method decode (line 91) | func (d *rtpDecoderH264) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderMPEG4Video (line 104) | type rtpDecoderMPEG4Video method decode (line 106) | func (d *rtpDecoderMPEG4Video) decode(pkt *rtp.Packet) (unit.Payload, ... type rtpDecoderMPEG1Video (line 118) | type rtpDecoderMPEG1Video method decode (line 120) | func (d *rtpDecoderMPEG1Video) decode(pkt *rtp.Packet) (unit.Payload, ... type rtpDecoderMJPEG (line 133) | type rtpDecoderMJPEG method decode (line 135) | func (d *rtpDecoderMJPEG) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderOpus (line 148) | type rtpDecoderOpus method decode (line 150) | func (d *rtpDecoderOpus) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderMPEG4Audio (line 159) | type rtpDecoderMPEG4Audio method decode (line 161) | func (d *rtpDecoderMPEG4Audio) decode(pkt *rtp.Packet) (unit.Payload, ... type rtpDecoderMPEG4AudioLATM (line 173) | type rtpDecoderMPEG4AudioLATM method decode (line 175) | func (d *rtpDecoderMPEG4AudioLATM) decode(pkt *rtp.Packet) (unit.Paylo... type rtpDecoderMPEG1Audio (line 187) | type rtpDecoderMPEG1Audio method decode (line 189) | func (d *rtpDecoderMPEG1Audio) decode(pkt *rtp.Packet) (unit.Payload, ... type rtpDecoderAC3 (line 202) | type rtpDecoderAC3 method decode (line 204) | func (d *rtpDecoderAC3) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderG711 (line 216) | type rtpDecoderG711 method decode (line 218) | func (d *rtpDecoderG711) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderLPCM (line 227) | type rtpDecoderLPCM method decode (line 229) | func (d *rtpDecoderLPCM) decode(pkt *rtp.Packet) (unit.Payload, error) { type rtpDecoderKLV (line 238) | type rtpDecoderKLV method decode (line 240) | func (d *rtpDecoderKLV) decode(pkt *rtp.Packet) (unit.Payload, error) { function newRTPDecoder (line 249) | func newRTPDecoder(forma format.Format) (rtpDecoder, error) { FILE: internal/stream/rtp_encoder.go function ptrOf (line 26) | func ptrOf[T any](v T) *T { type rtpEncoderNotAvailableError (line 32) | type rtpEncoderNotAvailableError struct method Error (line 36) | func (e rtpEncoderNotAvailableError) Error() string { type rtpEncoder (line 40) | type rtpEncoder interface type rtpEncoderH265 (line 44) | type rtpEncoderH265 method encode (line 46) | func (e *rtpEncoderH265) encode(payload unit.Payload) ([]*rtp.Packet, ... type rtpEncoderH264 (line 50) | type rtpEncoderH264 method encode (line 52) | func (e *rtpEncoderH264) encode(payload unit.Payload) ([]*rtp.Packet, ... type rtpEncoderAV1 (line 56) | type rtpEncoderAV1 method encode (line 58) | func (e *rtpEncoderAV1) encode(payload unit.Payload) ([]*rtp.Packet, e... type rtpEncoderVP9 (line 62) | type rtpEncoderVP9 method encode (line 64) | func (e *rtpEncoderVP9) encode(payload unit.Payload) ([]*rtp.Packet, e... type rtpEncoderVP8 (line 68) | type rtpEncoderVP8 method encode (line 70) | func (e *rtpEncoderVP8) encode(payload unit.Payload) ([]*rtp.Packet, e... type rtpEncoderMPEG4Video (line 74) | type rtpEncoderMPEG4Video method encode (line 76) | func (e *rtpEncoderMPEG4Video) encode(payload unit.Payload) ([]*rtp.Pa... type rtpEncoderMPEG1Video (line 80) | type rtpEncoderMPEG1Video method encode (line 82) | func (e *rtpEncoderMPEG1Video) encode(payload unit.Payload) ([]*rtp.Pa... type rtpEncoderMJPEG (line 86) | type rtpEncoderMJPEG method encode (line 88) | func (e *rtpEncoderMJPEG) encode(payload unit.Payload) ([]*rtp.Packet,... type rtpEncoderOpus (line 92) | type rtpEncoderOpus method encode (line 94) | func (e *rtpEncoderOpus) encode(payload unit.Payload) ([]*rtp.Packet, ... type rtpEncoderMPEG4Audio (line 112) | type rtpEncoderMPEG4Audio method encode (line 114) | func (e *rtpEncoderMPEG4Audio) encode(payload unit.Payload) ([]*rtp.Pa... type rtpEncoderMPEG4AudioLATM (line 118) | type rtpEncoderMPEG4AudioLATM method encode (line 120) | func (e *rtpEncoderMPEG4AudioLATM) encode(payload unit.Payload) ([]*rt... type rtpEncoderMPEG1Audio (line 124) | type rtpEncoderMPEG1Audio method encode (line 126) | func (e *rtpEncoderMPEG1Audio) encode(payload unit.Payload) ([]*rtp.Pa... type rtpEncoderAC3 (line 130) | type rtpEncoderAC3 method encode (line 132) | func (e *rtpEncoderAC3) encode(payload unit.Payload) ([]*rtp.Packet, e... type rtpEncoderG711 (line 136) | type rtpEncoderG711 method encode (line 138) | func (e *rtpEncoderG711) encode(payload unit.Payload) ([]*rtp.Packet, ... type rtpEncoderLPCM (line 142) | type rtpEncoderLPCM method encode (line 144) | func (e *rtpEncoderLPCM) encode(payload unit.Payload) ([]*rtp.Packet, ... type rtpEncoderKLV (line 148) | type rtpEncoderKLV method encode (line 150) | func (e *rtpEncoderKLV) encode(payload unit.Payload) ([]*rtp.Packet, e... function newRTPEncoder (line 154) | func newRTPEncoder( FILE: internal/stream/stream.go function mediasFromAlwaysAvailableFile (line 23) | func mediasFromAlwaysAvailableFile(alwaysAvailableFile string) ([]*descr... function mediasFromAlwaysAvailableTracks (line 120) | func mediasFromAlwaysAvailableTracks(alwaysAvailableTracks []conf.Always... function cloneFormat (line 226) | func cloneFormat(forma format.Format) format.Format { function cloneDesc (line 291) | func cloneDesc(desc *description.Session) *description.Session { type Stream (line 314) | type Stream struct method Initialize (line 345) | func (s *Stream) Initialize() error { method Close (line 424) | func (s *Stream) Close() { method StartOfflineSubStream (line 440) | func (s *Stream) StartOfflineSubStream() error { method InboundBytes (line 463) | func (s *Stream) InboundBytes() uint64 { method OutboundBytes (line 468) | func (s *Stream) OutboundBytes() uint64 { method InboundFramesInError (line 487) | func (s *Stream) InboundFramesInError() uint64 { method RTSPStream (line 492) | func (s *Stream) RTSPStream(server *gortsplib.Server) *gortsplib.Serve... method RTSPSStream (line 510) | func (s *Stream) RTSPSStream(server *gortsplib.Server) *gortsplib.Serv... method AddReader (line 529) | func (s *Stream) AddReader(r *Reader) { method RemoveReader (line 556) | func (s *Stream) RemoveReader(r *Reader) { method WaitForReaders (line 575) | func (s *Stream) WaitForReaders() { method addInboundBytes (line 579) | func (s *Stream) addInboundBytes(v uint64) { method addOutboundBytes (line 583) | func (s *Stream) addOutboundBytes(v uint64) { method updateLastTime (line 587) | func (s *Stream) updateLastTime(pts time.Duration) { method writeRTSP (line 600) | func (s *Stream) writeRTSP(medi *description.Media, pkts []*rtp.Packet... FILE: internal/stream/stream_alwaysavailable_test.go function TestStreamAlwaysAvailableErrors (line 19) | func TestStreamAlwaysAvailableErrors(t *testing.T) { function TestStreamAlwaysAvailable (line 129) | func TestStreamAlwaysAvailable(t *testing.T) { FILE: internal/stream/stream_format.go function multiplyAndDivide (line 17) | func multiplyAndDivide(v, m, d int64) int64 { function unitSize (line 23) | func unitSize(u *unit.Unit) uint64 { function randUint32 (line 31) | func randUint32() (uint32, error) { type streamFormat (line 40) | type streamFormat struct method initialize (line 62) | func (sf *streamFormat) initialize() error { FILE: internal/stream/stream_media.go type streamMedia (line 13) | type streamMedia struct method initialize (line 28) | func (sm *streamMedia) initialize() error { FILE: internal/stream/stream_standard_test.go type nilLogger (line 14) | type nilLogger struct method Log (line 16) | func (nilLogger) Log(logger.Level, string, ...any) { function TestStream (line 19) | func TestStream(t *testing.T) { function TestStreamSkipBytesSent (line 72) | func TestStreamSkipBytesSent(t *testing.T) { function TestStreamResizeOversizedRTPPackets (line 127) | func TestStreamResizeOversizedRTPPackets(t *testing.T) { function TestStreamUpdateFormatParams (line 236) | func TestStreamUpdateFormatParams(t *testing.T) { function TestStreamDecode (line 1218) | func TestStreamDecode(t *testing.T) { function TestStreamEncode (line 1268) | func TestStreamEncode(t *testing.T) { FILE: internal/stream/sub_stream.go function FormatsToCodecs (line 15) | func FormatsToCodecs(formats []format.Format) []string { function gatherFormats (line 23) | func gatherFormats(medias []*description.Media) []format.Format { function mediasToCodecs (line 43) | func mediasToCodecs(medias []*description.Media) []string { function formatMPEG4AudioConfig (line 47) | func formatMPEG4AudioConfig(asc *mpeg4audio.AudioSpecificConfig) string { function formatG711Config (line 52) | func formatG711Config(f *format.G711) string { function formatLPCMConfig (line 57) | func formatLPCMConfig(f *format.LPCM) string { function mediasAreCompatible (line 62) | func mediasAreCompatible(medias1 []*description.Media, medias2 []*descri... type SubStream (line 120) | type SubStream struct method Initialize (line 129) | func (ss *SubStream) Initialize() error { method WriteUnit (line 198) | func (ss *SubStream) WriteUnit(medi *description.Media, forma format.F... FILE: internal/stream/sub_stream_format.go type subStreamFormat (line 13) | type subStreamFormat struct method initialize (line 23) | func (ssf *subStreamFormat) initialize() error { method initialize2 (line 48) | func (ssf *subStreamFormat) initialize2(firstTimeReceived bool, lastPT... method writeUnit (line 94) | func (ssf *subStreamFormat) writeUnit(u *unit.Unit) { method writeUnitInner (line 102) | func (ssf *subStreamFormat) writeUnitInner(u *unit.Unit) error { FILE: internal/stream/sub_stream_media.go type subStreamMedia (line 8) | type subStreamMedia struct method initialize (line 16) | func (ssm *subStreamMedia) initialize() error { FILE: internal/stream/unit_remuxer.go type unitRemuxer (line 13) | type unitRemuxer function unitRemuxerH265 (line 15) | func unitRemuxerH265(forma format.Format, payload unit.Payload) unit.Pay... function unitRemuxerH264 (line 77) | func unitRemuxerH264(forma format.Format, payload unit.Payload) unit.Pay... function unitRemuxerMPEG4Video (line 138) | func unitRemuxerMPEG4Video(forma format.Format, payload unit.Payload) un... function newUnitRemuxer (line 165) | func newUnitRemuxer(forma format.Format) unitRemuxer { FILE: internal/test/auth_manager.go type AuthManager (line 7) | type AuthManager struct method Authenticate (line 13) | func (m *AuthManager) Authenticate(req *auth.Request) (string, *auth.E... method RefreshJWTJWKS (line 18) | func (m *AuthManager) RefreshJWTJWKS() { FILE: internal/test/logger.go type nilLogger (line 5) | type nilLogger struct method Log (line 7) | func (nilLogger) Log(_ logger.Level, _ string, _ ...any) { type testLogger (line 13) | type testLogger struct method Log (line 17) | func (l *testLogger) Log(level logger.Level, format string, args ...an... function Logger (line 22) | func Logger(cb func(logger.Level, string, ...any)) logger.Writer { FILE: internal/test/medias.go function UniqueMediaH264 (line 15) | func UniqueMediaH264() *description.Media { function UniqueMediaMPEG4Audio (line 23) | func UniqueMediaMPEG4Audio() *description.Media { FILE: internal/test/path_manager.go type PathManager (line 8) | type PathManager struct method FindPathConf (line 16) | func (pm *PathManager) FindPathConf(req defs.PathFindPathConfReq) (*de... method Describe (line 21) | func (pm *PathManager) Describe(req defs.PathDescribeReq) defs.PathDes... method AddPublisher (line 26) | func (pm *PathManager) AddPublisher(req defs.PathAddPublisherReq) (*de... method AddReader (line 31) | func (pm *PathManager) AddReader(req defs.PathAddReaderReq) (*defs.Pat... FILE: internal/test/static_source_parent.go type StaticSourceParent (line 11) | type StaticSourceParent struct method Log (line 18) | func (*StaticSourceParent) Log(logger.Level, string, ...any) {} method Initialize (line 21) | func (p *StaticSourceParent) Initialize() { method Close (line 26) | func (p *StaticSourceParent) Close() { method SetReady (line 31) | func (p *StaticSourceParent) SetReady(req defs.PathSourceStaticSetRead... method SetNotReady (line 70) | func (StaticSourceParent) SetNotReady(_ defs.PathSourceStaticSetNotRea... FILE: internal/test/temp_file.go function CreateTempFile (line 6) | func CreateTempFile(byts []byte) (string, error) { FILE: internal/teste2e/build_images_test.go function buildImage (line 14) | func buildImage(image string) error { function TestBuildImages (line 22) | func TestBuildImages(t *testing.T) { FILE: internal/teste2e/hls_manager_test.go function TestHLSServerRead (line 13) | func TestHLSServerRead(t *testing.T) { function TestHLSServerAuth (line 43) | func TestHLSServerAuth(t *testing.T) { FILE: internal/teste2e/images/gstreamer/exitafterframe.c type GstExitAfterFrame (line 9) | typedef struct type GstExitAfterFrameClass (line 17) | typedef struct function GstFlowReturn (line 40) | static GstFlowReturn function gst_exitafterframe_class_init (line 48) | static void function gst_exitafterframe_init (line 66) | static void function gboolean (line 81) | static gboolean FILE: internal/teste2e/rtsp_server_test.go function TestRTSPServerPublishRead (line 14) | func TestRTSPServerPublishRead(t *testing.T) { function TestRTSPServerRedirect (line 201) | func TestRTSPServerRedirect(t *testing.T) { FILE: internal/teste2e/tests_test.go function newInstance (line 15) | func newInstance(conf string) (*core.Core, bool) { type container (line 29) | type container struct method close (line 63) | func (c *container) close() { method wait (line 69) | func (c *container) wait() int { function newContainer (line 33) | func newContainer(image string, name string, args []string) (*container,... FILE: internal/unit/payload.go type Payload (line 4) | type Payload interface FILE: internal/unit/payload_ac3.go type PayloadAC3 (line 4) | type PayloadAC3 method isPayload (line 6) | func (PayloadAC3) isPayload() {} FILE: internal/unit/payload_av1.go type PayloadAV1 (line 4) | type PayloadAV1 method isPayload (line 6) | func (PayloadAV1) isPayload() {} FILE: internal/unit/payload_g711.go type PayloadG711 (line 4) | type PayloadG711 method isPayload (line 6) | func (PayloadG711) isPayload() {} FILE: internal/unit/payload_h264.go type PayloadH264 (line 4) | type PayloadH264 method isPayload (line 6) | func (PayloadH264) isPayload() {} FILE: internal/unit/payload_h265.go type PayloadH265 (line 4) | type PayloadH265 method isPayload (line 6) | func (PayloadH265) isPayload() {} FILE: internal/unit/payload_klv.go type PayloadKLV (line 4) | type PayloadKLV method isPayload (line 6) | func (PayloadKLV) isPayload() {} FILE: internal/unit/payload_lpcm.go type PayloadLPCM (line 4) | type PayloadLPCM method isPayload (line 6) | func (PayloadLPCM) isPayload() {} FILE: internal/unit/payload_mjpeg.go type PayloadMJPEG (line 4) | type PayloadMJPEG method isPayload (line 6) | func (PayloadMJPEG) isPayload() {} FILE: internal/unit/payload_mpeg1_audio.go type PayloadMPEG1Audio (line 4) | type PayloadMPEG1Audio method isPayload (line 6) | func (PayloadMPEG1Audio) isPayload() {} FILE: internal/unit/payload_mpeg1_video.go type PayloadMPEG1Video (line 4) | type PayloadMPEG1Video method isPayload (line 6) | func (PayloadMPEG1Video) isPayload() {} FILE: internal/unit/payload_mpeg4_audio.go type PayloadMPEG4Audio (line 4) | type PayloadMPEG4Audio method isPayload (line 6) | func (PayloadMPEG4Audio) isPayload() {} FILE: internal/unit/payload_mpeg4_audio_latm.go type PayloadMPEG4AudioLATM (line 4) | type PayloadMPEG4AudioLATM method isPayload (line 6) | func (PayloadMPEG4AudioLATM) isPayload() {} FILE: internal/unit/payload_mpeg4_video.go type PayloadMPEG4Video (line 4) | type PayloadMPEG4Video method isPayload (line 6) | func (PayloadMPEG4Video) isPayload() {} FILE: internal/unit/payload_opus.go type PayloadOpus (line 4) | type PayloadOpus method isPayload (line 6) | func (PayloadOpus) isPayload() {} FILE: internal/unit/payload_vp8.go type PayloadVP8 (line 4) | type PayloadVP8 method isPayload (line 6) | func (PayloadVP8) isPayload() {} FILE: internal/unit/payload_vp9.go type PayloadVP9 (line 4) | type PayloadVP9 method isPayload (line 6) | func (PayloadVP9) isPayload() {} FILE: internal/unit/unit.go type Unit (line 12) | type Unit struct method NilPayload (line 27) | func (u Unit) NilPayload() bool { FILE: main.go function main (line 10) | func main() {