SYMBOL INDEX (3570 symbols across 416 files) FILE: examples/go2rtc_hass/main.go function main (line 11) | func main() { FILE: examples/go2rtc_mjpeg/main.go function main (line 14) | func main() { FILE: examples/go2rtc_rtsp/main.go function main (line 10) | func main() { FILE: examples/homekit_info/main.go function main (line 86) | func main() { FILE: examples/mdns/main.go function main (line 10) | func main() { FILE: examples/mod_pinggy/main.go function main (line 10) | func main() { FILE: examples/onvif_client/main.go function main (line 11) | func main() { FILE: examples/rtsp_client/main.go function main (line 12) | func main() { FILE: examples/tutk_decoder/main.go function main (line 14) | func main() { type item (line 61) | type item struct FILE: internal/alsa/alsa.go function Init (line 5) | func Init() { FILE: internal/alsa/alsa_linux.go function Init (line 18) | func Init() { function apiAlsa (line 24) | func apiAlsa(w http.ResponseWriter, r *http.Request) { function formatsToString (line 66) | func formatsToString(formats []byte) string { FILE: internal/api/api.go function Init (line 21) | func Init() { function listen (line 93) | func listen(network, address string) { function tlsListen (line 111) | func tlsListen(network, address, certFile, keyFile string) { constant MimeJSON (line 147) | MimeJSON = "application/json" constant MimeText (line 148) | MimeText = "text/plain" function HandleFunc (line 156) | func HandleFunc(pattern string, handler http.HandlerFunc) { function ResponseJSON (line 170) | func ResponseJSON(w http.ResponseWriter, v any) { function ResponsePrettyJSON (line 175) | func ResponsePrettyJSON(w http.ResponseWriter, v any) { function Response (line 182) | func Response(w http.ResponseWriter, body any, contentType string) { constant StreamNotFound (line 195) | StreamNotFound = "stream not found" function middlewareLog (line 201) | func middlewareLog(next http.Handler) http.Handler { function isLoopback (line 208) | func isLoopback(remoteAddr string) bool { function middlewareAuth (line 212) | func middlewareAuth(username, password string, localAuth bool, next http... function middlewareCORS (line 227) | func middlewareCORS(next http.Handler) http.Handler { function apiHandler (line 238) | func apiHandler(w http.ResponseWriter, r *http.Request) { function exitHandler (line 246) | func exitHandler(w http.ResponseWriter, r *http.Request) { function restartHandler (line 264) | func restartHandler(w http.ResponseWriter, r *http.Request) { function logHandler (line 281) | func logHandler(w http.ResponseWriter, r *http.Request) { type Source (line 295) | type Source struct function ResponseSources (line 303) | func ResponseSources(w http.ResponseWriter, sources []*Source) { function Error (line 317) | func Error(w http.ResponseWriter, err error) { FILE: internal/api/config.go function configHandler (line 12) | func configHandler(w http.ResponseWriter, r *http.Request) { function mergeYAML (line 57) | func mergeYAML(file1 string, yaml2 []byte) ([]byte, error) { function merge (line 83) | func merge(dst, src map[string]any) map[string]any { FILE: internal/api/static.go function initStatic (line 9) | func initStatic(staticDir string) { FILE: internal/api/ws/ws.go function Init (line 19) | func Init() { type Message (line 38) | type Message struct method String (line 43) | func (m *Message) String() (value string) { method Unmarshal (line 50) | func (m *Message) Unmarshal(v any) error { type WSHandler (line 58) | type WSHandler function HandleFunc (line 60) | func HandleFunc(msgType string, handler WSHandler) { function initWS (line 66) | func initWS(origin string) { function apiWS (line 102) | func apiWS(w http.ResponseWriter, r *http.Request) { type Transport (line 148) | type Transport struct method OnWrite (line 162) | func (t *Transport) OnWrite(f func(msg any) error) { method Write (line 171) | func (t *Transport) Write(msg any) { method Close (line 177) | func (t *Transport) Close() { method OnChange (line 186) | func (t *Transport) OnChange(f func()) { method OnClose (line 192) | func (t *Transport) OnClose(f func()) { method WithContext (line 203) | func (t *Transport) WithContext(f func(ctx map[any]any)) { method Writer (line 212) | func (t *Transport) Writer() io.Writer { type writer (line 216) | type writer struct method Write (line 220) | func (w *writer) Write(p []byte) (n int, err error) { FILE: internal/app/app.go constant usage (line 20) | usage = `Usage of go2rtc: function Init (line 27) | func Init() { function readRevisionTime (line 92) | func readRevisionTime() (revision, vcsTime string) { FILE: internal/app/config.go function LoadConfig (line 14) | func LoadConfig(v any) { function PatchConfig (line 24) | func PatchConfig(path []string, value any) error { type flagConfig (line 43) | type flagConfig method String (line 45) | func (c *flagConfig) String() string { method Set (line 49) | func (c *flagConfig) Set(value string) error { function initConfig (line 56) | func initConfig(confs flagConfig) { function parseConfString (line 97) | func parseConfString(s string) []byte { FILE: internal/app/log.go function GetLogger (line 16) | func GetLogger(module string) zerolog.Logger { function initLogger (line 35) | func initLogger() { constant chunkCount (line 116) | chunkCount = 16 constant chunkSize (line 117) | chunkSize = 1 << 16 type circularBuffer (line 120) | type circularBuffer struct method Write (line 133) | func (b *circularBuffer) Write(p []byte) (n int, err error) { method WriteTo (line 165) | func (b *circularBuffer) WriteTo(w io.Writer) (n int64, err error) { method Reset (line 185) | func (b *circularBuffer) Reset() { function newBuffer (line 126) | func newBuffer() *circularBuffer { FILE: internal/app/storage.go function initStorage (line 10) | func initStorage() { function loadEnv (line 15) | func loadEnv(data []byte) { type envStorage (line 34) | type envStorage struct method SetValue (line 39) | func (s *envStorage) SetValue(name, value string) error { method GetValue (line 51) | func (s *envStorage) GetValue(name string) (value string, ok bool) { FILE: internal/bubble/bubble.go function Init (line 9) | func Init() { FILE: internal/debug/debug.go function Init (line 7) | func Init() { FILE: internal/debug/stack.go function stackHandler (line 36) | func stackHandler(w http.ResponseWriter, r *http.Request) { FILE: internal/doorbird/doorbird.go function Init (line 11) | func Init() { FILE: internal/dvrip/dvrip.go function Init (line 16) | func Init() { constant Port (line 23) | Port = 34569 function apiDvrip (line 25) | func apiDvrip(w http.ResponseWriter, r *http.Request) { function discover (line 35) | func discover() ([]*api.Source, error) { function sendBroadcasts (line 71) | func sendBroadcasts(conn *net.UDPConn) { type Message (line 89) | type Message struct type NetCommon (line 95) | type NetCommon struct function getResponses (line 117) | func getResponses(conn *net.UDPConn) (infos []*NetCommon) { function hexToDecimalBytes (line 155) | func hexToDecimalBytes(hexIP string) (string, error) { FILE: internal/echo/echo.go function Init (line 14) | func Init() { FILE: internal/eseecloud/eseecloud.go function Init (line 8) | func Init() { FILE: internal/exec/exec.go function Init (line 29) | func Init() { function execHandle (line 66) | func execHandle(rawURL string) (prod core.Producer, err error) { function handlePipe (line 131) | func handlePipe(source string, cmd *shell.Command) (core.Producer, error) { function handleRTSP (line 170) | func handleRTSP(source string, cmd *shell.Command, path string, timeout ... type logWriter (line 224) | type logWriter struct method String (line 230) | func (l *logWriter) String() string { method Write (line 237) | func (l *logWriter) Write(p []byte) (n int, err error) { function trimSpace (line 250) | func trimSpace(b []byte) []byte { function setRemoteInfo (line 269) | func setRemoteInfo(info core.Info, source string, args []string) { FILE: internal/expr/expr.go function Init (line 11) | func Init() { FILE: internal/ffmpeg/api.go function apiFFmpeg (line 10) | func apiFFmpeg(w http.ResponseWriter, r *http.Request) { FILE: internal/ffmpeg/device/device_bsd.go function queryToInput (line 16) | func queryToInput(query url.Values) string { function initDevices (line 49) | func initDevices() { FILE: internal/ffmpeg/device/device_darwin.go function queryToInput (line 15) | func queryToInput(query url.Values) string { function initDevices (line 46) | func initDevices() { FILE: internal/ffmpeg/device/device_unix.go function queryToInput (line 16) | func queryToInput(query url.Values) string { function initDevices (line 50) | func initDevices() { FILE: internal/ffmpeg/device/device_windows.go function queryToInput (line 14) | func queryToInput(query url.Values) string { function initDevices (line 64) | func initDevices() { FILE: internal/ffmpeg/device/devices.go function Init (line 12) | func Init(bin string) { function GetInput (line 18) | func GetInput(src string) string { function apiDevices (line 35) | func apiDevices(w http.ResponseWriter, r *http.Request) { function indexToItem (line 41) | func indexToItem(items []string, index string) string { FILE: internal/ffmpeg/ffmpeg.go function Init (line 19) | func Init() { function configTemplate (line 155) | func configTemplate(template string) string { function inputTemplate (line 165) | func inputTemplate(name, s string, query url.Values) string { function parseArgs (line 182) | func parseArgs(s string) *ffmpeg.Args { FILE: internal/ffmpeg/ffmpeg_test.go function TestParseArgsFile (line 10) | func TestParseArgsFile(t *testing.T) { function TestParseArgsDevice (line 55) | func TestParseArgsDevice(t *testing.T) { function TestParseArgsIpCam (line 85) | func TestParseArgsIpCam(t *testing.T) { function TestParseArgsAudio (line 140) | func TestParseArgsAudio(t *testing.T) { function TestParseArgsHwVaapi (line 200) | func TestParseArgsHwVaapi(t *testing.T) { function _TestParseArgsHwV4l2m2m (line 240) | func _TestParseArgsHwV4l2m2m(t *testing.T) { function TestParseArgsHwRKMPP (line 258) | func TestParseArgsHwRKMPP(t *testing.T) { function _TestParseArgsHwCuda (line 288) | func _TestParseArgsHwCuda(t *testing.T) { function _TestParseArgsHwDxva2 (line 306) | func _TestParseArgsHwDxva2(t *testing.T) { function _TestParseArgsHwVideotoolbox (line 328) | func _TestParseArgsHwVideotoolbox(t *testing.T) { function TestDeckLink (line 346) | func TestDeckLink(t *testing.T) { function TestDrawText (line 351) | func TestDrawText(t *testing.T) { function TestVersion (line 378) | func TestVersion(t *testing.T) { FILE: internal/ffmpeg/hardware/hardware.go constant EngineSoftware (line 13) | EngineSoftware = "software" constant EngineVAAPI (line 14) | EngineVAAPI = "vaapi" constant EngineV4L2M2M (line 15) | EngineV4L2M2M = "v4l2m2m" constant EngineCUDA (line 16) | EngineCUDA = "cuda" constant EngineDXVA2 (line 17) | EngineDXVA2 = "dxva2" constant EngineVideoToolbox (line 18) | EngineVideoToolbox = "videotoolbox" constant EngineRKMPP (line 19) | EngineRKMPP = "rkmpp" function Init (line 22) | func Init(bin string) { function MakeHardware (line 30) | func MakeHardware(args *ffmpeg.Args, engine string, defaults map[string]... function run (line 164) | func run(bin string, args string) bool { function runToString (line 169) | func runToString(bin string, args string) string { function cut (line 177) | func cut(s string, sep byte, pos int) string { function fixPixelFormat (line 195) | func fixPixelFormat(args *ffmpeg.Args) { FILE: internal/ffmpeg/hardware/hardware_bsd.go constant ProbeV4L2M2MH264 (line 12) | ProbeV4L2M2MH264 = "-f lavfi -i testsrc2 -t 1 -c h264_v4l2m2m -f null -" constant ProbeV4L2M2MH265 (line 13) | ProbeV4L2M2MH265 = "-f lavfi -i testsrc2 -t 1 -c hevc_v4l2m2m -f null -" constant ProbeRKMPPH264 (line 14) | ProbeRKMPPH264 = "-f lavfi -i testsrc2 -t 1 -c h264_rkmpp_encoder -f n... constant ProbeRKMPPH265 (line 15) | ProbeRKMPPH265 = "-f lavfi -i testsrc2 -t 1 -c hevc_rkmpp_encoder -f n... function ProbeAll (line 18) | func ProbeAll(bin string) []*api.Source { function ProbeHardware (line 39) | func ProbeHardware(bin, name string) string { FILE: internal/ffmpeg/hardware/hardware_darwin.go constant ProbeVideoToolboxH264 (line 9) | ProbeVideoToolboxH264 = "-f lavfi -i testsrc2=size=svga -t 1 -c h264_vid... constant ProbeVideoToolboxH265 (line 10) | ProbeVideoToolboxH265 = "-f lavfi -i testsrc2=size=svga -t 1 -c hevc_vid... function ProbeAll (line 12) | func ProbeAll(bin string) []*api.Source { function ProbeHardware (line 25) | func ProbeHardware(bin, name string) string { FILE: internal/ffmpeg/hardware/hardware_unix.go constant ProbeV4L2M2MH264 (line 12) | ProbeV4L2M2MH264 = "-f lavfi -i testsrc2 -t 1 -c h264_v4l2m2m -f null -" constant ProbeV4L2M2MH265 (line 13) | ProbeV4L2M2MH265 = "-f lavfi -i testsrc2 -t 1 -c hevc_v4l2m2m -f null -" constant ProbeRKMPPH264 (line 14) | ProbeRKMPPH264 = "-f lavfi -i testsrc2 -t 1 -c h264_rkmpp -f null -" constant ProbeRKMPPH265 (line 15) | ProbeRKMPPH265 = "-f lavfi -i testsrc2 -t 1 -c hevc_rkmpp -f null -" constant ProbeRKMPPJPEG (line 16) | ProbeRKMPPJPEG = "-f lavfi -i testsrc2 -t 1 -c mjpeg_rkmpp -f null -" constant ProbeVAAPIH264 (line 17) | ProbeVAAPIH264 = "-init_hw_device vaapi -f lavfi -i testsrc2 -t 1 -vf ... constant ProbeVAAPIH265 (line 18) | ProbeVAAPIH265 = "-init_hw_device vaapi -f lavfi -i testsrc2 -t 1 -vf ... constant ProbeVAAPIJPEG (line 19) | ProbeVAAPIJPEG = "-init_hw_device vaapi -f lavfi -i testsrc2 -t 1 -vf ... constant ProbeCUDAH264 (line 20) | ProbeCUDAH264 = "-init_hw_device cuda -f lavfi -i testsrc2 -t 1 -c h2... constant ProbeCUDAH265 (line 21) | ProbeCUDAH265 = "-init_hw_device cuda -f lavfi -i testsrc2 -t 1 -c he... function ProbeAll (line 24) | func ProbeAll(bin string) []*api.Source { function ProbeHardware (line 74) | func ProbeHardware(bin, name string) string { FILE: internal/ffmpeg/hardware/hardware_windows.go constant ProbeDXVA2H264 (line 7) | ProbeDXVA2H264 = "-init_hw_device dxva2 -f lavfi -i testsrc2 -t 1 -c h26... constant ProbeDXVA2H265 (line 8) | ProbeDXVA2H265 = "-init_hw_device dxva2 -f lavfi -i testsrc2 -t 1 -c hev... constant ProbeDXVA2JPEG (line 9) | ProbeDXVA2JPEG = "-init_hw_device dxva2 -f lavfi -i testsrc2 -t 1 -c mjp... constant ProbeCUDAH264 (line 10) | ProbeCUDAH264 = "-init_hw_device cuda -f lavfi -i testsrc2 -t 1 -c h264_... constant ProbeCUDAH265 (line 11) | ProbeCUDAH265 = "-init_hw_device cuda -f lavfi -i testsrc2 -t 1 -c hevc_... function ProbeAll (line 13) | func ProbeAll(bin string) []*api.Source { function ProbeHardware (line 38) | func ProbeHardware(bin, name string) string { FILE: internal/ffmpeg/jpeg.go function JPEGWithQuery (line 15) | func JPEGWithQuery(b []byte, query url.Values) ([]byte, error) { function JPEGWithScale (line 20) | func JPEGWithScale(b []byte, width, height int) ([]byte, error) { function transcode (line 26) | func transcode(b []byte, args string) ([]byte, error) { function defaultArgs (line 33) | func defaultArgs() *ffmpeg.Args { function parseQuery (line 43) | func parseQuery(query url.Values) *ffmpeg.Args { FILE: internal/ffmpeg/jpeg_test.go function TestParseQuery (line 10) | func TestParseQuery(t *testing.T) { FILE: internal/ffmpeg/producer.go type Producer (line 15) | type Producer struct method Start (line 61) | func (p *Producer) Start() error { method Stop (line 78) | func (p *Producer) Stop() error { method MarshalJSON (line 85) | func (p *Producer) MarshalJSON() ([]byte, error) { method newURL (line 92) | func (p *Producer) newURL() string { function NewProducer (line 23) | func NewProducer(url string) (core.Producer, error) { FILE: internal/ffmpeg/version.go function Version (line 16) | func Version() (string, error) { FILE: internal/ffmpeg/virtual/virtual.go function GetInput (line 7) | func GetInput(src string) string { function GetInputTTS (line 64) | func GetInputTTS(src string) string { FILE: internal/ffmpeg/virtual/virtual_test.go function TestGetInput (line 9) | func TestGetInput(t *testing.T) { function TestGetInputTTS (line 17) | func TestGetInputTTS(t *testing.T) { FILE: internal/flussonic/flussonic.go function Init (line 8) | func Init() { FILE: internal/gopro/gopro.go function Init (line 12) | func Init() { function apiGoPro (line 20) | func apiGoPro(w http.ResponseWriter, r *http.Request) { FILE: internal/hass/api.go function apiOK (line 15) | func apiOK(w http.ResponseWriter, r *http.Request) { function apiStream (line 19) | func apiStream(w http.ResponseWriter, r *http.Request) { function HassioAddr (line 77) | func HassioAddr() string { type addJSON (line 96) | type addJSON struct FILE: internal/hass/hass.go function Init (line 22) | func Init() { function importConfig (line 102) | func importConfig(config string) error { function importWebRTC (line 193) | func importWebRTC(token string) error { FILE: internal/hls/hls.go function Init (line 18) | func Init() { constant keepalive (line 36) | keepalive = 5 * time.Second function handlerStream (line 42) | func handlerStream(w http.ResponseWriter, r *http.Request) { function handlerPlaylist (line 100) | func handlerPlaylist(w http.ResponseWriter, r *http.Request) { function handlerSegmentTS (line 123) | func handlerSegmentTS(w http.ResponseWriter, r *http.Request) { function handlerInit (line 155) | func handlerInit(w http.ResponseWriter, r *http.Request) { function handlerSegmentMP4 (line 185) | func handlerSegmentMP4(w http.ResponseWriter, r *http.Request) { FILE: internal/hls/session.go type Session (line 14) | type Session struct method Write (line 56) | func (s *Session) Write(p []byte) (n int, err error) { method Run (line 67) | func (s *Session) Run() { method Main (line 71) | func (s *Session) Main() []byte { method Playlist (line 85) | func (s *Session) Playlist() []byte { method Init (line 89) | func (s *Session) Init() (init []byte) { method Segment (line 106) | func (s *Session) Segment() (segment []byte) { function NewSession (line 25) | func NewSession(cons core.Consumer) *Session { FILE: internal/hls/ws.go function handlerWSHLS (line 13) | func handlerWSHLS(tr *ws.Transport, msg *ws.Message) error { FILE: internal/homekit/api.go function apiDiscovery (line 18) | func apiDiscovery(w http.ResponseWriter, r *http.Request) { function apiHomekit (line 45) | func apiHomekit(w http.ResponseWriter, r *http.Request) { function apiHomekitAccessories (line 78) | func apiHomekitAccessories(w http.ResponseWriter, r *http.Request) { function discovery (line 109) | func discovery() ([]*api.Source, error) { function apiPair (line 140) | func apiPair(id, url string) error { function apiUnpair (line 151) | func apiUnpair(id string) error { function findHomeKitURLs (line 171) | func findHomeKitURLs() map[string]*url.URL { FILE: internal/homekit/homekit.go function Init (line 20) | func Init() { function streamHandler (line 131) | func streamHandler(rawURL string) (core.Producer, error) { function resolve (line 148) | func resolve(host string) *server { function hapHandler (line 160) | func hapHandler(w http.ResponseWriter, r *http.Request) { function findHomeKitURL (line 172) | func findHomeKitURL(sources []string) string { function parseBitrate (line 192) | func parseBitrate(s string) int { FILE: internal/homekit/server.go type server (line 32) | type server struct method MarshalJSON (line 47) | func (s *server) MarshalJSON() ([]byte, error) { method Handle (line 70) | func (s *server) Handle(w http.ResponseWriter, r *http.Request) { method AddConn (line 147) | func (s *server) AddConn(v any) { method DelConn (line 154) | func (s *server) DelConn(v any) { method UpdateStatus (line 163) | func (s *server) UpdateStatus() { method pairIndex (line 172) | func (s *server) pairIndex(id string) int { method GetPair (line 182) | func (s *server) GetPair(id string) []byte { method AddPair (line 194) | func (s *server) AddPair(id string, public []byte, permissions byte) { method DelPair (line 208) | func (s *server) DelPair(id string) { method PatchConfig (line 220) | func (s *server) PatchConfig() { method GetAccessories (line 228) | func (s *server) GetAccessories(_ net.Conn) []*hap.Accessory { method GetCharacteristic (line 232) | func (s *server) GetCharacteristic(conn net.Conn, aid uint8, iid uint6... method SetCharacteristic (line 260) | func (s *server) SetCharacteristic(conn net.Conn, aid uint8, iid uint6... method GetImage (line 327) | func (s *server) GetImage(conn net.Conn, width, height int) []byte { type logger (line 131) | type logger struct method String (line 135) | func (l logger) String() string { function calcName (line 354) | func calcName(name, seed string) string { function calcDeviceID (line 362) | func calcDeviceID(deviceID, seed string) string { function calcDevicePrivate (line 375) | func calcDevicePrivate(private, seed string) []byte { function calcSetupID (line 389) | func calcSetupID(seed string) string { function calcCategoryID (line 394) | func calcCategoryID(categoryID string) string { FILE: internal/http/http.go function Init (line 21) | func Init() { function handleHTTP (line 31) | func handleHTTP(rawURL string) (core.Producer, error) { function do (line 63) | func do(req *http.Request) (core.Producer, error) { function handleTCP (line 99) | func handleTCP(rawURL string) (core.Producer, error) { function apiStream (line 113) | func apiStream(w http.ResponseWriter, r *http.Request) { FILE: internal/isapi/init.go function Init (line 9) | func Init() { FILE: internal/ivideon/ivideon.go function Init (line 8) | func Init() { FILE: internal/kasa/kasa.go function Init (line 9) | func Init() { FILE: internal/mjpeg/mjpeg.go function Init (line 26) | func Init() { function handlerKeyframe (line 39) | func handlerKeyframe(w http.ResponseWriter, r *http.Request) { type cacheEntry (line 112) | type cacheEntry struct function writeJPEGResponse (line 117) | func writeJPEGResponse(w http.ResponseWriter, b []byte) { function handlerStream (line 130) | func handlerStream(w http.ResponseWriter, r *http.Request) { function outputMjpeg (line 138) | func outputMjpeg(w http.ResponseWriter, r *http.Request) { function inputMjpeg (line 173) | func inputMjpeg(w http.ResponseWriter, r *http.Request) { function handlerWS (line 193) | func handlerWS(tr *ws.Transport, _ *ws.Message) error { function apiStreamY4M (line 218) | func apiStreamY4M(w http.ResponseWriter, r *http.Request) { FILE: internal/mp4/mp4.go function Init (line 19) | func Init() { function handlerKeyframe (line 31) | func handlerKeyframe(w http.ResponseWriter, r *http.Request) { function handlerMP4 (line 77) | func handlerMP4(w http.ResponseWriter, r *http.Request) { FILE: internal/mp4/ws.go function handlerWSMSE (line 13) | func handlerWSMSE(tr *ws.Transport, msg *ws.Message) error { function handlerWSMP4 (line 45) | func handlerWSMP4(tr *ws.Transport, msg *ws.Message) error { FILE: internal/mpeg/mpeg.go function Init (line 12) | func Init() { function apiHandle (line 17) | func apiHandle(w http.ResponseWriter, r *http.Request) { function outputMpegTS (line 25) | func outputMpegTS(w http.ResponseWriter, r *http.Request) { function inputMpegTS (line 48) | func inputMpegTS(w http.ResponseWriter, r *http.Request) { function apiStreamAAC (line 71) | func apiStreamAAC(w http.ResponseWriter, r *http.Request) { FILE: internal/multitrans/multitrans.go function Init (line 8) | func Init() { FILE: internal/nest/init.go function Init (line 13) | func Init() { function apiNest (line 21) | func apiNest(w http.ResponseWriter, r *http.Request) { FILE: internal/ngrok/ngrok.go function Init (line 14) | func Init() { function ConvertHostToIP (line 68) | func ConvertHostToIP(address string) (string, error) { FILE: internal/onvif/onvif.go function Init (line 22) | func Init() { function streamOnvif (line 36) | func streamOnvif(rawURL string) (core.Producer, error) { function onvifDeviceService (line 61) | func onvifDeviceService(w http.ResponseWriter, r *http.Request) { function apiOnvif (line 161) | func apiOnvif(w http.ResponseWriter, r *http.Request) { FILE: internal/pinggy/pinggy.go function Init (line 11) | func Init() { function proxy (line 37) | func proxy(proto, address string) { FILE: internal/ring/ring.go function Init (line 15) | func Init() { function apiRing (line 23) | func apiRing(w http.ResponseWriter, r *http.Request) { FILE: internal/roborock/roborock.go function Init (line 13) | func Init() { function apiHandle (line 26) | func apiHandle(w http.ResponseWriter, r *http.Request) { FILE: internal/rtmp/rtmp.go function Init (line 18) | func Init() { function tcpHandle (line 68) | func tcpHandle(netConn net.Conn) error { function streamsHandle (line 129) | func streamsHandle(url string) (core.Producer, error) { function streamsConsumerHandle (line 133) | func streamsConsumerHandle(url string) (core.Consumer, func(), error) { function apiHandle (line 146) | func apiHandle(w http.ResponseWriter, r *http.Request) { function outputFLV (line 154) | func outputFLV(w http.ResponseWriter, r *http.Request) { function inputFLV (line 178) | func inputFLV(w http.ResponseWriter, r *http.Request) { FILE: internal/rtsp/rtsp.go function Init (line 18) | func Init() { type Handler (line 81) | type Handler function HandleFunc (line 83) | func HandleFunc(handler Handler) { function rtspHandler (line 95) | func rtspHandler(rawURL string) (core.Producer, error) { function tcpHandler (line 146) | func tcpHandler(conn *rtsp.Conn) { function ParseQuery (line 290) | func ParseQuery(query map[string][]string) []*core.Media { FILE: internal/srtp/srtp.go function Init (line 8) | func Init() { FILE: internal/streams/add_consumer.go method AddConsumer (line 10) | func (s *Stream) AddConsumer(cons core.Consumer) (err error) { function formatError (line 117) | func formatError(consMedias, prodMedias []*core.Media, prodErrors []erro... function appendString (line 158) | func appendString(s, elem string) string { FILE: internal/streams/api.go function apiStreams (line 13) | func apiStreams(w http.ResponseWriter, r *http.Request) { function apiStreamsDOT (line 109) | func apiStreamsDOT(w http.ResponseWriter, r *http.Request) { function apiPreload (line 132) | func apiPreload(w http.ResponseWriter, r *http.Request) { function apiSchemes (line 179) | func apiSchemes(w http.ResponseWriter, r *http.Request) { FILE: internal/streams/api_test.go function TestApiSchemes (line 13) | func TestApiSchemes(t *testing.T) { function TestApiSchemesNoDuplicates (line 40) | func TestApiSchemesNoDuplicates(t *testing.T) { FILE: internal/streams/dot.go function AppendDOT (line 9) | func AppendDOT(dot []byte, stream *Stream) []byte { function marshalConn (line 30) | func marshalConn(v any) (*conn, error) { constant bytesK (line 42) | bytesK = "KMGTP" function humanBytes (line 44) | func humanBytes(i int) string { type node (line 58) | type node struct method name (line 70) | func (n *node) name() string { method codec (line 77) | func (n *node) codec() []byte { method appendDOT (line 90) | func (n *node) appendDOT(dot []byte, group string) []byte { type conn (line 98) | type conn struct method appendDOT (line 112) | func (c *conn) appendDOT(dot []byte, group string) []byte { method host (line 134) | func (c *conn) host() (s string) { method label (line 159) | func (c *conn) label() string { FILE: internal/streams/handlers.go type Handler (line 11) | type Handler function HandleFunc (line 15) | func HandleFunc(scheme string, handler Handler) { function SupportedSchemes (line 19) | func SupportedSchemes() []string { function HasProducer (line 34) | func HasProducer(url string) bool { function GetProducer (line 50) | func GetProducer(url string) (core.Producer, error) { type Redirect (line 73) | type Redirect function RedirectFunc (line 77) | func RedirectFunc(scheme string, redirect Redirect) { function Location (line 81) | func Location(url string) (string, error) { type ConsumerHandler (line 95) | type ConsumerHandler function HandleConsumerFunc (line 99) | func HandleConsumerFunc(scheme string, handler ConsumerHandler) { function GetConsumer (line 103) | func GetConsumer(url string) (core.Consumer, func(), error) { function MarkInsecure (line 117) | func MarkInsecure(scheme string) { function Validate (line 123) | func Validate(source string) error { FILE: internal/streams/helpers.go function ParseQuery (line 8) | func ParseQuery(s string) url.Values { FILE: internal/streams/play.go method Play (line 10) | func (s *Stream) Play(urlOrProd any) error { method AddInternalProducer (line 111) | func (s *Stream) AddInternalProducer(conn core.Producer) { method AddInternalConsumer (line 118) | func (s *Stream) AddInternalConsumer(conn core.Consumer) { method RemoveInternalConsumer (line 124) | func (s *Stream) RemoveInternalConsumer(conn core.Consumer) { function matchMedia (line 135) | func matchMedia(prod core.Producer, cons core.Consumer) bool { FILE: internal/streams/preload.go type Preload (line 12) | type Preload struct function AddPreload (line 21) | func AddPreload(name, rawQuery string) error { function DelPreload (line 52) | func DelPreload(name string) error { function GetPreloads (line 65) | func GetPreloads() map[string]*Preload { FILE: internal/streams/producer.go type state (line 13) | type state constant stateNone (line 16) | stateNone state = iota constant stateMedias (line 17) | stateMedias constant stateTracks (line 18) | stateTracks constant stateStart (line 19) | stateStart constant stateExternal (line 20) | stateExternal constant stateInternal (line 21) | stateInternal type Producer (line 24) | type Producer struct method SetSource (line 49) | func (p *Producer) SetSource(s string) { method Dial (line 57) | func (p *Producer) Dial() error { method GetMedias (line 74) | func (p *Producer) GetMedias() []*core.Media { method GetTrack (line 85) | func (p *Producer) GetTrack(media *core.Media, codec *core.Codec) (*co... method AddTrack (line 113) | func (p *Producer) AddTrack(media *core.Media, codec *core.Codec, trac... method MarshalJSON (line 134) | func (p *Producer) MarshalJSON() ([]byte, error) { method start (line 144) | func (p *Producer) start() { method worker (line 160) | func (p *Producer) worker(conn core.Producer, workerID int) { method reconnect (line 176) | func (p *Producer) reconnect(workerID, retry int) { method stop (line 245) | func (p *Producer) stop() { constant SourceTemplate (line 39) | SourceTemplate = "{input}" function NewProducer (line 41) | func NewProducer(source string) *Producer { FILE: internal/streams/publish.go method Publish (line 5) | func (s *Stream) Publish(url string) error { function Publish (line 27) | func Publish(stream *Stream, destination any) { FILE: internal/streams/stream.go type Stream (line 11) | type Stream struct method Sources (line 50) | func (s *Stream) Sources() []string { method SetSource (line 58) | func (s *Stream) SetSource(source string) { method RemoveConsumer (line 64) | func (s *Stream) RemoveConsumer(cons core.Consumer) { method AddProducer (line 79) | func (s *Stream) AddProducer(prod core.Producer) { method RemoveProducer (line 86) | func (s *Stream) RemoveProducer(prod core.Producer) { method stopProducers (line 97) | func (s *Stream) stopProducers() { method MarshalJSON (line 121) | func (s *Stream) MarshalJSON() ([]byte, error) { function NewStream (line 18) | func NewStream(source any) *Stream { FILE: internal/streams/stream_test.go function TestRecursion (line 11) | func TestRecursion(t *testing.T) { function TestTempate (line 30) | func TestTempate(t *testing.T) { FILE: internal/streams/streams.go function Init (line 14) | func Init() { function New (line 53) | func New(name string, sources ...string) (*Stream, error) { function Patch (line 73) | func Patch(name string, source string) (*Stream, error) { function GetOrPatch (line 118) | func GetOrPatch(query url.Values) (*Stream, error) { function Get (line 146) | func Get(name string) *Stream { function Delete (line 152) | func Delete(name string) { function GetAllNames (line 158) | func GetAllNames() []string { function GetAllSources (line 168) | func GetAllSources() map[string][]string { FILE: internal/tapo/tapo.go function Init (line 10) | func Init() { FILE: internal/tuya/tuya.go function Init (line 18) | func Init() { function apiTuya (line 26) | func apiTuya(w http.ResponseWriter, r *http.Request) { function login (line 124) | func login(client *http.Client, serverHost, email, password, countryCode... function getLoginToken (line 167) | func getLoginToken(client *http.Client, serverHost, username, countryCod... function performLogin (line 210) | func performLogin(client *http.Client, url string, loginReq tuya.Passwor... function containsDevice (line 241) | func containsDevice(devices []tuya.Device, deviceID string) bool { FILE: internal/v4l2/v4l2.go function Init (line 5) | func Init() { FILE: internal/v4l2/v4l2_linux.go function Init (line 19) | func Init() { function apiV4L2 (line 27) | func apiV4L2(w http.ResponseWriter, r *http.Request) { function findFormat (line 84) | func findFormat(fourCC uint32) (name, ffmpeg string) { FILE: internal/webrtc/candidates.go type Address (line 14) | type Address struct method Host (line 23) | func (a *Address) Host() string { method Marshal (line 34) | func (a *Address) Marshal() string { function AddCandidate (line 44) | func AddCandidate(network, address string) { function GetCandidates (line 64) | func GetCandidates() (candidates []string) { function FilterCandidate (line 74) | func FilterCandidate(candidate *pion.ICECandidate) bool { function NetworkType (line 102) | func NetworkType(network, host string) string { function asyncCandidates (line 110) | func asyncCandidates(tr *ws.Transport, cons *webrtc.Conn) { function candidateHandler (line 132) | func candidateHandler(tr *ws.Transport, msg *ws.Message) error { FILE: internal/webrtc/client.go function streamsHandler (line 26) | func streamsHandler(rawURL string) (core.Producer, error) { function go2rtcClient (line 71) | func go2rtcClient(url string) (core.Producer, error) { function whepClient (line 185) | func whepClient(url string) (core.Producer, error) { function Dial (line 236) | func Dial(rawURL string) (*websocket.Conn, *http.Response, error) { FILE: internal/webrtc/client_creality.go function crealityClient (line 17) | func crealityClient(url string) (core.Producer, error) { function offerToB64 (line 79) | func offerToB64(sdp string) (io.Reader, error) { function answerFromB64 (line 98) | func answerFromB64(r io.Reader) (string, error) { function fixCrealitySDP (line 120) | func fixCrealitySDP(value string) (string, error) { FILE: internal/webrtc/kinesis.go type kinesisRequest (line 18) | type kinesisRequest struct method String (line 24) | func (k kinesisRequest) String() string { type kinesisResponse (line 28) | type kinesisResponse struct method String (line 33) | func (k kinesisResponse) String() string { function kinesisClient (line 37) | func kinesisClient( type wyzeKVS (line 200) | type wyzeKVS struct function wyzeClient (line 208) | func wyzeClient(rawURL string) (core.Producer, error) { FILE: internal/webrtc/milestone.go type milestoneAPI (line 25) | type milestoneAPI struct method GetToken (line 32) | func (m *milestoneAPI) GetToken() error { method GetOffer (line 80) | func (m *milestoneAPI) GetOffer() (string, error) { method SetAnswer (line 139) | func (m *milestoneAPI) SetAnswer(sdp string) error { function parseFloat (line 72) | func parseFloat(s string) float64 { function milestoneClient (line 178) | func milestoneClient(rawURL string, query url.Values) (core.Producer, er... FILE: internal/webrtc/openipc.go function openIPCClient (line 15) | func openIPCClient(rawURL string, query url.Values) (core.Producer, erro... type openIPCReply (line 152) | type openIPCReply struct method String (line 157) | func (r openIPCReply) String() string { type openIPCReq (line 162) | type openIPCReq struct method String (line 167) | func (r openIPCReq) String() string { FILE: internal/webrtc/server.go constant MimeSDP (line 19) | MimeSDP = "application/sdp" function syncHandler (line 23) | func syncHandler(w http.ResponseWriter, r *http.Request) { function outputWebRTC (line 65) | func outputWebRTC(w http.ResponseWriter, r *http.Request) { function inputWebRTC (line 166) | func inputWebRTC(w http.ResponseWriter, r *http.Request) { FILE: internal/webrtc/switchbot.go function switchbotClient (line 10) | func switchbotClient(rawURL string, query url.Values) (core.Producer, er... FILE: internal/webrtc/webrtc.go function Init (line 18) | func Init() { function asyncHandler (line 117) | func asyncHandler(tr *ws.Transport, msg *ws.Message) (err error) { function ExchangeSDP (line 242) | func ExchangeSDP(stream *streams.Stream, offer, desc, userAgent string) ... function IsConsumer (line 301) | func IsConsumer(conn *webrtc.Conn) bool { FILE: internal/webrtc/webrtc_test.go function TestWebRTCAPIv1 (line 13) | func TestWebRTCAPIv1(t *testing.T) { function TestWebRTCAPIv2 (line 22) | func TestWebRTCAPIv2(t *testing.T) { function TestCrealitySDP (line 41) | func TestCrealitySDP(t *testing.T) { FILE: internal/webtorrent/init.go function Init (line 18) | func Init() { function apiHandle (line 91) | func apiHandle(w http.ResponseWriter, r *http.Request) { function streamHandle (line 157) | func streamHandle(rawURL string) (core.Producer, error) { FILE: internal/webtorrent/tracker.go function tracker (line 14) | func tracker(w http.ResponseWriter, r *http.Request) { FILE: internal/wyoming/wyoming.go function Init (line 13) | func Init() { function serve (line 75) | func serve(srv *wyoming.Server, mode, address string) { function handle (line 91) | func handle(srv *wyoming.Server, mode string, conn net.Conn) { FILE: internal/wyze/wyze.go type AccountConfig (line 16) | type AccountConfig struct function Init (line 24) | func Init() { function getCloud (line 42) | func getCloud(email string) (*wyze.Cloud, error) { function apiWyze (line 61) | func apiWyze(w http.ResponseWriter, r *http.Request) { function apiDeviceList (line 70) | func apiDeviceList(w http.ResponseWriter, r *http.Request) { function apiAuth (line 112) | func apiAuth(w http.ResponseWriter, r *http.Request) { function buildStreamURL (line 182) | func buildStreamURL(cam *wyze.Camera) string { function isAuthError (line 196) | func isAuthError(err error, target **wyze.AuthError) bool { FILE: internal/xiaomi/xiaomi.go function Init (line 22) | func Init() { function getCloud (line 59) | func getCloud(userID string) (*xiaomi.Cloud, error) { function cloudRequest (line 79) | func cloudRequest(userID, region, apiURL, params string) ([]byte, error) { function cloudUserRequest (line 87) | func cloudUserRequest(user *url.Userinfo, apiURL, params string) ([]byte... function getCameraURL (line 93) | func getCameraURL(url *url.URL) (string, error) { function getLegacyURL (line 110) | func getLegacyURL(url *url.URL) (string, error) { function getMissURL (line 152) | func getMissURL(url *url.URL) (string, error) { function getVendorName (line 200) | func getVendorName(i byte) string { function wakeUpCamera (line 214) | func wakeUpCamera(url *url.URL) error { function apiXiaomi (line 221) | func apiXiaomi(w http.ResponseWriter, r *http.Request) { function apiDeviceList (line 230) | func apiDeviceList(w http.ResponseWriter, r *http.Request) { type Device (line 284) | type Device struct method HasCamera (line 292) | func (d *Device) HasCamera() bool { function apiAuth (line 300) | func apiAuth(w http.ResponseWriter, r *http.Request) { constant AppXiaomiHome (line 354) | AppXiaomiHome = "xiaomiio" function GetBaseURL (line 356) | func GetBaseURL(region string) string { FILE: internal/yandex/goloom.go function goloomClient (line 17) | func goloomClient(serviceURL, serviceName, roomId, participantId, creden... type subscriberSdp (line 141) | type subscriberSdp struct type webrtcIceCandidate (line 146) | type webrtcIceCandidate struct FILE: internal/yandex/yandex.go function Init (line 11) | func Init() { FILE: main.go function main (line 54) | func main() { FILE: pkg/aac/aac.go constant TypeAACMain (line 12) | TypeAACMain = 1 constant TypeAACLC (line 13) | TypeAACLC = 2 constant TypeAACLD (line 14) | TypeAACLD = 23 constant TypeESCAPE (line 15) | TypeESCAPE = 31 constant TypeAACELD (line 16) | TypeAACELD = 39 constant AUTime (line 18) | AUTime = 1024 constant FMTP (line 21) | FMTP = "streamtype=5;profile-level-id=1;mode=AAC-hbr;sizelength=13;index... function ConfigToCodec (line 29) | func ConfigToCodec(conf []byte) *core.Codec { function DecodeConfig (line 61) | func DecodeConfig(b []byte) (objType, sampleFreqIdx, channels byte, samp... function EncodeConfig (line 80) | func EncodeConfig(objType byte, sampleRate uint32, channels byte, shortF... function indexUint32 (line 119) | func indexUint32(s []uint32, v uint32) int { FILE: pkg/aac/aac_test.go function TestConfigToCodec (line 11) | func TestConfigToCodec(t *testing.T) { function TestADTS (line 26) | func TestADTS(t *testing.T) { function TestEncodeConfig (line 45) | func TestEncodeConfig(t *testing.T) { FILE: pkg/aac/adts.go constant ADTSHeaderSize (line 11) | ADTSHeaderSize = 7 function ADTSHeaderLen (line 13) | func ADTSHeaderLen(b []byte) int { function IsADTS (line 20) | func IsADTS(b []byte) bool { function HasCRC (line 27) | func HasCRC(b []byte) bool { function ADTSToCodec (line 33) | func ADTSToCodec(b []byte) *core.Codec { function ReadADTSSize (line 76) | func ReadADTSSize(b []byte) uint16 { function WriteADTSSize (line 82) | func WriteADTSSize(b []byte, size uint16) { function ADTSTimeSize (line 91) | func ADTSTimeSize(b []byte) uint32 { function CodecToADTS (line 101) | func CodecToADTS(codec *core.Codec) []byte { function EncodeToADTS (line 131) | func EncodeToADTS(codec *core.Codec, handler core.HandlerFunc) core.Hand... FILE: pkg/aac/consumer.go type Consumer (line 10) | type Consumer struct method AddTrack (line 37) | func (c *Consumer) AddTrack(media *core.Media, codec *core.Codec, trac... method WriteTo (line 57) | func (c *Consumer) WriteTo(wr io.Writer) (int64, error) { function NewConsumer (line 15) | func NewConsumer() *Consumer { FILE: pkg/aac/producer.go type Producer (line 12) | type Producer struct method Start (line 49) | func (c *Producer) Start() error { function Open (line 17) | func Open(r io.Reader) (*Producer, error) { FILE: pkg/aac/rtp.go constant RTPPacketVersionAAC (line 10) | RTPPacketVersionAAC = 0 function RTPDepay (line 12) | func RTPDepay(handler core.HandlerFunc) core.HandlerFunc { function RTPPay (line 66) | func RTPPay(handler core.HandlerFunc) core.HandlerFunc { function ADTStoRTP (line 100) | func ADTStoRTP(src []byte) (dst []byte) { function RTPTimeSize (line 112) | func RTPTimeSize(b []byte) uint32 { function RTPToADTS (line 118) | func RTPToADTS(codec *core.Codec, handler core.HandlerFunc) core.Handler... function RTPToCodec (line 151) | func RTPToCodec(b []byte) *core.Codec { FILE: pkg/aac/rtp_test.go function TestBuggy_RTSP_AAC (line 12) | func TestBuggy_RTSP_AAC(t *testing.T) { FILE: pkg/alsa/capture_linux.go type Capture (line 10) | type Capture struct method Start (line 37) | func (c *Capture) Start() error { function newCapture (line 16) | func newCapture(dev *device.Device) (*Capture, error) { function transcodeFunc (line 83) | func transcodeFunc(dst, src *core.Codec) func([]byte) []byte { FILE: pkg/alsa/device/asound_32bit.go constant SNDRV_PCM_STREAM_PLAYBACK (line 14) | SNDRV_PCM_STREAM_PLAYBACK = 0 constant SNDRV_PCM_STREAM_CAPTURE (line 15) | SNDRV_PCM_STREAM_CAPTURE = 1 constant SNDRV_PCM_ACCESS_MMAP_INTERLEAVED (line 17) | SNDRV_PCM_ACCESS_MMAP_INTERLEAVED = 0 constant SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED (line 18) | SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED = 1 constant SNDRV_PCM_ACCESS_MMAP_COMPLEX (line 19) | SNDRV_PCM_ACCESS_MMAP_COMPLEX = 2 constant SNDRV_PCM_ACCESS_RW_INTERLEAVED (line 20) | SNDRV_PCM_ACCESS_RW_INTERLEAVED = 3 constant SNDRV_PCM_ACCESS_RW_NONINTERLEAVED (line 21) | SNDRV_PCM_ACCESS_RW_NONINTERLEAVED = 4 constant SNDRV_PCM_FORMAT_S8 (line 23) | SNDRV_PCM_FORMAT_S8 = 0 constant SNDRV_PCM_FORMAT_U8 (line 24) | SNDRV_PCM_FORMAT_U8 = 1 constant SNDRV_PCM_FORMAT_S16_LE (line 25) | SNDRV_PCM_FORMAT_S16_LE = 2 constant SNDRV_PCM_FORMAT_S16_BE (line 26) | SNDRV_PCM_FORMAT_S16_BE = 3 constant SNDRV_PCM_FORMAT_U16_LE (line 27) | SNDRV_PCM_FORMAT_U16_LE = 4 constant SNDRV_PCM_FORMAT_U16_BE (line 28) | SNDRV_PCM_FORMAT_U16_BE = 5 constant SNDRV_PCM_FORMAT_S24_LE (line 29) | SNDRV_PCM_FORMAT_S24_LE = 6 constant SNDRV_PCM_FORMAT_S24_BE (line 30) | SNDRV_PCM_FORMAT_S24_BE = 7 constant SNDRV_PCM_FORMAT_U24_LE (line 31) | SNDRV_PCM_FORMAT_U24_LE = 8 constant SNDRV_PCM_FORMAT_U24_BE (line 32) | SNDRV_PCM_FORMAT_U24_BE = 9 constant SNDRV_PCM_FORMAT_S32_LE (line 33) | SNDRV_PCM_FORMAT_S32_LE = 10 constant SNDRV_PCM_FORMAT_S32_BE (line 34) | SNDRV_PCM_FORMAT_S32_BE = 11 constant SNDRV_PCM_FORMAT_U32_LE (line 35) | SNDRV_PCM_FORMAT_U32_LE = 12 constant SNDRV_PCM_FORMAT_U32_BE (line 36) | SNDRV_PCM_FORMAT_U32_BE = 13 constant SNDRV_PCM_FORMAT_FLOAT_LE (line 37) | SNDRV_PCM_FORMAT_FLOAT_LE = 14 constant SNDRV_PCM_FORMAT_FLOAT_BE (line 38) | SNDRV_PCM_FORMAT_FLOAT_BE = 15 constant SNDRV_PCM_FORMAT_FLOAT64_LE (line 39) | SNDRV_PCM_FORMAT_FLOAT64_LE = 16 constant SNDRV_PCM_FORMAT_FLOAT64_BE (line 40) | SNDRV_PCM_FORMAT_FLOAT64_BE = 17 constant SNDRV_PCM_FORMAT_MU_LAW (line 41) | SNDRV_PCM_FORMAT_MU_LAW = 20 constant SNDRV_PCM_FORMAT_A_LAW (line 42) | SNDRV_PCM_FORMAT_A_LAW = 21 constant SNDRV_PCM_FORMAT_MPEG (line 43) | SNDRV_PCM_FORMAT_MPEG = 23 constant SNDRV_PCM_IOCTL_PVERSION (line 45) | SNDRV_PCM_IOCTL_PVERSION = 0x80044100 constant SNDRV_PCM_IOCTL_INFO (line 46) | SNDRV_PCM_IOCTL_INFO = 0x81204101 constant SNDRV_PCM_IOCTL_HW_REFINE (line 47) | SNDRV_PCM_IOCTL_HW_REFINE = 0xc25c4110 constant SNDRV_PCM_IOCTL_HW_PARAMS (line 48) | SNDRV_PCM_IOCTL_HW_PARAMS = 0xc25c4111 constant SNDRV_PCM_IOCTL_SW_PARAMS (line 49) | SNDRV_PCM_IOCTL_SW_PARAMS = 0xc0684113 constant SNDRV_PCM_IOCTL_PREPARE (line 50) | SNDRV_PCM_IOCTL_PREPARE = 0x00004140 constant SNDRV_PCM_IOCTL_WRITEI_FRAMES (line 51) | SNDRV_PCM_IOCTL_WRITEI_FRAMES = 0x400c4150 constant SNDRV_PCM_IOCTL_READI_FRAMES (line 52) | SNDRV_PCM_IOCTL_READI_FRAMES = 0x800c4151 type snd_pcm_info (line 55) | type snd_pcm_info struct type snd_xferi (line 74) | type snd_xferi struct constant SNDRV_PCM_HW_PARAM_ACCESS (line 81) | SNDRV_PCM_HW_PARAM_ACCESS = 0 constant SNDRV_PCM_HW_PARAM_FORMAT (line 82) | SNDRV_PCM_HW_PARAM_FORMAT = 1 constant SNDRV_PCM_HW_PARAM_SUBFORMAT (line 83) | SNDRV_PCM_HW_PARAM_SUBFORMAT = 2 constant SNDRV_PCM_HW_PARAM_FIRST_MASK (line 84) | SNDRV_PCM_HW_PARAM_FIRST_MASK = 0 constant SNDRV_PCM_HW_PARAM_LAST_MASK (line 85) | SNDRV_PCM_HW_PARAM_LAST_MASK = 2 constant SNDRV_PCM_HW_PARAM_SAMPLE_BITS (line 87) | SNDRV_PCM_HW_PARAM_SAMPLE_BITS = 8 constant SNDRV_PCM_HW_PARAM_FRAME_BITS (line 88) | SNDRV_PCM_HW_PARAM_FRAME_BITS = 9 constant SNDRV_PCM_HW_PARAM_CHANNELS (line 89) | SNDRV_PCM_HW_PARAM_CHANNELS = 10 constant SNDRV_PCM_HW_PARAM_RATE (line 90) | SNDRV_PCM_HW_PARAM_RATE = 11 constant SNDRV_PCM_HW_PARAM_PERIOD_TIME (line 91) | SNDRV_PCM_HW_PARAM_PERIOD_TIME = 12 constant SNDRV_PCM_HW_PARAM_PERIOD_SIZE (line 92) | SNDRV_PCM_HW_PARAM_PERIOD_SIZE = 13 constant SNDRV_PCM_HW_PARAM_PERIOD_BYTES (line 93) | SNDRV_PCM_HW_PARAM_PERIOD_BYTES = 14 constant SNDRV_PCM_HW_PARAM_PERIODS (line 94) | SNDRV_PCM_HW_PARAM_PERIODS = 15 constant SNDRV_PCM_HW_PARAM_BUFFER_TIME (line 95) | SNDRV_PCM_HW_PARAM_BUFFER_TIME = 16 constant SNDRV_PCM_HW_PARAM_BUFFER_SIZE (line 96) | SNDRV_PCM_HW_PARAM_BUFFER_SIZE = 17 constant SNDRV_PCM_HW_PARAM_BUFFER_BYTES (line 97) | SNDRV_PCM_HW_PARAM_BUFFER_BYTES = 18 constant SNDRV_PCM_HW_PARAM_TICK_TIME (line 98) | SNDRV_PCM_HW_PARAM_TICK_TIME = 19 constant SNDRV_PCM_HW_PARAM_FIRST_INTERVAL (line 99) | SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = 8 constant SNDRV_PCM_HW_PARAM_LAST_INTERVAL (line 100) | SNDRV_PCM_HW_PARAM_LAST_INTERVAL = 19 constant SNDRV_MASK_MAX (line 102) | SNDRV_MASK_MAX = 256 constant SNDRV_PCM_TSTAMP_NONE (line 104) | SNDRV_PCM_TSTAMP_NONE = 0 constant SNDRV_PCM_TSTAMP_ENABLE (line 105) | SNDRV_PCM_TSTAMP_ENABLE = 1 type snd_mask (line 108) | type snd_mask struct type snd_interval (line 112) | type snd_interval struct type snd_pcm_hw_params (line 118) | type snd_pcm_hw_params struct type snd_pcm_sw_params (line 134) | type snd_pcm_sw_params struct FILE: pkg/alsa/device/asound_64bit.go constant SNDRV_PCM_STREAM_PLAYBACK (line 14) | SNDRV_PCM_STREAM_PLAYBACK = 0 constant SNDRV_PCM_STREAM_CAPTURE (line 15) | SNDRV_PCM_STREAM_CAPTURE = 1 constant SNDRV_PCM_ACCESS_MMAP_INTERLEAVED (line 17) | SNDRV_PCM_ACCESS_MMAP_INTERLEAVED = 0 constant SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED (line 18) | SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED = 1 constant SNDRV_PCM_ACCESS_MMAP_COMPLEX (line 19) | SNDRV_PCM_ACCESS_MMAP_COMPLEX = 2 constant SNDRV_PCM_ACCESS_RW_INTERLEAVED (line 20) | SNDRV_PCM_ACCESS_RW_INTERLEAVED = 3 constant SNDRV_PCM_ACCESS_RW_NONINTERLEAVED (line 21) | SNDRV_PCM_ACCESS_RW_NONINTERLEAVED = 4 constant SNDRV_PCM_FORMAT_S8 (line 23) | SNDRV_PCM_FORMAT_S8 = 0 constant SNDRV_PCM_FORMAT_U8 (line 24) | SNDRV_PCM_FORMAT_U8 = 1 constant SNDRV_PCM_FORMAT_S16_LE (line 25) | SNDRV_PCM_FORMAT_S16_LE = 2 constant SNDRV_PCM_FORMAT_S16_BE (line 26) | SNDRV_PCM_FORMAT_S16_BE = 3 constant SNDRV_PCM_FORMAT_U16_LE (line 27) | SNDRV_PCM_FORMAT_U16_LE = 4 constant SNDRV_PCM_FORMAT_U16_BE (line 28) | SNDRV_PCM_FORMAT_U16_BE = 5 constant SNDRV_PCM_FORMAT_S24_LE (line 29) | SNDRV_PCM_FORMAT_S24_LE = 6 constant SNDRV_PCM_FORMAT_S24_BE (line 30) | SNDRV_PCM_FORMAT_S24_BE = 7 constant SNDRV_PCM_FORMAT_U24_LE (line 31) | SNDRV_PCM_FORMAT_U24_LE = 8 constant SNDRV_PCM_FORMAT_U24_BE (line 32) | SNDRV_PCM_FORMAT_U24_BE = 9 constant SNDRV_PCM_FORMAT_S32_LE (line 33) | SNDRV_PCM_FORMAT_S32_LE = 10 constant SNDRV_PCM_FORMAT_S32_BE (line 34) | SNDRV_PCM_FORMAT_S32_BE = 11 constant SNDRV_PCM_FORMAT_U32_LE (line 35) | SNDRV_PCM_FORMAT_U32_LE = 12 constant SNDRV_PCM_FORMAT_U32_BE (line 36) | SNDRV_PCM_FORMAT_U32_BE = 13 constant SNDRV_PCM_FORMAT_FLOAT_LE (line 37) | SNDRV_PCM_FORMAT_FLOAT_LE = 14 constant SNDRV_PCM_FORMAT_FLOAT_BE (line 38) | SNDRV_PCM_FORMAT_FLOAT_BE = 15 constant SNDRV_PCM_FORMAT_FLOAT64_LE (line 39) | SNDRV_PCM_FORMAT_FLOAT64_LE = 16 constant SNDRV_PCM_FORMAT_FLOAT64_BE (line 40) | SNDRV_PCM_FORMAT_FLOAT64_BE = 17 constant SNDRV_PCM_FORMAT_MU_LAW (line 41) | SNDRV_PCM_FORMAT_MU_LAW = 20 constant SNDRV_PCM_FORMAT_A_LAW (line 42) | SNDRV_PCM_FORMAT_A_LAW = 21 constant SNDRV_PCM_FORMAT_MPEG (line 43) | SNDRV_PCM_FORMAT_MPEG = 23 constant SNDRV_PCM_IOCTL_PVERSION (line 45) | SNDRV_PCM_IOCTL_PVERSION = 0x80044100 constant SNDRV_PCM_IOCTL_INFO (line 46) | SNDRV_PCM_IOCTL_INFO = 0x81204101 constant SNDRV_PCM_IOCTL_HW_REFINE (line 47) | SNDRV_PCM_IOCTL_HW_REFINE = 0xc2604110 constant SNDRV_PCM_IOCTL_HW_PARAMS (line 48) | SNDRV_PCM_IOCTL_HW_PARAMS = 0xc2604111 constant SNDRV_PCM_IOCTL_SW_PARAMS (line 49) | SNDRV_PCM_IOCTL_SW_PARAMS = 0xc0884113 constant SNDRV_PCM_IOCTL_PREPARE (line 50) | SNDRV_PCM_IOCTL_PREPARE = 0x00004140 constant SNDRV_PCM_IOCTL_WRITEI_FRAMES (line 51) | SNDRV_PCM_IOCTL_WRITEI_FRAMES = 0x40184150 constant SNDRV_PCM_IOCTL_READI_FRAMES (line 52) | SNDRV_PCM_IOCTL_READI_FRAMES = 0x80184151 type snd_pcm_info (line 55) | type snd_pcm_info struct type snd_xferi (line 74) | type snd_xferi struct constant SNDRV_PCM_HW_PARAM_ACCESS (line 81) | SNDRV_PCM_HW_PARAM_ACCESS = 0 constant SNDRV_PCM_HW_PARAM_FORMAT (line 82) | SNDRV_PCM_HW_PARAM_FORMAT = 1 constant SNDRV_PCM_HW_PARAM_SUBFORMAT (line 83) | SNDRV_PCM_HW_PARAM_SUBFORMAT = 2 constant SNDRV_PCM_HW_PARAM_FIRST_MASK (line 84) | SNDRV_PCM_HW_PARAM_FIRST_MASK = 0 constant SNDRV_PCM_HW_PARAM_LAST_MASK (line 85) | SNDRV_PCM_HW_PARAM_LAST_MASK = 2 constant SNDRV_PCM_HW_PARAM_SAMPLE_BITS (line 87) | SNDRV_PCM_HW_PARAM_SAMPLE_BITS = 8 constant SNDRV_PCM_HW_PARAM_FRAME_BITS (line 88) | SNDRV_PCM_HW_PARAM_FRAME_BITS = 9 constant SNDRV_PCM_HW_PARAM_CHANNELS (line 89) | SNDRV_PCM_HW_PARAM_CHANNELS = 10 constant SNDRV_PCM_HW_PARAM_RATE (line 90) | SNDRV_PCM_HW_PARAM_RATE = 11 constant SNDRV_PCM_HW_PARAM_PERIOD_TIME (line 91) | SNDRV_PCM_HW_PARAM_PERIOD_TIME = 12 constant SNDRV_PCM_HW_PARAM_PERIOD_SIZE (line 92) | SNDRV_PCM_HW_PARAM_PERIOD_SIZE = 13 constant SNDRV_PCM_HW_PARAM_PERIOD_BYTES (line 93) | SNDRV_PCM_HW_PARAM_PERIOD_BYTES = 14 constant SNDRV_PCM_HW_PARAM_PERIODS (line 94) | SNDRV_PCM_HW_PARAM_PERIODS = 15 constant SNDRV_PCM_HW_PARAM_BUFFER_TIME (line 95) | SNDRV_PCM_HW_PARAM_BUFFER_TIME = 16 constant SNDRV_PCM_HW_PARAM_BUFFER_SIZE (line 96) | SNDRV_PCM_HW_PARAM_BUFFER_SIZE = 17 constant SNDRV_PCM_HW_PARAM_BUFFER_BYTES (line 97) | SNDRV_PCM_HW_PARAM_BUFFER_BYTES = 18 constant SNDRV_PCM_HW_PARAM_TICK_TIME (line 98) | SNDRV_PCM_HW_PARAM_TICK_TIME = 19 constant SNDRV_PCM_HW_PARAM_FIRST_INTERVAL (line 99) | SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = 8 constant SNDRV_PCM_HW_PARAM_LAST_INTERVAL (line 100) | SNDRV_PCM_HW_PARAM_LAST_INTERVAL = 19 constant SNDRV_MASK_MAX (line 102) | SNDRV_MASK_MAX = 256 constant SNDRV_PCM_TSTAMP_NONE (line 104) | SNDRV_PCM_TSTAMP_NONE = 0 constant SNDRV_PCM_TSTAMP_ENABLE (line 105) | SNDRV_PCM_TSTAMP_ENABLE = 1 type snd_mask (line 108) | type snd_mask struct type snd_interval (line 112) | type snd_interval struct type snd_pcm_hw_params (line 118) | type snd_pcm_hw_params struct type snd_pcm_sw_params (line 134) | type snd_pcm_sw_params struct FILE: pkg/alsa/device/asound_arch.c function main (line 15) | int main() { FILE: pkg/alsa/device/asound_mipsle.go constant SNDRV_PCM_STREAM_PLAYBACK (line 12) | SNDRV_PCM_STREAM_PLAYBACK = 0 constant SNDRV_PCM_STREAM_CAPTURE (line 13) | SNDRV_PCM_STREAM_CAPTURE = 1 constant SNDRV_PCM_ACCESS_MMAP_INTERLEAVED (line 15) | SNDRV_PCM_ACCESS_MMAP_INTERLEAVED = 0 constant SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED (line 16) | SNDRV_PCM_ACCESS_MMAP_NONINTERLEAVED = 1 constant SNDRV_PCM_ACCESS_MMAP_COMPLEX (line 17) | SNDRV_PCM_ACCESS_MMAP_COMPLEX = 2 constant SNDRV_PCM_ACCESS_RW_INTERLEAVED (line 18) | SNDRV_PCM_ACCESS_RW_INTERLEAVED = 3 constant SNDRV_PCM_ACCESS_RW_NONINTERLEAVED (line 19) | SNDRV_PCM_ACCESS_RW_NONINTERLEAVED = 4 constant SNDRV_PCM_FORMAT_S8 (line 21) | SNDRV_PCM_FORMAT_S8 = 0 constant SNDRV_PCM_FORMAT_U8 (line 22) | SNDRV_PCM_FORMAT_U8 = 1 constant SNDRV_PCM_FORMAT_S16_LE (line 23) | SNDRV_PCM_FORMAT_S16_LE = 2 constant SNDRV_PCM_FORMAT_S16_BE (line 24) | SNDRV_PCM_FORMAT_S16_BE = 3 constant SNDRV_PCM_FORMAT_U16_LE (line 25) | SNDRV_PCM_FORMAT_U16_LE = 4 constant SNDRV_PCM_FORMAT_U16_BE (line 26) | SNDRV_PCM_FORMAT_U16_BE = 5 constant SNDRV_PCM_FORMAT_S24_LE (line 27) | SNDRV_PCM_FORMAT_S24_LE = 6 constant SNDRV_PCM_FORMAT_S24_BE (line 28) | SNDRV_PCM_FORMAT_S24_BE = 7 constant SNDRV_PCM_FORMAT_U24_LE (line 29) | SNDRV_PCM_FORMAT_U24_LE = 8 constant SNDRV_PCM_FORMAT_U24_BE (line 30) | SNDRV_PCM_FORMAT_U24_BE = 9 constant SNDRV_PCM_FORMAT_S32_LE (line 31) | SNDRV_PCM_FORMAT_S32_LE = 10 constant SNDRV_PCM_FORMAT_S32_BE (line 32) | SNDRV_PCM_FORMAT_S32_BE = 11 constant SNDRV_PCM_FORMAT_U32_LE (line 33) | SNDRV_PCM_FORMAT_U32_LE = 12 constant SNDRV_PCM_FORMAT_U32_BE (line 34) | SNDRV_PCM_FORMAT_U32_BE = 13 constant SNDRV_PCM_FORMAT_FLOAT_LE (line 35) | SNDRV_PCM_FORMAT_FLOAT_LE = 14 constant SNDRV_PCM_FORMAT_FLOAT_BE (line 36) | SNDRV_PCM_FORMAT_FLOAT_BE = 15 constant SNDRV_PCM_FORMAT_FLOAT64_LE (line 37) | SNDRV_PCM_FORMAT_FLOAT64_LE = 16 constant SNDRV_PCM_FORMAT_FLOAT64_BE (line 38) | SNDRV_PCM_FORMAT_FLOAT64_BE = 17 constant SNDRV_PCM_FORMAT_MU_LAW (line 39) | SNDRV_PCM_FORMAT_MU_LAW = 20 constant SNDRV_PCM_FORMAT_A_LAW (line 40) | SNDRV_PCM_FORMAT_A_LAW = 21 constant SNDRV_PCM_FORMAT_MPEG (line 41) | SNDRV_PCM_FORMAT_MPEG = 23 constant SNDRV_PCM_IOCTL_PVERSION (line 43) | SNDRV_PCM_IOCTL_PVERSION = 0x40044100 constant SNDRV_PCM_IOCTL_INFO (line 44) | SNDRV_PCM_IOCTL_INFO = 0x41204101 constant SNDRV_PCM_IOCTL_HW_REFINE (line 45) | SNDRV_PCM_IOCTL_HW_REFINE = 0xc25c4110 constant SNDRV_PCM_IOCTL_HW_PARAMS (line 46) | SNDRV_PCM_IOCTL_HW_PARAMS = 0xc25c4111 constant SNDRV_PCM_IOCTL_SW_PARAMS (line 47) | SNDRV_PCM_IOCTL_SW_PARAMS = 0xc0684113 constant SNDRV_PCM_IOCTL_PREPARE (line 48) | SNDRV_PCM_IOCTL_PREPARE = 0x20004140 constant SNDRV_PCM_IOCTL_WRITEI_FRAMES (line 49) | SNDRV_PCM_IOCTL_WRITEI_FRAMES = 0x800c4150 constant SNDRV_PCM_IOCTL_READI_FRAMES (line 50) | SNDRV_PCM_IOCTL_READI_FRAMES = 0x400c4151 type snd_pcm_info (line 53) | type snd_pcm_info struct type snd_xferi (line 72) | type snd_xferi struct constant SNDRV_PCM_HW_PARAM_ACCESS (line 79) | SNDRV_PCM_HW_PARAM_ACCESS = 0 constant SNDRV_PCM_HW_PARAM_FORMAT (line 80) | SNDRV_PCM_HW_PARAM_FORMAT = 1 constant SNDRV_PCM_HW_PARAM_SUBFORMAT (line 81) | SNDRV_PCM_HW_PARAM_SUBFORMAT = 2 constant SNDRV_PCM_HW_PARAM_FIRST_MASK (line 82) | SNDRV_PCM_HW_PARAM_FIRST_MASK = 0 constant SNDRV_PCM_HW_PARAM_LAST_MASK (line 83) | SNDRV_PCM_HW_PARAM_LAST_MASK = 2 constant SNDRV_PCM_HW_PARAM_SAMPLE_BITS (line 85) | SNDRV_PCM_HW_PARAM_SAMPLE_BITS = 8 constant SNDRV_PCM_HW_PARAM_FRAME_BITS (line 86) | SNDRV_PCM_HW_PARAM_FRAME_BITS = 9 constant SNDRV_PCM_HW_PARAM_CHANNELS (line 87) | SNDRV_PCM_HW_PARAM_CHANNELS = 10 constant SNDRV_PCM_HW_PARAM_RATE (line 88) | SNDRV_PCM_HW_PARAM_RATE = 11 constant SNDRV_PCM_HW_PARAM_PERIOD_TIME (line 89) | SNDRV_PCM_HW_PARAM_PERIOD_TIME = 12 constant SNDRV_PCM_HW_PARAM_PERIOD_SIZE (line 90) | SNDRV_PCM_HW_PARAM_PERIOD_SIZE = 13 constant SNDRV_PCM_HW_PARAM_PERIOD_BYTES (line 91) | SNDRV_PCM_HW_PARAM_PERIOD_BYTES = 14 constant SNDRV_PCM_HW_PARAM_PERIODS (line 92) | SNDRV_PCM_HW_PARAM_PERIODS = 15 constant SNDRV_PCM_HW_PARAM_BUFFER_TIME (line 93) | SNDRV_PCM_HW_PARAM_BUFFER_TIME = 16 constant SNDRV_PCM_HW_PARAM_BUFFER_SIZE (line 94) | SNDRV_PCM_HW_PARAM_BUFFER_SIZE = 17 constant SNDRV_PCM_HW_PARAM_BUFFER_BYTES (line 95) | SNDRV_PCM_HW_PARAM_BUFFER_BYTES = 18 constant SNDRV_PCM_HW_PARAM_TICK_TIME (line 96) | SNDRV_PCM_HW_PARAM_TICK_TIME = 19 constant SNDRV_PCM_HW_PARAM_FIRST_INTERVAL (line 97) | SNDRV_PCM_HW_PARAM_FIRST_INTERVAL = 8 constant SNDRV_PCM_HW_PARAM_LAST_INTERVAL (line 98) | SNDRV_PCM_HW_PARAM_LAST_INTERVAL = 19 constant SNDRV_MASK_MAX (line 100) | SNDRV_MASK_MAX = 256 constant SNDRV_PCM_TSTAMP_NONE (line 102) | SNDRV_PCM_TSTAMP_NONE = 0 constant SNDRV_PCM_TSTAMP_ENABLE (line 103) | SNDRV_PCM_TSTAMP_ENABLE = 1 type snd_mask (line 106) | type snd_mask struct type snd_interval (line 110) | type snd_interval struct type snd_pcm_hw_params (line 116) | type snd_pcm_hw_params struct type snd_pcm_sw_params (line 132) | type snd_pcm_sw_params struct FILE: pkg/alsa/device/device_linux.go type Device (line 9) | type Device struct method Close (line 43) | func (d *Device) Close() error { method IsCapture (line 47) | func (d *Device) IsCapture() bool { method Info (line 62) | func (d *Device) Info() (*Info, error) { method CheckFormat (line 78) | func (d *Device) CheckFormat(format byte) bool { method ListFormats (line 82) | func (d *Device) ListFormats() (formats []byte) { method RangeRates (line 91) | func (d *Device) RangeRates() (uint32, uint32) { method RangeChannels (line 95) | func (d *Device) RangeChannels() (byte, byte) { method GetRateNear (line 100) | func (d *Device) GetRateNear(rate uint32) uint32 { method GetChannelsNear (line 111) | func (d *Device) GetChannelsNear(channels byte) byte { method SetHWParams (line 124) | func (d *Device) SetHWParams(format byte, rate uint32, channels byte) ... method Write (line 169) | func (d *Device) Write(b []byte) (n int, err error) { method Read (line 184) | func (d *Device) Read(b []byte) (n int, err error) { method init (line 194) | func (d *Device) init() { method setInterval (line 208) | func (d *Device) setInterval(param, val uint32) { method setIntervalMin (line 214) | func (d *Device) setIntervalMin(param, val uint32) { method getInterval (line 218) | func (d *Device) getInterval(param uint32) (uint32, uint32) { method setMask (line 223) | func (d *Device) setMask(mask, val uint32) { method checkMask (line 229) | func (d *Device) checkMask(mask, val uint32) bool { function Open (line 17) | func Open(path string) (*Device, error) { type Info (line 52) | type Info struct constant bufferSize (line 122) | bufferSize = 4096 FILE: pkg/alsa/device/ioctl_linux.go function ioctl (line 9) | func ioctl(fd, req uintptr, arg any) error { function str (line 21) | func str(b []byte) string { FILE: pkg/alsa/open_linux.go function Open (line 12) | func Open(rawURL string) (core.Producer, error) { FILE: pkg/alsa/playback_linux.go type Playback (line 12) | type Playback struct method GetTrack (line 40) | func (p *Playback) GetTrack(media *core.Media, codec *core.Codec) (*co... method AddTrack (line 44) | func (p *Playback) AddTrack(media *core.Media, codec *core.Codec, trac... method Start (line 77) | func (p *Playback) Start() (err error) { method Stop (line 81) | func (p *Playback) Stop() error { function newPlayback (line 18) | func newPlayback(dev *device.Device) (*Playback, error) { FILE: pkg/ascii/ascii.go function NewWriter (line 12) | func NewWriter(w io.Writer, foreground, background, text string) io.Writ... type writer (line 94) | type writer struct method Write (line 107) | func (a *writer) Write(p []byte) (n int, err error) { method appendEsc (line 140) | func (a *writer) appendEsc(s string) { constant csiClear (line 104) | csiClear = "\033[2J" constant csiHome (line 105) | csiHome = "\033[H" function gray (line 147) | func gray(r, g, b uint32, k float32) uint8 { constant x256r (line 152) | x256r = "\x00\x80\x00\x80\x00\x80\x00\xc0\x80\xff\x00\xff\x00\xff\x00\xf... constant x256g (line 153) | x256g = "\x00\x00\x80\x80\x00\x00\x80\xc0\x80\x00\xff\xff\x00\x00\xff\xf... constant x256b (line 154) | x256b = "\x00\x00\x00\x00\x80\x80\x80\xc0\x80\x00\x00\x00\xff\xff\xff\xf... function xterm256color (line 156) | func xterm256color(r, g, b uint8, n int) (index uint8) { function sqDiff (line 169) | func sqDiff(x, y uint8) uint16 { FILE: pkg/bits/reader.go type Reader (line 3) | type Reader struct method ReadByte (line 17) | func (r *Reader) ReadByte() byte { method ReadUint16 (line 32) | func (r *Reader) ReadUint16() uint16 { method ReadUint24 (line 39) | func (r *Reader) ReadUint24() uint32 { method ReadUint32 (line 46) | func (r *Reader) ReadUint32() uint32 { method ReadBit (line 53) | func (r *Reader) ReadBit() byte { method ReadBits (line 64) | func (r *Reader) ReadBits(n byte) (res uint32) { method ReadBits8 (line 71) | func (r *Reader) ReadBits8(n byte) (res uint8) { method ReadBits16 (line 78) | func (r *Reader) ReadBits16(n byte) (res uint16) { method ReadBits64 (line 85) | func (r *Reader) ReadBits64(n byte) (res uint64) { method ReadFloat32 (line 92) | func (r *Reader) ReadFloat32() float64 { method ReadBytes (line 98) | func (r *Reader) ReadBytes(n int) (b []byte) { method ReadUEGolomb (line 118) | func (r *Reader) ReadUEGolomb() uint32 { method ReadSEGolomb (line 129) | func (r *Reader) ReadSEGolomb() int32 { method Left (line 137) | func (r *Reader) Left() []byte { method Pos (line 141) | func (r *Reader) Pos() (int, byte) { function NewReader (line 12) | func NewReader(b []byte) *Reader { FILE: pkg/bits/writer.go type Writer (line 3) | type Writer struct method WriteByte (line 14) | func (w *Writer) WriteByte(b byte) { method WriteBit (line 22) | func (w *Writer) WriteBit(b byte) { method WriteBits (line 34) | func (w *Writer) WriteBits(v uint32, n byte) { method WriteBits16 (line 40) | func (w *Writer) WriteBits16(v uint16, n byte) { method WriteBits8 (line 46) | func (w *Writer) WriteBits8(v, n byte) { method WriteAllBits (line 52) | func (w *Writer) WriteAllBits(bit, n byte) { method WriteBool (line 58) | func (w *Writer) WriteBool(b bool) { method WriteUint16 (line 66) | func (w *Writer) WriteUint16(v uint16) { method WriteBytes (line 74) | func (w *Writer) WriteBytes(bytes ...byte) { method Bytes (line 84) | func (w *Writer) Bytes() []byte { method Len (line 88) | func (w *Writer) Len() int { method Reset (line 92) | func (w *Writer) Reset() { function NewWriter (line 9) | func NewWriter(buf []byte) *Writer { FILE: pkg/bubble/client.go type Client (line 26) | type Client struct method Dial (line 64) | func (c *Client) Dial() (err error) { method Write (line 155) | func (c *Client) Write(command byte, timestamp uint32, payload []byte)... method Read (line 172) | func (c *Client) Read() (byte, []byte, error) { method Play (line 198) | func (c *Client) Play() error { method Handle (line 207) | func (c *Client) Handle() error { method Close (line 264) | func (c *Client) Close() error { function Dial (line 47) | func Dial(rawURL string) (*Client, error) { constant SyncByte (line 56) | SyncByte = 0xAA constant PacketAuth (line 57) | PacketAuth = 0x00 constant PacketMedia (line 58) | PacketMedia = 0x01 constant PacketStart (line 59) | PacketStart = 0x0A constant Timeout (line 62) | Timeout = time.Second * 5 FILE: pkg/bubble/producer.go method GetMedias (line 9) | func (c *Client) GetMedias() []*core.Media { method GetTrack (line 32) | func (c *Client) GetTrack(media *core.Media, codec *core.Codec) (*core.R... method Start (line 53) | func (c *Client) Start() error { method Stop (line 60) | func (c *Client) Stop() error { method MarshalJSON (line 67) | func (c *Client) MarshalJSON() ([]byte, error) { FILE: pkg/core/codec.go type Codec (line 13) | type Codec struct method MarshalJSON (line 22) | func (c *Codec) MarshalJSON() ([]byte, error) { method String (line 82) | func (c *Codec) String() (s string) { method IsRTP (line 93) | func (c *Codec) IsRTP() bool { method IsVideo (line 97) | func (c *Codec) IsVideo() bool { method IsAudio (line 101) | func (c *Codec) IsAudio() bool { method Kind (line 105) | func (c *Codec) Kind() string { method PrintName (line 109) | func (c *Codec) PrintName() string { method Clone (line 121) | func (c *Codec) Clone() *Codec { method Match (line 126) | func (c *Codec) Match(remote *Codec) bool { function FFmpegCodecName (line 44) | func FFmpegCodecName(name string) string { function UnmarshalCodec (line 137) | func UnmarshalCodec(md *sdp.MediaDescription, payloadType string) *Codec { function DecodeH264 (line 231) | func DecodeH264(fmtp string) (profile string, level byte) { function ParseCodecString (line 253) | func ParseCodecString(s string) *Codec { FILE: pkg/core/connection.go function NewID (line 10) | func NewID() uint32 { function ID (line 15) | func ID(v any) uint32 { type Info (line 22) | type Info interface type Connection (line 36) | type Connection struct method GetMedias (line 55) | func (c *Connection) GetMedias() []*Media { method GetTrack (line 59) | func (c *Connection) GetTrack(media *Media, codec *Codec) (*Receiver, ... method Stop (line 70) | func (c *Connection) Stop() error { method Codecs (line 84) | func (c *Connection) Codecs() []*Codec { method SetProtocol (line 92) | func (c *Connection) SetProtocol(s string) { method SetRemoteAddr (line 96) | func (c *Connection) SetRemoteAddr(s string) { method SetSource (line 104) | func (c *Connection) SetSource(s string) { method SetURL (line 108) | func (c *Connection) SetURL(s string) { method WithRequest (line 112) | func (c *Connection) WithRequest(r *http.Request) { method GetSource (line 127) | func (c *Connection) GetSource() string { function Create (line 132) | func Create(w io.Writer) (*Connection, error) { function Open (line 137) | func Open(r io.Reader) (*Connection, error) { function Dial (line 142) | func Dial(rawURL string) (*Connection, error) { FILE: pkg/core/core.go constant DirectionRecvonly (line 6) | DirectionRecvonly = "recvonly" constant DirectionSendonly (line 7) | DirectionSendonly = "sendonly" constant DirectionSendRecv (line 8) | DirectionSendRecv = "sendrecv" constant KindVideo (line 12) | KindVideo = "video" constant KindAudio (line 13) | KindAudio = "audio" constant CodecH264 (line 17) | CodecH264 = "H264" constant CodecH265 (line 18) | CodecH265 = "H265" constant CodecVP8 (line 19) | CodecVP8 = "VP8" constant CodecVP9 (line 20) | CodecVP9 = "VP9" constant CodecAV1 (line 21) | CodecAV1 = "AV1" constant CodecJPEG (line 22) | CodecJPEG = "JPEG" constant CodecRAW (line 23) | CodecRAW = "RAW" constant CodecPCMU (line 25) | CodecPCMU = "PCMU" constant CodecPCMA (line 26) | CodecPCMA = "PCMA" constant CodecAAC (line 27) | CodecAAC = "MPEG4-GENERIC" constant CodecOpus (line 28) | CodecOpus = "OPUS" constant CodecG722 (line 29) | CodecG722 = "G722" constant CodecMP3 (line 30) | CodecMP3 = "MPA" constant CodecPCM (line 31) | CodecPCM = "L16" constant CodecPCML (line 33) | CodecPCML = "PCML" constant CodecELD (line 35) | CodecELD = "ELD" constant CodecFLAC (line 36) | CodecFLAC = "FLAC" constant CodecAll (line 38) | CodecAll = "ALL" constant CodecAny (line 39) | CodecAny = "ANY" constant PayloadTypeRAW (line 42) | PayloadTypeRAW byte = 255 type Producer (line 44) | type Producer interface type Consumer (line 60) | type Consumer interface type Mode (line 72) | type Mode method String (line 81) | func (m Mode) String() string { method MarshalJSON (line 95) | func (m Mode) MarshalJSON() ([]byte, error) { constant ModeActiveProducer (line 75) | ModeActiveProducer Mode = iota + 1 constant ModePassiveConsumer (line 76) | ModePassiveConsumer constant ModePassiveProducer (line 77) | ModePassiveProducer constant ModeActiveConsumer (line 78) | ModeActiveConsumer FILE: pkg/core/core_test.go type producer (line 10) | type producer struct method GetMedias (line 17) | func (p *producer) GetMedias() []*Media { method GetTrack (line 21) | func (p *producer) GetTrack(_ *Media, codec *Codec) (*Receiver, error) { method Start (line 32) | func (p *producer) Start() error { method Stop (line 38) | func (p *producer) Stop() error { type consumer (line 45) | type consumer struct method GetMedias (line 52) | func (c *consumer) GetMedias() []*Media { method AddTrack (line 56) | func (c *consumer) AddTrack(_ *Media, _ *Codec, track *Receiver) error { method Stop (line 67) | func (c *consumer) Stop() error { method read (line 74) | func (c *consumer) read() byte { function TestName (line 78) | func TestName(t *testing.T) { function TestStripUserinfo (line 122) | func TestStripUserinfo(t *testing.T) { FILE: pkg/core/helpers.go constant BufferSize (line 12) | BufferSize = 64 * 1024 constant ConnDialTimeout (line 13) | ConnDialTimeout = 5 * time.Second constant ConnDeadline (line 14) | ConnDeadline = 5 * time.Second constant ProbeTimeout (line 15) | ProbeTimeout = 5 * time.Second function Now90000 (line 19) | func Now90000() uint32 { constant symbols (line 23) | symbols = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXY... function RandString (line 27) | func RandString(size, base byte) string { function Before (line 41) | func Before(s, sep string) string { function Between (line 48) | func Between(s, sub1, sub2 string) string { function Atoi (line 62) | func Atoi(s string) (i int) { function ParseByte (line 70) | func ParseByte(s string) (b byte) { function Assert (line 84) | func Assert(ok bool) { function Caller (line 91) | func Caller() string { FILE: pkg/core/listener.go type EventFunc (line 3) | type EventFunc type Listener (line 6) | type Listener struct method Listen (line 10) | func (l *Listener) Listen(f EventFunc) { method Fire (line 14) | func (l *Listener) Fire(msg any) { FILE: pkg/core/media.go type Media (line 14) | type Media struct method String (line 22) | func (m *Media) String() string { method MarshalJSON (line 36) | func (m *Media) MarshalJSON() ([]byte, error) { method Clone (line 40) | func (m *Media) Clone() *Media { method MatchMedia (line 49) | func (m *Media) MatchMedia(remote *Media) (codec, remoteCodec *Codec) { method MatchCodec (line 68) | func (m *Media) MatchCodec(remote *Codec) *Codec { method MatchAll (line 77) | func (m *Media) MatchAll() bool { method Equal (line 86) | func (m *Media) Equal(media *Media) bool { function GetKind (line 93) | func GetKind(name string) string { function MarshalSDP (line 103) | func MarshalSDP(name string, medias []*Media) ([]byte, error) { function UnmarshalMedia (line 158) | func UnmarshalMedia(md *sdp.MediaDescription) *Media { function ParseQuery (line 179) | func ParseQuery(query map[string][]string) (medias []*Media) { FILE: pkg/core/media_test.go function TestSDP (line 13) | func TestSDP(t *testing.T) { function TestParseQuery (line 29) | func TestParseQuery(t *testing.T) { function TestClone (line 47) | func TestClone(t *testing.T) { FILE: pkg/core/node.go type HandlerFunc (line 19) | type HandlerFunc type Filter (line 22) | type Filter type Node (line 25) | type Node struct method WithParent (line 37) | func (n *Node) WithParent(parent *Node) *Node { method AppendChild (line 42) | func (n *Node) AppendChild(child *Node) { method RemoveChild (line 50) | func (n *Node) RemoveChild(child *Node) { method Close (line 61) | func (n *Node) Close() { function MoveNode (line 75) | func MoveNode(dst, src *Node) { FILE: pkg/core/readbuffer.go constant ProbeSize (line 10) | ProbeSize = 5 * 1024 * 1024 constant BufferDisable (line 13) | BufferDisable = 0 constant BufferDrainAndClear (line 14) | BufferDrainAndClear = -1 type ReadBuffer (line 23) | type ReadBuffer struct method Read (line 39) | func (r *ReadBuffer) Read(p []byte) (n int, err error) { method Close (line 70) | func (r *ReadBuffer) Close() error { method Seek (line 77) | func (r *ReadBuffer) Seek(offset int64, whence int) (int64, error) { method Peek (line 101) | func (r *ReadBuffer) Peek(n int) ([]byte, error) { method Reset (line 111) | func (r *ReadBuffer) Reset() { function NewReadBuffer (line 32) | func NewReadBuffer(rd io.Reader) *ReadBuffer { FILE: pkg/core/readbuffer_test.go function TestReadSeeker (line 11) | func TestReadSeeker(t *testing.T) { FILE: pkg/core/slices.go function Index (line 8) | func Index[S ~[]E, E comparable](s S, v E) int { function Contains (line 18) | func Contains[S ~[]E, E comparable](s S, v E) bool { type Ordered (line 22) | type Ordered interface function Max (line 32) | func Max[S ~[]E, E Ordered](x S) E { FILE: pkg/core/track.go type Receiver (line 12) | type Receiver struct method WriteRTP (line 40) | func (r *Receiver) WriteRTP(packet *rtp.Packet) { method Senders (line 45) | func (r *Receiver) Senders() []*Sender { method Replace (line 54) | func (r *Receiver) Replace(target *Receiver) { method Close (line 58) | func (r *Receiver) Close() { method MarshalJSON (line 179) | func (r *Receiver) MarshalJSON() ([]byte, error) { function NewReceiver (line 24) | func NewReceiver(media *Media, codec *Codec) *Receiver { type Sender (line 62) | type Sender struct method HandleRTP (line 118) | func (s *Sender) HandleRTP(parent *Receiver) { method Bind (line 124) | func (s *Sender) Bind(parent *Receiver) { method WithParent (line 128) | func (s *Sender) WithParent(parent *Receiver) *Sender { method Start (line 133) | func (s *Sender) Start() { method Wait (line 151) | func (s *Sender) Wait() { method State (line 157) | func (s *Sender) State() string { method Close (line 167) | func (s *Sender) Close() { method MarshalJSON (line 198) | func (s *Sender) MarshalJSON() ([]byte, error) { function NewSender (line 78) | func NewSender(media *Media, codec *Codec) *Sender { FILE: pkg/core/track_test.go function TestSenser (line 9) | func TestSenser(t *testing.T) { FILE: pkg/core/waiter.go type Waiter (line 11) | type Waiter struct method Add (line 18) | func (w *Waiter) Add(delta int) { method Wait (line 27) | func (w *Waiter) Wait() error { method Done (line 41) | func (w *Waiter) Done(err error) { method WaitChan (line 59) | func (w *Waiter) WaitChan() <-chan error { FILE: pkg/core/worker.go type Worker (line 7) | type Worker struct method Do (line 36) | func (w *Worker) Do() { method Stop (line 43) | func (w *Worker) Stop() { function NewWorker (line 13) | func NewWorker(d time.Duration, f func() time.Duration) *Worker { FILE: pkg/core/writebuffer.go type WriteBuffer (line 14) | type WriteBuffer struct method Write (line 29) | func (w *WriteBuffer) Write(p []byte) (n int, err error) { method WriteTo (line 43) | func (w *WriteBuffer) WriteTo(wr io.Writer) (n int64, err error) { method Close (line 49) | func (w *WriteBuffer) Close() error { method Reset (line 59) | func (w *WriteBuffer) Reset(wr io.Writer) { method add (line 78) | func (w *WriteBuffer) add() { method done (line 85) | func (w *WriteBuffer) done() { function NewWriteBuffer (line 22) | func NewWriteBuffer(wr io.Writer) *WriteBuffer { constant none (line 73) | none = iota constant start (line 74) | start constant end (line 75) | end type OnceBuffer (line 93) | type OnceBuffer struct method Write (line 97) | func (o *OnceBuffer) Write(p []byte) (n int, err error) { method WriteTo (line 104) | func (o *OnceBuffer) WriteTo(w io.Writer) (n int64, err error) { method Buffer (line 108) | func (o *OnceBuffer) Buffer() []byte { method Len (line 112) | func (o *OnceBuffer) Len() int { FILE: pkg/creds/creds.go type Storage (line 11) | type Storage interface function SetStorage (line 18) | func SetStorage(s Storage) { function SetValue (line 22) | func SetValue(name, value string) error { function GetValue (line 33) | func GetValue(name string) (value string, ok bool) { function getValue (line 39) | func getValue(name string) (string, bool) { function ReplaceVars (line 56) | func ReplaceVars(data []byte) []byte { FILE: pkg/creds/secrets.go function AddSecret (line 12) | func AddSecret(value string) { function getReplacer (line 33) | func getReplacer() *strings.Replacer { constant unreserved (line 55) | unreserved = `A-Za-z0-9-._~` constant subdelims (line 56) | subdelims = `!$&'()*+,;=` constant userinfo (line 57) | userinfo = unreserved + subdelims + `%:` function SecretString (line 60) | func SecretString(s string) string { function SecretWrite (line 66) | func SecretWrite(w io.Writer, s string) (n int, err error) { function SecretWriter (line 72) | func SecretWriter(w io.Writer) io.Writer { type secretWriter (line 76) | type secretWriter struct method Write (line 80) | func (s *secretWriter) Write(b []byte) (int, error) { function SecretResponse (line 84) | func SecretResponse(w http.ResponseWriter) http.ResponseWriter { type secretResponse (line 88) | type secretResponse struct method Write (line 92) | func (s *secretResponse) Write(b []byte) (int, error) { FILE: pkg/creds/secrets_test.go function TestString (line 9) | func TestString(t *testing.T) { FILE: pkg/debug/conn.go type badConn (line 9) | type badConn struct method Read (line 24) | func (c *badConn) Read(b []byte) (n int, err error) { function NewBadConn (line 15) | func NewBadConn(conn net.Conn) net.Conn { constant missChance (line 20) | missChance = 0.05 constant delayChance (line 21) | delayChance = 0.1 FILE: pkg/debug/debug.go function Logger (line 10) | func Logger(include func(packet *rtp.Packet) bool) func(packet *rtp.Pack... FILE: pkg/doorbird/backchannel.go type Client (line 13) | type Client struct method GetTrack (line 71) | func (c *Client) GetTrack(media *core.Media, codec *core.Codec) (*core... method AddTrack (line 75) | func (c *Client) AddTrack(media *core.Media, codec *core.Codec, track ... method Start (line 90) | func (c *Client) Start() (err error) { function Dial (line 18) | func Dial(rawURL string) (*Client, error) { FILE: pkg/dvrip/backchannel.go type Backchannel (line 11) | type Backchannel struct method GetTrack (line 16) | func (c *Backchannel) GetTrack(media *core.Media, codec *core.Codec) (... method Start (line 20) | func (c *Backchannel) Start() error { method AddTrack (line 33) | func (c *Backchannel) AddTrack(media *core.Media, _ *core.Codec, track... FILE: pkg/dvrip/client.go constant Login (line 18) | Login = 1000 constant OPMonitorClaim (line 19) | OPMonitorClaim = 1413 constant OPMonitorStart (line 20) | OPMonitorStart = 1410 constant OPTalkClaim (line 21) | OPTalkClaim = 1434 constant OPTalkStart (line 22) | OPTalkStart = 1430 constant OPTalkData (line 23) | OPTalkData = 1432 type Client (line 26) | type Client struct method Dial (line 36) | func (c *Client) Dial(rawURL string) (err error) { method Close (line 82) | func (c *Client) Close() error { method Login (line 86) | func (c *Client) Login(user, pass string) (err error) { method Play (line 100) | func (c *Client) Play() error { method Talk (line 116) | func (c *Client) Talk() error { method WriteCmd (line 132) | func (c *Client) WriteCmd(cmd uint16, payload []byte) (n int, err erro... method ReadChunk (line 150) | func (c *Client) ReadChunk() (b []byte, err error) { method ReadPacket (line 175) | func (c *Client) ReadPacket() (pType byte, payload []byte, err error) { method ReadJSON (line 219) | func (c *Client) ReadJSON() (res Response, err error) { type Response (line 217) | type Response function SofiaHash (line 236) | func SofiaHash(password string) string { FILE: pkg/dvrip/dvrip.go function Dial (line 5) | func Dial(url string) (core.Producer, error) { FILE: pkg/dvrip/producer.go type Producer (line 17) | type Producer struct method Start (line 30) | func (c *Producer) Start() error { method probe (line 95) | func (c *Producer) probe() error { method addVideoTrack (line 165) | func (c *Producer) addVideoTrack(mediaCode byte, payload []byte) { method addAudioTrack (line 220) | func (c *Producer) addAudioTrack(mediaCode byte, sampleRate byte) { FILE: pkg/eseecloud/eseecloud.go type Producer (line 17) | type Producer struct method probe (line 61) | func (p *Producer) probe() error { method Start (line 112) | func (p *Producer) Start() error { method readPacket (line 155) | func (p *Producer) readPacket() (*core.Packet, error) { function Dial (line 24) | func Dial(rawURL string) (core.Producer, error) { function Open (line 44) | func Open(r io.Reader) (core.Producer, error) { FILE: pkg/expr/expr.go function newRequest (line 19) | func newRequest(rawURL string, options map[string]any) (*http.Request, e... function kvToString (line 68) | func kvToString(kv map[string]any) map[string][]string { function regExp (line 76) | func regExp(params ...any) (*regexp.Regexp, error) { function Compile (line 90) | func Compile(input string) (*vm.Program, error) { function Eval (line 155) | func Eval(input string, env any) (any, error) { function Run (line 164) | func Run(program *vm.Program, env any) (any, error) { FILE: pkg/expr/expr_test.go function TestMatchHost (line 9) | func TestMatchHost(t *testing.T) { FILE: pkg/ffmpeg/ffmpeg.go constant Version50 (line 11) | Version50 = "59. 16" constant Version51 (line 12) | Version51 = "59. 27" constant Version60 (line 13) | Version60 = "60. 3" constant Version61 (line 14) | Version61 = "60. 16" constant Version70 (line 15) | Version70 = "61. 1" type Args (line 18) | type Args struct method AddCodec (line 30) | func (a *Args) AddCodec(codec string) { method AddFilter (line 34) | func (a *Args) AddFilter(filter string) { method InsertFilter (line 38) | func (a *Args) InsertFilter(filter string) { method HasFilters (line 42) | func (a *Args) HasFilters(filters ...string) bool { method String (line 54) | func (a *Args) String() string { function ParseVersion (line 110) | func ParseVersion(b []byte) (ffmpeg string, libavformat string) { FILE: pkg/flussonic/flussonic.go type Producer (line 14) | type Producer struct method probe (line 49) | func (p *Producer) probe() error { method Start (line 112) | func (p *Producer) Start() error { function Dial (line 22) | func Dial(source string) (core.Producer, error) { FILE: pkg/flv/amf/amf.go constant TypeNumber (line 10) | TypeNumber byte = iota constant TypeBoolean (line 11) | TypeBoolean constant TypeString (line 12) | TypeString constant TypeObject (line 13) | TypeObject constant TypeNull (line 14) | TypeNull = 5 constant TypeEcmaArray (line 15) | TypeEcmaArray = 8 constant TypeObjectEnd (line 16) | TypeObjectEnd = 9 type AMF (line 20) | type AMF struct method ReadItems (line 31) | func (a *AMF) ReadItems() ([]any, error) { method ReadItem (line 43) | func (a *AMF) ReadItem() (any, error) { method ReadByte (line 76) | func (a *AMF) ReadByte() (byte, error) { method ReadNumber (line 86) | func (a *AMF) ReadNumber() (float64, error) { method ReadString (line 96) | func (a *AMF) ReadString() (string, error) { method ReadObject (line 114) | func (a *AMF) ReadObject() (map[string]any, error) { method ReadEcmaArray (line 138) | func (a *AMF) ReadEcmaArray() (map[string]any, error) { method Bytes (line 151) | func (a *AMF) Bytes() []byte { method WriteNumber (line 155) | func (a *AMF) WriteNumber(n float64) { method WriteBool (line 164) | func (a *AMF) WriteBool(b bool) { method WriteString (line 172) | func (a *AMF) WriteString(s string) { method WriteObject (line 178) | func (a *AMF) WriteObject(obj map[string]any) { method WriteEcmaArray (line 184) | func (a *AMF) WriteEcmaArray(obj map[string]any) { method writeKV (line 191) | func (a *AMF) writeKV(obj map[string]any) { method WriteNull (line 216) | func (a *AMF) WriteNull() { function NewReader (line 27) | func NewReader(b []byte) *AMF { function NewWriter (line 147) | func NewWriter() *AMF { function EncodeItems (line 220) | func EncodeItems(items ...any) []byte { FILE: pkg/flv/amf/amf_test.go function TestNewReader (line 10) | func TestNewReader(t *testing.T) { FILE: pkg/flv/consumer.go type Consumer (line 12) | type Consumer struct method AddTrack (line 48) | func (c *Consumer) AddTrack(media *core.Media, codec *core.Codec, trac... method WriteTo (line 88) | func (c *Consumer) WriteTo(wr io.Writer) (int64, error) { function NewConsumer (line 18) | func NewConsumer() *Consumer { FILE: pkg/flv/flv_test.go function TestTimeToRTP (line 9) | func TestTimeToRTP(t *testing.T) { FILE: pkg/flv/muxer.go type Muxer (line 13) | type Muxer struct method GetInit (line 22) | func (m *Muxer) GetInit() []byte { method GetPayloader (line 79) | func (m *Muxer) GetPayloader(codec *core.Codec) func(packet *rtp.Packe... constant FlagsVideo (line 18) | FlagsVideo = 0b001 constant FlagsAudio (line 19) | FlagsAudio = 0b100 function EncodeTag (line 124) | func EncodeTag(tagType byte, timeMS uint32, payload []byte) []byte { function encodeAVData (line 143) | func encodeAVData(codec *core.Codec, isFrame byte) []byte { FILE: pkg/flv/producer.go type Producer (line 17) | type Producer struct method GetTrack (line 67) | func (c *Producer) GetTrack(media *core.Media, codec *core.Codec) (*co... method Start (line 77) | func (c *Producer) Start() error { method probe (line 128) | func (c *Producer) probe() error { method readHeader (line 253) | func (c *Producer) readHeader() error { method readPacket (line 274) | func (c *Producer) readPacket() (*rtp.Packet, error) { function Open (line 24) | func Open(rd io.Reader) (*Producer, error) { constant Signature (line 40) | Signature = "FLV" constant TagAudio (line 42) | TagAudio = 8 constant TagVideo (line 43) | TagVideo = 9 constant TagData (line 44) | TagData = 18 constant CodecAAC (line 46) | CodecAAC = 10 constant CodecH264 (line 48) | CodecH264 = 7 constant CodecHEVC (line 49) | CodecHEVC = 12 constant PacketTypeAVCHeader (line 53) | PacketTypeAVCHeader = iota constant PacketTypeAVCNALU (line 54) | PacketTypeAVCNALU constant PacketTypeAVCEnd (line 55) | PacketTypeAVCEnd constant PacketTypeSequenceStart (line 59) | PacketTypeSequenceStart = iota constant PacketTypeCodedFrames (line 60) | PacketTypeCodedFrames constant PacketTypeSequenceEnd (line 61) | PacketTypeSequenceEnd constant PacketTypeCodedFramesX (line 62) | PacketTypeCodedFramesX constant PacketTypeMetadata (line 63) | PacketTypeMetadata constant PacketTypeMPEG2TSSequenceStart (line 64) | PacketTypeMPEG2TSSequenceStart function TimeToRTP (line 303) | func TimeToRTP(timeMS, clockRate uint32) uint32 { function isExHeader (line 310) | func isExHeader(data []byte) bool { FILE: pkg/gopro/discovery.go function Discovery (line 9) | func Discovery() (urls []string) { FILE: pkg/gopro/producer.go function Dial (line 14) | func Dial(rawURL string) (*mpegts.Producer, error) { type listener (line 45) | type listener struct method Read (line 52) | func (r *listener) Read(p []byte) (n int, err error) { method Close (line 71) | func (r *listener) Close() error { method command (line 75) | func (r *listener) command(api string) error { method listen (line 92) | func (r *listener) listen() (err error) { method worker (line 103) | func (r *listener) worker() { FILE: pkg/h264/annexb/annexb.go constant StartCode (line 9) | StartCode = "\x00\x00\x00\x01" constant startAUD (line 10) | startAUD = StartCode + "\x09\xF0" constant startAUDstart (line 11) | startAUDstart = startAUD + StartCode function EncodeToAVCC (line 18) | func EncodeToAVCC(annexb []byte) (avc []byte) { function isAUD (line 64) | func isAUD(b byte) bool { function DecodeAVCC (line 70) | func DecodeAVCC(b []byte, safeClone bool) []byte { function DecodeAVCCWithAUD (line 86) | func DecodeAVCCWithAUD(src []byte) []byte { constant h264PFrame (line 95) | h264PFrame = 1 constant h264IFrame (line 96) | h264IFrame = 5 constant h264SPS (line 97) | h264SPS = 7 constant h264PPS (line 98) | h264PPS = 8 constant h265VPS (line 100) | h265VPS = 32 constant h265PFrame (line 101) | h265PFrame = 1 function IndexFrame (line 105) | func IndexFrame(b []byte) int { function FixAnnexBInAVCC (line 139) | func FixAnnexBInAVCC(b []byte) []byte { FILE: pkg/h264/annexb/annexb_test.go function decode (line 13) | func decode(s string) []byte { function naluTypes (line 18) | func naluTypes(avcc []byte) (types []byte) { function TestFFmpegH264 (line 32) | func TestFFmpegH264(t *testing.T) { function TestFFmpegMPEGTSH264 (line 41) | func TestFFmpegMPEGTSH264(t *testing.T) { function TestFFmpegHEVC (line 49) | func TestFFmpegHEVC(t *testing.T) { function TestFFmpegHEVC2 (line 57) | func TestFFmpegHEVC2(t *testing.T) { function TestFFmpegMPEGTSHEVC (line 65) | func TestFFmpegMPEGTSHEVC(t *testing.T) { function TestReolink (line 73) | func TestReolink(t *testing.T) { function TestDahua (line 80) | func TestDahua(t *testing.T) { function TestUSB (line 87) | func TestUSB(t *testing.T) { FILE: pkg/h264/avc.go constant forbiddenZeroBit (line 8) | forbiddenZeroBit = 0x80 constant nalUnitType (line 9) | nalUnitType = 0x1F function DecodeStream (line 13) | func DecodeStream(annexb []byte) ([]byte, int) { function DecodeAnnexB (line 63) | func DecodeAnnexB(b []byte) []byte { function IndexFrom (line 111) | func IndexFrom(b []byte, sep []byte, from int) int { FILE: pkg/h264/avcc.go function RepairAVCC (line 14) | func RepairAVCC(codec *core.Codec, handler core.HandlerFunc) core.Handle... function JoinNALU (line 31) | func JoinNALU(nalus ...[]byte) (avcc []byte) { function SplitNALU (line 53) | func SplitNALU(avcc []byte) [][]byte { function NALUTypes (line 71) | func NALUTypes(avcc []byte) []byte { function AVCCToCodec (line 86) | func AVCCToCodec(avcc []byte) *core.Codec { FILE: pkg/h264/h264.go constant NALUTypePFrame (line 14) | NALUTypePFrame = 1 constant NALUTypeIFrame (line 15) | NALUTypeIFrame = 5 constant NALUTypeSEI (line 16) | NALUTypeSEI = 6 constant NALUTypeSPS (line 17) | NALUTypeSPS = 7 constant NALUTypePPS (line 18) | NALUTypePPS = 8 constant NALUTypeAUD (line 19) | NALUTypeAUD = 9 function NALUType (line 22) | func NALUType(b []byte) byte { function IsKeyframe (line 27) | func IsKeyframe(b []byte) bool { function Join (line 46) | func Join(ps, iframe []byte) []byte { constant ProfileBaseline (line 55) | ProfileBaseline = 0x42 constant ProfileMain (line 56) | ProfileMain = 0x4D constant ProfileHigh (line 57) | ProfileHigh = 0x64 constant CapabilityBaseline (line 58) | CapabilityBaseline = 0xE0 constant CapabilityMain (line 59) | CapabilityMain = 0x40 function GetProfileLevelID (line 65) | func GetProfileLevelID(fmtp string) string { function GetParameterSet (line 103) | func GetParameterSet(fmtp string) (sps, pps []byte) { function GetFmtpLine (line 125) | func GetFmtpLine(avc []byte) string { FILE: pkg/h264/h264_test.go function TestDecodeConfig (line 11) | func TestDecodeConfig(t *testing.T) { function TestDecodeSPS (line 25) | func TestDecodeSPS(t *testing.T) { function TestGetProfileLevelID (line 75) | func TestGetProfileLevelID(t *testing.T) { function TestDecodeSPS2 (line 87) | func TestDecodeSPS2(t *testing.T) { function TestAVCCToCodec (line 105) | func TestAVCCToCodec(t *testing.T) { FILE: pkg/h264/mpeg4.go function DecodeConfig (line 14) | func DecodeConfig(conf []byte) (profile []byte, sps []byte, pps []byte) { function EncodeConfig (line 56) | func EncodeConfig(sps, pps []byte) []byte { function ConfigToCodec (line 80) | func ConfigToCodec(conf []byte) *core.Codec { FILE: pkg/h264/payloader.go type Payloader (line 6) | type Payloader struct method Payload (line 85) | func (p *Payloader) Payload(mtu uint16, payload []byte) [][]byte { constant stapaNALUType (line 12) | stapaNALUType = 24 constant fuaNALUType (line 13) | fuaNALUType = 28 constant fubNALUType (line 14) | fubNALUType = 29 constant spsNALUType (line 15) | spsNALUType = 7 constant ppsNALUType (line 16) | ppsNALUType = 8 constant audNALUType (line 17) | audNALUType = 9 constant fillerNALUType (line 18) | fillerNALUType = 12 constant fuaHeaderSize (line 20) | fuaHeaderSize = 2 constant naluTypeBitmask (line 24) | naluTypeBitmask = 0x1F constant naluRefIdcBitmask (line 25) | naluRefIdcBitmask = 0x60 constant outputStapAHeader (line 29) | outputStapAHeader = 0x78 function EmitNalus (line 34) | func EmitNalus(nals []byte, isAVC bool, emit func([]byte)) { function min (line 190) | func min(a, b int) int { FILE: pkg/h264/rtp.go constant RTPPacketVersionAVC (line 12) | RTPPacketVersionAVC = 0 constant PSMaxSize (line 14) | PSMaxSize = 128 function RTPDepay (line 16) | func RTPDepay(codec *core.Codec, handler core.HandlerFunc) core.HandlerF... function RTPPay (line 107) | func RTPPay(mtu uint16, handler core.HandlerFunc) core.HandlerFunc { FILE: pkg/h264/sps.go type SPS (line 13) | type SPS struct method Width (line 75) | func (s *SPS) Width() uint16 { method Height (line 81) | func (s *SPS) Height() uint16 { method scaling_list (line 225) | func (s *SPS) scaling_list(r *bits.Reader, sizeOfScalingList int) { method Profile (line 239) | func (s *SPS) Profile() string { method PixFmt (line 253) | func (s *SPS) PixFmt() string { method String (line 270) | func (s *SPS) String() string { function DecodeSPS (line 90) | func DecodeSPS(sps []byte) *SPS { function FixPixFmt (line 279) | func FixPixFmt(sps []byte) { FILE: pkg/h265/avc.go constant forbiddenZeroBit (line 5) | forbiddenZeroBit = 0x80 constant nalUnitType (line 6) | nalUnitType = 0x3F function DecodeStream (line 10) | func DecodeStream(annexb []byte) ([]byte, int) { FILE: pkg/h265/avcc.go function RepairAVCC (line 14) | func RepairAVCC(codec *core.Codec, handler core.HandlerFunc) core.Handle... function AVCCToCodec (line 30) | func AVCCToCodec(avcc []byte) *core.Codec { FILE: pkg/h265/h265_test.go function TestDecodeSPS (line 10) | func TestDecodeSPS(t *testing.T) { function TestDecodeSPS2 (line 21) | func TestDecodeSPS2(t *testing.T) { FILE: pkg/h265/helper.go constant NALUTypePFrame (line 11) | NALUTypePFrame = 1 constant NALUTypeIFrame (line 12) | NALUTypeIFrame = 19 constant NALUTypeIFrame2 (line 13) | NALUTypeIFrame2 = 20 constant NALUTypeIFrame3 (line 14) | NALUTypeIFrame3 = 21 constant NALUTypeVPS (line 15) | NALUTypeVPS = 32 constant NALUTypeSPS (line 16) | NALUTypeSPS = 33 constant NALUTypePPS (line 17) | NALUTypePPS = 34 constant NALUTypePrefixSEI (line 18) | NALUTypePrefixSEI = 39 constant NALUTypeSuffixSEI (line 19) | NALUTypeSuffixSEI = 40 constant NALUTypeFU (line 20) | NALUTypeFU = 49 function NALUType (line 23) | func NALUType(b []byte) byte { function IsKeyframe (line 27) | func IsKeyframe(b []byte) bool { function Types (line 46) | func Types(data []byte) []byte { function GetParameterSet (line 61) | func GetParameterSet(fmtp string) (vps, sps, pps []byte) { FILE: pkg/h265/mpeg4.go function DecodeConfig (line 12) | func DecodeConfig(conf []byte) (profile, vps, sps, pps []byte) { function EncodeConfig (line 39) | func EncodeConfig(vps, sps, pps []byte) []byte { function ConfigToCodec (line 75) | func ConfigToCodec(conf []byte) *core.Codec { FILE: pkg/h265/payloader.go constant h265NaluHeaderSize (line 16) | h265NaluHeaderSize = 2 constant h265NaluAggregationPacketType (line 18) | h265NaluAggregationPacketType = 48 constant h265NaluFragmentationUnitType (line 20) | h265NaluFragmentationUnitType = 49 constant h265NaluPACIPacketType (line 22) | h265NaluPACIPacketType = 50 type H265NALUHeader (line 33) | type H265NALUHeader method F (line 40) | func (h H265NALUHeader) F() bool { method Type (line 45) | func (h H265NALUHeader) Type() uint8 { method IsTypeVCLUnit (line 52) | func (h H265NALUHeader) IsTypeVCLUnit() bool { method LayerID (line 59) | func (h H265NALUHeader) LayerID() uint8 { method TID (line 66) | func (h H265NALUHeader) TID() uint8 { method IsAggregationPacket (line 72) | func (h H265NALUHeader) IsAggregationPacket() bool { method IsFragmentationUnit (line 77) | func (h H265NALUHeader) IsFragmentationUnit() bool { method IsPACIPacket (line 82) | func (h H265NALUHeader) IsPACIPacket() bool { function newH265NALUHeader (line 35) | func newH265NALUHeader(highByte, lowByte uint8) H265NALUHeader { constant h265FragmentationUnitHeaderSize (line 92) | h265FragmentationUnitHeaderSize = 1 type H265FragmentationUnitHeader (line 101) | type H265FragmentationUnitHeader method S (line 104) | func (h H265FragmentationUnitHeader) S() bool { method E (line 110) | func (h H265FragmentationUnitHeader) E() bool { method FuType (line 116) | func (h H265FragmentationUnitHeader) FuType() uint8 { type Payloader (line 122) | type Payloader struct method Payload (line 129) | func (p *Payloader) Payload(mtu uint16, payload []byte) [][]byte { FILE: pkg/h265/rtp.go function RTPDepay (line 11) | func RTPDepay(codec *core.Codec, handler core.HandlerFunc) core.HandlerF... function RTPPay (line 117) | func RTPPay(mtu uint16, handler core.HandlerFunc) core.HandlerFunc { function SafariPay (line 151) | func SafariPay(mtu uint16, handler core.HandlerFunc) core.HandlerFunc { FILE: pkg/h265/sps.go type SPS (line 12) | type SPS struct method Width (line 34) | func (s *SPS) Width() uint16 { method Height (line 38) | func (s *SPS) Height() uint16 { method profile_tier_level (line 78) | func (s *SPS) profile_tier_level(r *bits.Reader) bool { function DecodeSPS (line 42) | func DecodeSPS(nalu []byte) *SPS { FILE: pkg/hap/accessory.go constant FormatString (line 9) | FormatString = "string" constant FormatBool (line 10) | FormatBool = "bool" constant FormatFloat (line 11) | FormatFloat = "float" constant FormatUInt8 (line 12) | FormatUInt8 = "uint8" constant FormatUInt16 (line 13) | FormatUInt16 = "uint16" constant FormatUInt32 (line 14) | FormatUInt32 = "uint32" constant FormatInt32 (line 15) | FormatInt32 = "int32" constant FormatUInt64 (line 16) | FormatUInt64 = "uint64" constant FormatData (line 17) | FormatData = "data" constant FormatTLV8 (line 18) | FormatTLV8 = "tlv8" constant UnitPercentage (line 20) | UnitPercentage = "percentage" type Accessory (line 29) | type Accessory struct method InitIID (line 34) | func (a *Accessory) InitIID() { method GetService (line 64) | func (a *Accessory) GetService(servType string) *Service { method GetCharacter (line 73) | func (a *Accessory) GetCharacter(charType string) *Character { method GetCharacterByID (line 84) | func (a *Accessory) GetCharacterByID(iid uint64) *Character { type Service (line 95) | type Service struct method GetCharacter (line 105) | func (s *Service) GetCharacter(charType string) *Character { function ServiceAccessoryInformation (line 114) | func ServiceAccessoryInformation(manuf, model, name, serial, firmware st... function ServiceHAPProtocolInformation (line 162) | func ServiceHAPProtocolInformation() *Service { FILE: pkg/hap/camera/accessory.go function NewAccessory (line 8) | func NewAccessory(manuf, model, name, serial, firmware string) *hap.Acce... function ServiceMicrophone (line 22) | func ServiceMicrophone() *hap.Service { function ServiceCameraRTPStreamManagement (line 48) | func ServiceCameraRTPStreamManagement() *hap.Service { FILE: pkg/hap/camera/accessory_test.go function TestNilCharacter (line 12) | func TestNilCharacter(t *testing.T) { type testTLV8 (line 20) | type testTLV8 struct method run (line 28) | func (test testTLV8) run(t *testing.T) { function TestAqaraG3 (line 53) | func TestAqaraG3(t *testing.T) { function TestHomebridge (line 128) | func TestHomebridge(t *testing.T) { function TestScrypted (line 176) | func TestScrypted(t *testing.T) { function TestHass (line 240) | func TestHass(t *testing.T) { FILE: pkg/hap/camera/ch114_supported_video.go constant TypeSupportedVideoStreamConfiguration (line 3) | TypeSupportedVideoStreamConfiguration = "114" type SupportedVideoStreamConfiguration (line 5) | type SupportedVideoStreamConfiguration struct type VideoCodecConfiguration (line 9) | type VideoCodecConfiguration struct constant VideoCodecTypeH264 (line 18) | VideoCodecTypeH264 = 0 constant VideoCodecProfileConstrainedBaseline (line 20) | VideoCodecProfileConstrainedBaseline = 0 constant VideoCodecProfileMain (line 21) | VideoCodecProfileMain = 1 constant VideoCodecProfileHigh (line 22) | VideoCodecProfileHigh = 2 constant VideoCodecLevel31 (line 24) | VideoCodecLevel31 = 0 constant VideoCodecLevel32 (line 25) | VideoCodecLevel32 = 1 constant VideoCodecLevel40 (line 26) | VideoCodecLevel40 = 2 constant VideoCodecPacketizationModeNonInterleaved (line 28) | VideoCodecPacketizationModeNonInterleaved = 0 constant VideoCodecCvoNotSuppported (line 30) | VideoCodecCvoNotSuppported = 0 constant VideoCodecCvoSuppported (line 31) | VideoCodecCvoSuppported = 1 type VideoCodecParameters (line 34) | type VideoCodecParameters struct type VideoCodecAttributes (line 42) | type VideoCodecAttributes struct FILE: pkg/hap/camera/ch115_supported_audio.go constant TypeSupportedAudioStreamConfiguration (line 3) | TypeSupportedAudioStreamConfiguration = "115" type SupportedAudioStreamConfiguration (line 5) | type SupportedAudioStreamConfiguration struct constant AudioCodecTypePCMU (line 12) | AudioCodecTypePCMU = 0 constant AudioCodecTypePCMA (line 13) | AudioCodecTypePCMA = 1 constant AudioCodecTypeAACELD (line 14) | AudioCodecTypeAACELD = 2 constant AudioCodecTypeOpus (line 15) | AudioCodecTypeOpus = 3 constant AudioCodecTypeMSBC (line 16) | AudioCodecTypeMSBC = 4 constant AudioCodecTypeAMR (line 17) | AudioCodecTypeAMR = 5 constant AudioCodecTypeARMWB (line 18) | AudioCodecTypeARMWB = 6 constant AudioCodecBitrateVariable (line 20) | AudioCodecBitrateVariable = 0 constant AudioCodecBitrateConstant (line 21) | AudioCodecBitrateConstant = 1 constant AudioCodecSampleRate8Khz (line 23) | AudioCodecSampleRate8Khz = 0 constant AudioCodecSampleRate16Khz (line 24) | AudioCodecSampleRate16Khz = 1 constant AudioCodecSampleRate24Khz (line 25) | AudioCodecSampleRate24Khz = 2 constant RTPTimeAACELD8 (line 27) | RTPTimeAACELD8 = 60 constant RTPTimeAACELD16 (line 28) | RTPTimeAACELD16 = 30 constant RTPTimeAACELD24 (line 29) | RTPTimeAACELD24 = 20 constant RTPTimeAACLD16 (line 30) | RTPTimeAACLD16 = 60 constant RTPTimeAACLD24 (line 31) | RTPTimeAACLD24 = 40 type AudioCodecConfiguration (line 34) | type AudioCodecConfiguration struct type AudioCodecParameters (line 41) | type AudioCodecParameters struct FILE: pkg/hap/camera/ch116_supported_rtp.go constant TypeSupportedRTPConfiguration (line 3) | TypeSupportedRTPConfiguration = "116" constant CryptoAES_CM_128_HMAC_SHA1_80 (line 7) | CryptoAES_CM_128_HMAC_SHA1_80 = 0 constant CryptoAES_CM_256_HMAC_SHA1_80 (line 8) | CryptoAES_CM_256_HMAC_SHA1_80 = 1 constant CryptoDisabled (line 9) | CryptoDisabled = 2 type SupportedRTPConfiguration (line 12) | type SupportedRTPConfiguration struct FILE: pkg/hap/camera/ch117_selected_stream.go constant TypeSelectedStreamConfiguration (line 3) | TypeSelectedStreamConfiguration = "117" type SelectedStreamConfiguration (line 5) | type SelectedStreamConfiguration struct constant SessionCommandEnd (line 13) | SessionCommandEnd = 0 constant SessionCommandStart (line 14) | SessionCommandStart = 1 constant SessionCommandSuspend (line 15) | SessionCommandSuspend = 2 constant SessionCommandResume (line 16) | SessionCommandResume = 3 constant SessionCommandReconfigure (line 17) | SessionCommandReconfigure = 4 type SessionControl (line 20) | type SessionControl struct type RTPParams (line 25) | type RTPParams struct FILE: pkg/hap/camera/ch118_setup_endpoints.go constant TypeSetupEndpoints (line 3) | TypeSetupEndpoints = "118" type SetupEndpointsRequest (line 5) | type SetupEndpointsRequest struct type SetupEndpointsResponse (line 12) | type SetupEndpointsResponse struct type Address (line 22) | type Address struct type SRTPCryptoSuite (line 29) | type SRTPCryptoSuite struct FILE: pkg/hap/camera/ch120_streaming_status.go constant TypeStreamingStatus (line 3) | TypeStreamingStatus = "120" type StreamingStatus (line 5) | type StreamingStatus struct constant StreamingStatusAvailable (line 11) | StreamingStatusAvailable = 0 constant StreamingStatusInUse (line 12) | StreamingStatusInUse = 1 constant StreamingStatusUnavailable (line 13) | StreamingStatusUnavailable = 2 FILE: pkg/hap/camera/ch130_data_stream_transport.go constant TypeSupportedDataStreamTransportConfiguration (line 3) | TypeSupportedDataStreamTransportConfiguration = "130" type SupportedDataStreamTransportConfiguration (line 5) | type SupportedDataStreamTransportConfiguration struct type TransferTransportConfiguration (line 9) | type TransferTransportConfiguration struct FILE: pkg/hap/camera/ch131_data_stream.go constant TypeSetupDataStreamTransport (line 3) | TypeSetupDataStreamTransport = "131" type SetupDataStreamTransportRequest (line 5) | type SetupDataStreamTransportRequest struct type SetupDataStreamTransportResponse (line 11) | type SetupDataStreamTransportResponse struct FILE: pkg/hap/camera/ch205.go constant TypeSupportedCameraRecordingConfiguration (line 3) | TypeSupportedCameraRecordingConfiguration = "205" type SupportedCameraRecordingConfiguration (line 5) | type SupportedCameraRecordingConfiguration struct type MediaContainerConfigurations (line 11) | type MediaContainerConfigurations struct type MediaContainerParameters (line 16) | type MediaContainerParameters struct FILE: pkg/hap/camera/ch206.go constant TypeSupportedVideoRecordingConfiguration (line 3) | TypeSupportedVideoRecordingConfiguration = "206" type SupportedVideoRecordingConfiguration (line 5) | type SupportedVideoRecordingConfiguration struct type VideoRecordingCodecConfiguration (line 9) | type VideoRecordingCodecConfiguration struct type VideoRecordingCodecParameters (line 15) | type VideoRecordingCodecParameters struct FILE: pkg/hap/camera/ch207.go constant TypeSupportedAudioRecordingConfiguration (line 3) | TypeSupportedAudioRecordingConfiguration = "207" type SupportedAudioRecordingConfiguration (line 5) | type SupportedAudioRecordingConfiguration struct type AudioRecordingCodecConfiguration (line 9) | type AudioRecordingCodecConfiguration struct type AudioRecordingCodecParameters (line 14) | type AudioRecordingCodecParameters struct FILE: pkg/hap/camera/ch209.go constant TypeSelectedCameraRecordingConfiguration (line 3) | TypeSelectedCameraRecordingConfiguration = "209" type SelectedCameraRecordingConfiguration (line 5) | type SelectedCameraRecordingConfiguration struct FILE: pkg/hap/camera/stream.go type Stream (line 11) | type Stream struct method GetFreeStream (line 80) | func (s *Stream) GetFreeStream() error { method ExchangeEndpoints (line 105) | func (s *Stream) ExchangeEndpoints(videoSession, audioSession *srtp.Se... method SetStreamConfig (line 159) | func (s *Stream) SetStreamConfig(config *SelectedStreamConfiguration) ... method Close (line 171) | func (s *Stream) Close() error { function NewStream (line 17) | func NewStream( FILE: pkg/hap/chacha20poly1305/chacha20poly1305.go function Decrypt (line 12) | func Decrypt(key32 []byte, nonce8 string, ciphertext []byte) ([]byte, er... function Encrypt (line 17) | func Encrypt(key32 []byte, nonce8 string, plaintext []byte) ([]byte, err... function DecryptAndVerify (line 21) | func DecryptAndVerify(key32, dst, nonce8, ciphertext, verify []byte) ([]... function EncryptAndSeal (line 37) | func EncryptAndSeal(key32, dst, nonce8, plaintext, verify []byte) ([]byt... FILE: pkg/hap/character.go type Character (line 16) | type Character struct method AddListener (line 35) | func (c *Character) AddListener(w io.Writer) { method RemoveListener (line 43) | func (c *Character) RemoveListener(w io.Writer) { method NotifyListeners (line 51) | func (c *Character) NotifyListeners(ignore io.Writer) error { method GenerateEvent (line 75) | func (c *Character) GenerateEvent() (data []byte, err error) { method Set (line 104) | func (c *Character) Set(v any) (err error) { method Write (line 112) | func (c *Character) Write(v any) (err error) { method ReadTLV8 (line 129) | func (c *Character) ReadTLV8(v any) (err error) { method ReadBool (line 136) | func (c *Character) ReadBool() (bool, error) { method String (line 143) | func (c *Character) String() string { FILE: pkg/hap/client.go constant ConnDialTimeout (line 26) | ConnDialTimeout = time.Second * 3 constant ConnDeadline (line 27) | ConnDeadline = time.Second * 3 type Client (line 31) | type Client struct method ClientPublic (line 70) | func (c *Client) ClientPublic() []byte { method URL (line 74) | func (c *Client) URL() string { method DeviceHost (line 81) | func (c *Client) DeviceHost() string { method Dial (line 88) | func (c *Client) Dial() (err error) { method Close (line 235) | func (c *Client) Close() error { method eventsReader (line 242) | func (c *Client) eventsReader() { method GetAccessories (line 268) | func (c *Client) GetAccessories() ([]*Accessory, error) { method GetFirstAccessory (line 282) | func (c *Client) GetFirstAccessory() (*Accessory, error) { method GetCharacters (line 293) | func (c *Client) GetCharacters(query string) ([]JSONCharacter, error) { method GetCharacter (line 311) | func (c *Client) GetCharacter(char *Character) error { method PutCharacters (line 321) | func (c *Client) PutCharacters(characters ...*Character) error { method GetImage (line 346) | func (c *Client) GetImage(width, height int) ([]byte, error) { method LocalIP (line 358) | func (c *Client) LocalIP() string { function Dial (line 48) | func Dial(rawURL string) (*Client, error) { function DecodeKey (line 366) | func DecodeKey(s string) []byte { FILE: pkg/hap/client_http.go constant MimeTLV8 (line 11) | MimeTLV8 = "application/pairing+tlv8" constant MimeJSON (line 12) | MimeJSON = "application/hap+json" constant PathPairSetup (line 14) | PathPairSetup = "/pair-setup" constant PathPairVerify (line 15) | PathPairVerify = "/pair-verify" constant PathPairings (line 16) | PathPairings = "/pairings" constant PathAccessories (line 17) | PathAccessories = "/accessories" constant PathCharacteristics (line 18) | PathCharacteristics = "/characteristics" constant PathResource (line 19) | PathResource = "/resource" method Do (line 22) | func (c *Client) Do(req *http.Request) (*http.Response, error) { method Request (line 32) | func (c *Client) Request(method, path, contentType string, body io.Reade... method Get (line 50) | func (c *Client) Get(path string) (*http.Response, error) { method Post (line 54) | func (c *Client) Post(path, contentType string, body io.Reader) (*http.R... method Put (line 58) | func (c *Client) Put(path, contentType string, body io.Reader) (*http.Re... constant ProtoEvent (line 62) | ProtoEvent = "EVENT/1.0" function ReadResponse (line 64) | func ReadResponse(r *bufio.Reader, req *http.Request) (*http.Response, e... function WriteEvent (line 86) | func WriteEvent(w io.Writer, res *http.Response) error { type eventWriter (line 90) | type eventWriter struct method Write (line 95) | func (e *eventWriter) Write(p []byte) (n int, err error) { FILE: pkg/hap/client_pairing.go function Pair (line 18) | func Pair(rawURL string) (*Client, error) { function Unpair (line 47) | func Unpair(rawURL string) error { method Pair (line 75) | func (c *Client) Pair(feature, pin string) (err error) { method ListPairings (line 278) | func (c *Client) ListPairings() error { method PairingsAdd (line 305) | func (c *Client) PairingsAdd(clientID string, clientPublic []byte, admin... method DeletePairing (line 338) | func (c *Client) DeletePairing(id string) error { function newPairingError (line 366) | func newPairingError(code byte) error { function keyDerivativeFuncRFC2945 (line 390) | func keyDerivativeFuncRFC2945(username []byte) srp.KeyDerivationFunc { FILE: pkg/hap/conn.go type Conn (line 18) | type Conn struct method MarshalJSON (line 35) | func (c *Conn) MarshalJSON() ([]byte, error) { method Read (line 83) | func (c *Conn) Read(b []byte) (n int, err error) { method Write (line 110) | func (c *Conn) Write(b []byte) (n int, err error) { method Close (line 151) | func (c *Conn) Close() error { method LocalAddr (line 155) | func (c *Conn) LocalAddr() net.Addr { method RemoteAddr (line 159) | func (c *Conn) RemoteAddr() net.Addr { method SetDeadline (line 163) | func (c *Conn) SetDeadline(t time.Time) error { method SetReadDeadline (line 167) | func (c *Conn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 171) | func (c *Conn) SetWriteDeadline(t time.Time) error { function NewConn (line 47) | func NewConn(conn net.Conn, rw *bufio.ReadWriter, sharedKey []byte, isCl... constant packetSizeMax (line 76) | packetSizeMax = 0x400 constant VerifySize (line 78) | VerifySize = 2 constant NonceSize (line 79) | NonceSize = 8 constant Overhead (line 80) | Overhead = 16 FILE: pkg/hap/curve25519/curve25519.go function GenerateKeyPair (line 9) | func GenerateKeyPair() ([]byte, []byte) { function SharedSecret (line 16) | func SharedSecret(privateKey, otherPublicKey []byte) ([]byte, error) { FILE: pkg/hap/ed25519/ed25519.go function ValidateSignature (line 10) | func ValidateSignature(key, data, signature []byte) bool { function Signature (line 18) | func Signature(key, data []byte) ([]byte, error) { FILE: pkg/hap/hds/hds.go function NewConn (line 19) | func NewConn(conn net.Conn, key []byte, salt string, controller bool) (*... type Conn (line 45) | type Conn struct method MarshalJSON (line 60) | func (c *Conn) MarshalJSON() ([]byte, error) { method read (line 72) | func (c *Conn) read() (b []byte, err error) { method Read (line 94) | func (c *Conn) Read(p []byte) (n int, err error) { method WriteTo (line 106) | func (c *Conn) WriteTo(w io.Writer) (int64, error) { method Write (line 122) | func (c *Conn) Write(b []byte) (n int, err error) { method Close (line 154) | func (c *Conn) Close() error { method LocalAddr (line 158) | func (c *Conn) LocalAddr() net.Addr { method RemoteAddr (line 162) | func (c *Conn) RemoteAddr() net.Addr { method SetDeadline (line 166) | func (c *Conn) SetDeadline(t time.Time) error { method SetReadDeadline (line 170) | func (c *Conn) SetReadDeadline(t time.Time) error { method SetWriteDeadline (line 174) | func (c *Conn) SetWriteDeadline(t time.Time) error { FILE: pkg/hap/hds/hds_test.go function TestEncryption (line 12) | func TestEncryption(t *testing.T) { FILE: pkg/hap/helpers.go constant TXTConfigNumber (line 15) | TXTConfigNumber = "c#" constant TXTDeviceID (line 16) | TXTDeviceID = "id" constant TXTModel (line 17) | TXTModel = "md" constant TXTProtoVersion (line 18) | TXTProtoVersion = "pv" constant TXTStateNumber (line 19) | TXTStateNumber = "s#" constant TXTCategory (line 20) | TXTCategory = "ci" constant TXTSetupHash (line 21) | TXTSetupHash = "sh" constant TXTFeatureFlags (line 26) | TXTFeatureFlags = "ff" constant TXTStatusFlags (line 31) | TXTStatusFlags = "sf" constant StatusPaired (line 33) | StatusPaired = "0" constant StatusNotPaired (line 34) | StatusNotPaired = "1" constant CategoryBridge (line 36) | CategoryBridge = "2" constant CategoryCamera (line 37) | CategoryCamera = "17" constant CategoryDoorbell (line 38) | CategoryDoorbell = "18" constant StateM1 (line 40) | StateM1 = 1 constant StateM2 (line 41) | StateM2 = 2 constant StateM3 (line 42) | StateM3 = 3 constant StateM4 (line 43) | StateM4 = 4 constant StateM5 (line 44) | StateM5 = 5 constant StateM6 (line 45) | StateM6 = 6 constant MethodPair (line 47) | MethodPair = 0 constant MethodPairMFi (line 48) | MethodPairMFi = 1 constant MethodVerifyPair (line 49) | MethodVerifyPair = 2 constant MethodAddPairing (line 50) | MethodAddPairing = 3 constant MethodDeletePairing (line 51) | MethodDeletePairing = 4 constant MethodListPairings (line 52) | MethodListPairings = 5 constant PermissionUser (line 54) | PermissionUser = 0 constant PermissionAdmin (line 55) | PermissionAdmin = 1 constant DeviceAID (line 58) | DeviceAID = 1 type JSONAccessories (line 60) | type JSONAccessories struct type JSONCharacters (line 64) | type JSONCharacters struct type JSONCharacter (line 68) | type JSONCharacter struct constant insecurePINs (line 77) | insecurePINs = "00000000 11111111 22222222 33333333 44444444 55555555 66... function SanitizePin (line 79) | func SanitizePin(pin string) (string, error) { function GenerateKey (line 91) | func GenerateKey() []byte { function GenerateUUID (line 96) | func GenerateUUID() string { function SetupHash (line 104) | func SetupHash(setupID, deviceID string) string { function Append (line 110) | func Append(items ...any) (b []byte) { function newRequestError (line 124) | func newRequestError(req any) error { function newResponseError (line 128) | func newResponseError(req, res any) error { FILE: pkg/hap/hkdf/hkdf.go function Sha512 (line 10) | func Sha512(key []byte, salt, info string) ([]byte, error) { FILE: pkg/hap/server.go type Server (line 18) | type Server struct method ServerPublic (line 27) | func (s *Server) ServerPublic() []byte { method PairSetup (line 38) | func (s *Server) PairSetup(req *http.Request, rw *bufio.ReadWriter) (i... method PairVerify (line 240) | func (s *Server) PairVerify(req *http.Request, rw *bufio.ReadWriter) (... function WriteResponse (line 371) | func WriteResponse(w *bufio.Writer, statusCode int, contentType string, ... FILE: pkg/hap/setup/setup.go constant FlagNFC (line 9) | FlagNFC = 1 constant FlagIP (line 10) | FlagIP = 2 constant FlagBLE (line 11) | FlagBLE = 4 constant FlagWAC (line 12) | FlagWAC = 8 function GenerateSetupURI (line 15) | func GenerateSetupURI(category, pin, setupID string) string { function FormatInt36 (line 23) | func FormatInt36(value int64, n int) string { constant digits (line 32) | digits = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ" FILE: pkg/hap/setup/setup_test.go function TestFormatAlphaNum (line 12) | func TestFormatAlphaNum(t *testing.T) { FILE: pkg/hap/tlv8/tlv8.go type errReader (line 15) | type errReader struct method Read (line 19) | func (e *errReader) Read([]byte) (int, error) { function MarshalBase64 (line 23) | func MarshalBase64(v any) (string, error) { function MarshalReader (line 31) | func MarshalReader(v any) io.Reader { function Marshal (line 39) | func Marshal(v any) ([]byte, error) { constant separator (line 60) | separator = 0xFF function appendSlice (line 62) | func appendSlice(b []byte, value reflect.Value) ([]byte, error) { function appendStruct (line 75) | func appendStruct(b []byte, value reflect.Value) ([]byte, error) { function appendValue (line 99) | func appendValue(b []byte, tag byte, value reflect.Value) ([]byte, error) { function UnmarshalBase64 (line 168) | func UnmarshalBase64(in any, out any) error { function UnmarshalReader (line 177) | func UnmarshalReader(r io.Reader, n int64, v any) error { function Unmarshal (line 194) | func Unmarshal(data []byte, v any) error { function unmarshalTLV (line 227) | func unmarshalTLV(b []byte, value reflect.Value) ([]byte, error) { function unmarshalSlice (line 272) | func unmarshalSlice(b []byte, value reflect.Value) error { function unmarshalStruct (line 287) | func unmarshalStruct(b []byte, value reflect.Value) error { function unmarshalValue (line 297) | func unmarshalValue(v []byte, value reflect.Value) error { function getStructField (line 354) | func getStructField(value reflect.Value, tag string) (reflect.Value, boo... function growSlice (line 368) | func growSlice(value reflect.Value) int { FILE: pkg/hap/tlv8/tlv8_test.go function TestMarshal (line 11) | func TestMarshal(t *testing.T) { function TestBytes (line 42) | func TestBytes(t *testing.T) { function TestVideoCodecParams (line 66) | func TestVideoCodecParams(t *testing.T) { function TestInterface (line 88) | func TestInterface(t *testing.T) { function TestSlice1 (line 112) | func TestSlice1(t *testing.T) { function TestSlice2 (line 136) | func TestSlice2(t *testing.T) { FILE: pkg/hass/api.go type API (line 10) | type API struct method Auth (line 29) | func (a *API) Auth(token string) error { method Close (line 53) | func (a *API) Close() error { method ExchangeSDP (line 57) | func (a *API) ExchangeSDP(entityID, offer string) (string, error) { method GetWebRTCEntities (line 80) | func (a *API) GetWebRTCEntities() (map[string]string, error) { function NewAPI (line 14) | func NewAPI(url, token string) (*API, error) { type ResponseAuth (line 105) | type ResponseAuth struct type ResponseStates (line 109) | type ResponseStates struct type ResponseOffer (line 133) | type ResponseOffer struct function SupervisorToken (line 142) | func SupervisorToken() string { FILE: pkg/hass/client.go type Client (line 12) | type Client struct method GetMedias (line 96) | func (c *Client) GetMedias() []*core.Media { method GetTrack (line 100) | func (c *Client) GetTrack(media *core.Media, codec *core.Codec) (*core... method AddTrack (line 104) | func (c *Client) AddTrack(media *core.Media, codec *core.Codec, track ... method Start (line 108) | func (c *Client) Start() error { method Stop (line 112) | func (c *Client) Stop() error { method MarshalJSON (line 116) | func (c *Client) MarshalJSON() ([]byte, error) { function NewClient (line 16) | func NewClient(rawURL string) (*Client, error) { FILE: pkg/hls/producer.go function OpenURL (line 10) | func OpenURL(u *url.URL, body io.ReadCloser) (*mpegts.Producer, error) { FILE: pkg/hls/reader.go type reader (line 14) | type reader struct method Read (line 58) | func (r *reader) Read(dst []byte) (n int, err error) { method Close (line 81) | func (r *reader) Close() error { method RoundTrip (line 86) | func (r *reader) RoundTrip(_ *http.Request) (*http.Response, error) { method getSegment (line 90) | func (r *reader) getSegment() ([]byte, error) { function NewReader (line 25) | func NewReader(u *url.URL, body io.ReadCloser) (io.Reader, error) { function getSegment (line 148) | func getSegment(src []byte) []byte { FILE: pkg/homekit/consumer.go type Consumer (line 18) | type Consumer struct method SessionID (line 62) | func (c *Consumer) SessionID() string { method SetOffer (line 66) | func (c *Consumer) SetOffer(offer *camera.SetupEndpointsRequest) { method GetAnswer (line 86) | func (c *Consumer) GetAnswer() *camera.SetupEndpointsResponse { method SetConfig (line 111) | func (c *Consumer) SetConfig(conf *camera.SelectedStreamConfiguration)... method AddTrack (line 133) | func (c *Consumer) AddTrack(media *core.Media, codec *core.Codec, trac... method WriteTo (line 177) | func (c *Consumer) WriteTo(io.Writer) (int64, error) { method Stop (line 184) | func (c *Consumer) Stop() error { method srtpEndpoint (line 191) | func (c *Consumer) srtpEndpoint() *srtp.Endpoint { function NewConsumer (line 31) | func NewConsumer(conn net.Conn, server *srtp.Server) *Consumer { function toDuration (line 202) | func toDuration(seconds float32) time.Duration { FILE: pkg/homekit/helpers.go function videoToMedia (line 16) | func videoToMedia(codecs []camera.VideoCodecConfiguration) *core.Media { function audioToMedia (line 42) | func audioToMedia(codecs []camera.AudioCodecConfiguration) *core.Media { function trackToVideo (line 70) | func trackToVideo(track *core.Receiver, video0 *camera.VideoCodecConfigu... function trackToAudio (line 114) | func trackToAudio(track *core.Receiver, audio0 *camera.AudioCodecConfigu... FILE: pkg/homekit/log/debug.go function Debug (line 10) | func Debug(v any) { FILE: pkg/homekit/producer.go type Client (line 18) | type Client struct method Conn (line 59) | func (c *Client) Conn() net.Conn { method GetMedias (line 63) | func (c *Client) GetMedias() []*core.Media { method Start (line 110) | func (c *Client) Start() error { method Stop (line 169) | func (c *Client) Stop() error { method trackByKind (line 180) | func (c *Client) trackByKind(kind string) *core.Receiver { method startMJPEG (line 189) | func (c *Client) startMJPEG() error { method srtpEndpoint (line 208) | func (c *Client) srtpEndpoint() *srtp.Endpoint { function Dial (line 37) | func Dial(rawURL string, server *srtp.Server) (*Client, error) { function timekeeper (line 218) | func timekeeper(handler core.HandlerFunc) core.HandlerFunc { FILE: pkg/homekit/proxy.go type ServerProxy (line 18) | type ServerProxy interface function ProxyHandler (line 24) | func ProxyHandler(srv ServerProxy, acc net.Conn) HandlerFunc { type Proxy (line 42) | type Proxy struct method handleCon (line 48) | func (p *Proxy) handleCon(srv ServerProxy) error { method handleAcc (line 142) | func (p *Proxy) handleAcc() error { method listenHDS (line 168) | func (p *Proxy) listenHDS(srv ServerProxy, accPort int, salt string) (... FILE: pkg/homekit/server.go type HandlerFunc (line 18) | type HandlerFunc type Server (line 20) | type Server interface type ServerPair (line 25) | type ServerPair interface type ServerAccessory (line 31) | type ServerAccessory interface function ServerHandler (line 38) | func ServerHandler(server Server) HandlerFunc { function handleRequest (line 108) | func handleRequest(handle func(conn net.Conn, req *http.Request) (*http.... function handlePairings (line 135) | func handlePairings(req *http.Request, srv ServerPair) (*http.Response, ... function makeResponse (line 164) | func makeResponse(mime string, v any) (*http.Response, error) { FILE: pkg/image/producer.go type Producer (line 13) | type Producer struct method Start (line 46) | func (c *Producer) Start() error { method Stop (line 89) | func (c *Producer) Stop() error { function Open (line 20) | func Open(res *http.Response) (*Producer, error) { FILE: pkg/ioctl/ioctl.go function Str (line 7) | func Str(b []byte) string { function io (line 14) | func io(mode byte, type_ byte, number byte, size uint16) uintptr { function IOR (line 18) | func IOR(type_ byte, number byte, size uint16) uintptr { function IOW (line 22) | func IOW(type_ byte, number byte, size uint16) uintptr { function IORW (line 26) | func IORW(type_ byte, number byte, size uint16) uintptr { FILE: pkg/ioctl/ioctl_be.go constant write (line 6) | write = 1 constant read (line 7) | read = 2 FILE: pkg/ioctl/ioctl_le.go constant read (line 6) | read = 1 constant write (line 7) | write = 2 FILE: pkg/ioctl/ioctl_linux.go function Ioctl (line 8) | func Ioctl(fd int, req uint, arg unsafe.Pointer) error { FILE: pkg/ioctl/ioctl_test.go function TestIOR (line 10) | func TestIOR(t *testing.T) { FILE: pkg/isapi/backchannel.go method GetMedias (line 10) | func (c *Client) GetMedias() []*core.Media { method GetTrack (line 14) | func (c *Client) GetTrack(media *core.Media, codec *core.Codec) (*core.R... method AddTrack (line 18) | func (c *Client) AddTrack(media *core.Media, _ *core.Codec, track *core.... method Start (line 34) | func (c *Client) Start() (err error) { method Stop (line 41) | func (c *Client) Stop() (err error) { method MarshalJSON (line 54) | func (c *Client) MarshalJSON() ([]byte, error) { FILE: pkg/isapi/client.go type Client (line 15) | type Client struct method Dial (line 44) | func (c *Client) Dial() (err error) { method Open (line 92) | func (c *Client) Open() (err error) { method Close (line 139) | func (c *Client) Close() (err error) { function Dial (line 27) | func Dial(rawURL string) (*Client, error) { FILE: pkg/iso/atoms.go constant Ftyp (line 4) | Ftyp = "ftyp" constant Moov (line 5) | Moov = "moov" constant MoovMvhd (line 6) | MoovMvhd = "mvhd" constant MoovTrak (line 7) | MoovTrak = "trak" constant MoovTrakTkhd (line 8) | MoovTrakTkhd = "tkhd" constant MoovTrakMdia (line 9) | MoovTrakMdia = "mdia" constant MoovTrakMdiaMdhd (line 10) | MoovTrakMdiaMdhd = "mdhd" constant MoovTrakMdiaHdlr (line 11) | MoovTrakMdiaHdlr = "hdlr" constant MoovTrakMdiaMinf (line 12) | MoovTrakMdiaMinf = "minf" constant MoovTrakMdiaMinfVmhd (line 13) | MoovTrakMdiaMinfVmhd = "vmhd" constant MoovTrakMdiaMinfSmhd (line 14) | MoovTrakMdiaMinfSmhd = "smhd" constant MoovTrakMdiaMinfDinf (line 15) | MoovTrakMdiaMinfDinf = "dinf" constant MoovTrakMdiaMinfDinfDref (line 16) | MoovTrakMdiaMinfDinfDref = "dref" constant MoovTrakMdiaMinfDinfDrefUrl (line 17) | MoovTrakMdiaMinfDinfDrefUrl = "url " constant MoovTrakMdiaMinfStbl (line 18) | MoovTrakMdiaMinfStbl = "stbl" constant MoovTrakMdiaMinfStblStsd (line 19) | MoovTrakMdiaMinfStblStsd = "stsd" constant MoovTrakMdiaMinfStblStts (line 20) | MoovTrakMdiaMinfStblStts = "stts" constant MoovTrakMdiaMinfStblStsc (line 21) | MoovTrakMdiaMinfStblStsc = "stsc" constant MoovTrakMdiaMinfStblStsz (line 22) | MoovTrakMdiaMinfStblStsz = "stsz" constant MoovTrakMdiaMinfStblStco (line 23) | MoovTrakMdiaMinfStblStco = "stco" constant MoovMvex (line 24) | MoovMvex = "mvex" constant MoovMvexTrex (line 25) | MoovMvexTrex = "trex" constant Moof (line 26) | Moof = "moof" constant MoofMfhd (line 27) | MoofMfhd = "mfhd" constant MoofTraf (line 28) | MoofTraf = "traf" constant MoofTrafTfhd (line 29) | MoofTrafTfhd = "tfhd" constant MoofTrafTfdt (line 30) | MoofTrafTfdt = "tfdt" constant MoofTrafTrun (line 31) | MoofTrafTrun = "trun" constant Mdat (line 32) | Mdat = "mdat" constant sampleIsNonSync (line 36) | sampleIsNonSync = 0x10000 constant sampleDependsOn1 (line 37) | sampleDependsOn1 = 0x1000000 constant sampleDependsOn2 (line 38) | sampleDependsOn2 = 0x2000000 constant SampleVideoIFrame (line 40) | SampleVideoIFrame = sampleDependsOn2 constant SampleVideoNonIFrame (line 41) | SampleVideoNonIFrame = sampleDependsOn1 | sampleIsNonSync constant SampleAudio (line 42) | SampleAudio = sampleDependsOn2 method WriteFileType (line 45) | func (m *Movie) WriteFileType() { method WriteMovieHeader (line 55) | func (m *Movie) WriteMovieHeader() { method WriteTrackHeader (line 72) | func (m *Movie) WriteTrackHeader(id uint32, width, height uint16) { method WriteMediaHeader (line 110) | func (m *Movie) WriteMediaHeader(timescale uint32) { method WriteMediaHandler (line 124) | func (m *Movie) WriteMediaHandler(s, name string) { method WriteVideoMediaInfo (line 137) | func (m *Movie) WriteVideoMediaInfo() { method WriteAudioMediaInfo (line 147) | func (m *Movie) WriteAudioMediaInfo() { method WriteDataInfo (line 155) | func (m *Movie) WriteDataInfo() { method WriteSampleTable (line 172) | func (m *Movie) WriteSampleTable(writeSampleDesc func()) { method WriteTrackExtend (line 211) | func (m *Movie) WriteTrackExtend(id uint32) { method WriteVideoTrack (line 223) | func (m *Movie) WriteVideoTrack(id uint32, codec string, timescale uint3... method WriteAudioTrack (line 243) | func (m *Movie) WriteAudioTrack(id uint32, codec string, timescale uint3... constant TfhdDefaultSampleDuration (line 264) | TfhdDefaultSampleDuration = 0x000008 constant TfhdDefaultSampleSize (line 265) | TfhdDefaultSampleSize = 0x000010 constant TfhdDefaultSampleFlags (line 266) | TfhdDefaultSampleFlags = 0x000020 constant TfhdDefaultBaseIsMoof (line 267) | TfhdDefaultBaseIsMoof = 0x020000 constant TrunDataOffset (line 271) | TrunDataOffset = 0x000001 constant TrunFirstSampleFlags (line 272) | TrunFirstSampleFlags = 0x000004 constant TrunSampleDuration (line 273) | TrunSampleDuration = 0x0000100 constant TrunSampleSize (line 274) | TrunSampleSize = 0x0000200 constant TrunSampleFlags (line 275) | TrunSampleFlags = 0x0000400 constant TrunSampleCTS (line 276) | TrunSampleCTS = 0x0000800 method WriteMovieFragment (line 279) | func (m *Movie) WriteMovieFragment(seq, tid, duration, size, flags uint3... method WriteData (line 335) | func (m *Movie) WriteData(b []byte) { FILE: pkg/iso/codecs.go method WriteVideo (line 8) | func (m *Movie) WriteVideo(codec string, width, height uint16, conf []by... method WriteAudio (line 52) | func (m *Movie) WriteAudio(codec string, channels uint16, sampleRate uin... method WriteEsdsAAC (line 104) | func (m *Movie) WriteEsdsAAC(conf []byte) { method WriteEsdsMP3 (line 140) | func (m *Movie) WriteEsdsMP3() { method WriteOpus (line 171) | func (m *Movie) WriteOpus(channels uint16, sampleRate uint32) { FILE: pkg/iso/iso.go type Movie (line 8) | type Movie struct method Bytes (line 17) | func (m *Movie) Bytes() []byte { method StartAtom (line 21) | func (m *Movie) StartAtom(name string) { method EndAtom (line 27) | func (m *Movie) EndAtom() { method Write (line 37) | func (m *Movie) Write(b []byte) { method WriteBytes (line 41) | func (m *Movie) WriteBytes(b ...byte) { method WriteString (line 45) | func (m *Movie) WriteString(s string) { method Skip (line 49) | func (m *Movie) Skip(n int) { method WriteUint16 (line 53) | func (m *Movie) WriteUint16(v uint16) { method WriteUint24 (line 57) | func (m *Movie) WriteUint24(v uint32) { method WriteUint32 (line 61) | func (m *Movie) WriteUint32(v uint32) { method WriteUint64 (line 65) | func (m *Movie) WriteUint64(v uint64) { method WriteFloat16 (line 69) | func (m *Movie) WriteFloat16(f float64) { method WriteFloat32 (line 75) | func (m *Movie) WriteFloat32(f float64) { method WriteMatrix (line 81) | func (m *Movie) WriteMatrix() { function NewMovie (line 13) | func NewMovie(size int) *Movie { FILE: pkg/iso/reader.go type Atom (line 11) | type Atom struct type AtomTkhd (line 16) | type AtomTkhd struct type AtomMdhd (line 20) | type AtomMdhd struct type AtomVideo (line 24) | type AtomVideo struct type AtomAudio (line 29) | type AtomAudio struct type AtomMfhd (line 36) | type AtomMfhd struct type AtomMdat (line 40) | type AtomMdat struct type AtomTfhd (line 44) | type AtomTfhd struct type AtomTfdt (line 50) | type AtomTfdt struct type AtomTrun (line 54) | type AtomTrun struct function DecodeAtom (line 63) | func DecodeAtom(b []byte) (any, error) { function DecodeAtoms (line 185) | func DecodeAtoms(b []byte) (atoms []any, err error) { FILE: pkg/ivideon/ivideon.go type Producer (line 16) | type Producer struct method Start (line 87) | func (p *Producer) Start() error { method probe (line 147) | func (p *Producer) probe() (err error) { function Dial (line 25) | func Dial(source string) (core.Producer, error) { function GetLiveStream (line 59) | func GetLiveStream(id string) (string, error) { type message (line 177) | type message struct FILE: pkg/kasa/producer.go type Producer (line 20) | type Producer struct method Start (line 83) | func (c *Producer) Start() error { method probe (line 143) | func (c *Producer) probe() error { function Dial (line 27) | func Dial(url string) (*Producer, error) { constant MimeVideo (line 139) | MimeVideo = "video/x-h264" constant MimeG711U (line 140) | MimeG711U = "audio/g711u" function GetTimestamp (line 207) | func GetTimestamp(header http.Header) float64 { FILE: pkg/magic/bitstream/producer.go type Producer (line 15) | type Producer struct method Start (line 62) | func (c *Producer) Start() error { function Open (line 20) | func Open(r io.Reader) (*Producer, error) { FILE: pkg/magic/keyframe.go type Keyframe (line 14) | type Keyframe struct method AddTrack (line 45) | func (k *Keyframe) AddTrack(media *core.Media, _ *core.Codec, track *c... method CodecName (line 107) | func (k *Keyframe) CodecName() string { method WriteTo (line 114) | func (k *Keyframe) WriteTo(wr io.Writer) (int64, error) { function NewKeyframe (line 20) | func NewKeyframe() *Keyframe { FILE: pkg/magic/mjpeg/producer.go type Producer (line 11) | type Producer struct method Start (line 41) | func (c *Producer) Start() error { function Open (line 16) | func Open(rd io.Reader) (*Producer, error) { FILE: pkg/magic/producer.go function Open (line 21) | func Open(r io.Reader) (core.Producer, error) { FILE: pkg/mdns/client.go constant ServiceDNSSD (line 18) | ServiceDNSSD = "_services._dns-sd._udp.local." constant ServiceHAP (line 19) | ServiceHAP = "_hap._tcp.local." type ServiceEntry (line 22) | type ServiceEntry struct method String (line 29) | func (e *ServiceEntry) String() string { method TXT (line 37) | func (e *ServiceEntry) TXT() []string { method Complete (line 45) | func (e *ServiceEntry) Complete() bool { method Addr (line 49) | func (e *ServiceEntry) Addr() string { method Host (line 53) | func (e *ServiceEntry) Host(service string) string { method name (line 57) | func (e *ServiceEntry) name() string { constant sendTimeout (line 73) | sendTimeout = time.Millisecond * 505 constant respTimeout (line 74) | respTimeout = time.Second * 3 function BasicDiscovery (line 78) | func BasicDiscovery(service string, onentry func(*ServiceEntry) bool) er... function Discovery (line 99) | func Discovery(service string, onentry func(*ServiceEntry) bool) error { function Query (line 117) | func Query(host, service string) (entry *ServiceEntry, err error) { function QueryOrDiscovery (line 147) | func QueryOrDiscovery(host, service string, onentry func(*ServiceEntry) ... type Browser (line 156) | type Browser struct method ListenMulticastUDP (line 171) | func (b *Browser) ListenMulticastUDP() error { method Browse (line 235) | func (b *Browser) Browse(onentry func(*ServiceEntry) bool) error { method Close (line 296) | func (b *Browser) Close() error { function GetPTR (line 306) | func GetPTR(msg *dns.Msg, service string) string { function NewServiceEntries (line 315) | func NewServiceEntries(msg *dns.Msg, ip net.IP) (entries []*ServiceEntry) { FILE: pkg/mdns/mdns_test.go function TestDiscovery (line 9) | func TestDiscovery(t *testing.T) { FILE: pkg/mdns/server.go constant ClassCacheFlush (line 10) | ClassCacheFlush = 0x8001 function Serve (line 12) | func Serve(service string, entries []*ServiceEntry) error { method Serve (line 22) | func (b *Browser) Serve(entries []*ServiceEntry) error { method MatchLocalIP (line 91) | func (b *Browser) MatchLocalIP(remote net.IP) net.IP { function AppendDNSSD (line 100) | func AppendDNSSD(msg *dns.Msg, service string) { function AppendEntry (line 115) | func AppendEntry(msg *dns.Msg, entry *ServiceEntry, service string, ip n... FILE: pkg/mdns/syscall.go function SetsockoptInt (line 9) | func SetsockoptInt(fd uintptr, level, opt int, value int) (err error) { function SetsockoptIPMreq (line 13) | func SetsockoptIPMreq(fd uintptr, level, opt int, mreq *syscall.IPMreq) ... FILE: pkg/mdns/syscall_bsd.go function SetsockoptInt (line 9) | func SetsockoptInt(fd uintptr, level, opt int, value int) (err error) { function SetsockoptIPMreq (line 24) | func SetsockoptIPMreq(fd uintptr, level, opt int, mreq *syscall.IPMreq) ... FILE: pkg/mdns/syscall_windows.go function SetsockoptInt (line 7) | func SetsockoptInt(fd uintptr, level, opt int, value int) (err error) { function SetsockoptIPMreq (line 11) | func SetsockoptIPMreq(fd uintptr, level, opt int, mreq *syscall.IPMreq) ... FILE: pkg/mjpeg/consumer.go type Consumer (line 10) | type Consumer struct method AddTrack (line 38) | func (c *Consumer) AddTrack(media *core.Media, _ *core.Codec, track *c... method WriteTo (line 57) | func (c *Consumer) WriteTo(wr io.Writer) (int64, error) { function NewConsumer (line 15) | func NewConsumer() *Consumer { FILE: pkg/mjpeg/helpers.go function FixJPEG (line 12) | func FixJPEG(b []byte) []byte { function Encoder (line 57) | func Encoder(codec *core.Codec, skipEmpty int, handler core.HandlerFunc)... constant dhtSize (line 79) | dhtSize = 432 function InjectDHT (line 81) | func InjectDHT(b []byte) []byte { FILE: pkg/mjpeg/jpeg.go constant markerSOF (line 4) | markerSOF = 0xC0 constant markerSOI (line 5) | markerSOI = 0xD8 constant markerEOI (line 6) | markerEOI = 0xD9 constant markerSOS (line 7) | markerSOS = 0xDA constant markerDQT (line 8) | markerDQT = 0xDB constant markerDHT (line 9) | markerDHT = 0xC4 FILE: pkg/mjpeg/mjpeg_test.go function TestRFC2435 (line 9) | func TestRFC2435(t *testing.T) { FILE: pkg/mjpeg/rfc2435.go function MakeTables (line 29) | func MakeTables(q byte) (lqt, cqt []byte) { function MakeHeaders (line 144) | func MakeHeaders(p []byte, t byte, w, h uint16, lqt, cqt []byte) []byte { function MakeQuantHeader (line 191) | func MakeQuantHeader(p []byte, qt []byte, tableNo byte) []byte { function MakeHuffmanHeader (line 196) | func MakeHuffmanHeader(p, codelens, symbols []byte, tableNo, tableClass ... function MakeHuffmanHeaders (line 205) | func MakeHuffmanHeaders(p []byte) []byte { FILE: pkg/mjpeg/rtp.go function RTPDepay (line 13) | func RTPDepay(handlerFunc core.HandlerFunc) core.HandlerFunc { function cutSize (line 88) | func cutSize(size uint16) uint16 { function RTPPay (line 92) | func RTPPay(handlerFunc core.HandlerFunc) core.HandlerFunc { function Transcode (line 186) | func Transcode(b []byte) ([]byte, error) { FILE: pkg/mjpeg/writer.go function NewWriter (line 9) | func NewWriter(w io.Writer) io.Writer { constant header (line 15) | header = "--frame\r\nContent-Type: image/jpeg\r\nContent-Length: " type writer (line 17) | type writer struct method Write (line 22) | func (w *writer) Write(p []byte) (n int, err error) { FILE: pkg/mp4/consumer.go type Consumer (line 16) | type Consumer struct method AddTrack (line 63) | func (c *Consumer) AddTrack(media *core.Media, _ *core.Codec, track *c... method WriteTo (line 167) | func (c *Consumer) WriteTo(wr io.Writer) (int64, error) { function NewConsumer (line 28) | func NewConsumer(medias []*core.Media) *Consumer { FILE: pkg/mp4/demuxer.go type Demuxer (line 11) | type Demuxer struct method Probe (line 16) | func (d *Demuxer) Probe(init []byte) (medias []*core.Media) { method GetTrackID (line 60) | func (d *Demuxer) GetTrackID(codec *core.Codec) uint32 { method Demux (line 69) | func (d *Demuxer) Demux(data2 []byte) (trackID uint32, packets []*core... FILE: pkg/mp4/helpers.go function ParseQuery (line 12) | func ParseQuery(query map[string][]string) []*core.Media { function ParseCodecs (line 58) | func ParseCodecs(codecs string, parseAudio bool) (medias []*core.Media) { function PatchVideoRotate (line 111) | func PatchVideoRotate(init []byte, degrees int) bool { function PatchVideoScale (line 155) | func PatchVideoScale(init []byte, scaleX, scaleY int) bool { FILE: pkg/mp4/keyframe.go type Keyframe (line 12) | type Keyframe struct method AddTrack (line 47) | func (c *Keyframe) AddTrack(media *core.Media, _ *core.Codec, track *c... method WriteTo (line 102) | func (c *Keyframe) WriteTo(wr io.Writer) (int64, error) { function NewKeyframe (line 19) | func NewKeyframe(medias []*core.Media) *Keyframe { FILE: pkg/mp4/mime.go constant MimeH264 (line 9) | MimeH264 = "avc1.640029" constant MimeH265 (line 10) | MimeH265 = "hvc1.1.6.L153.B0" constant MimeAAC (line 11) | MimeAAC = "mp4a.40.2" constant MimeFlac (line 12) | MimeFlac = "flac" constant MimeOpus (line 13) | MimeOpus = "opus" function MimeCodecs (line 16) | func MimeCodecs(codecs []*core.Codec) string { function ContentType (line 43) | func ContentType(codecs []*core.Codec) string { FILE: pkg/mp4/muxer.go type Muxer (line 13) | type Muxer struct method AddTrack (line 20) | func (m *Muxer) AddTrack(codec *core.Codec) { method GetInit (line 26) | func (m *Muxer) GetInit() ([]byte, error) { method Reset (line 113) | func (m *Muxer) Reset() { method GetPayload (line 121) | func (m *Muxer) GetPayload(trackID byte, packet *rtp.Packet) []byte { FILE: pkg/mpegts/checksum.go function checksum (line 51) | func checksum(data []byte) uint32 { FILE: pkg/mpegts/consumer.go type Consumer (line 13) | type Consumer struct method AddTrack (line 50) | func (c *Consumer) AddTrack(media *core.Media, codec *core.Codec, trac... method WriteTo (line 110) | func (c *Consumer) WriteTo(wr io.Writer) (int64, error) { function NewConsumer (line 19) | func NewConsumer() *Consumer { FILE: pkg/mpegts/demuxer.go type Demuxer (line 14) | type Demuxer struct method ReadPacket (line 32) | func (d *Demuxer) ReadPacket(rd io.Reader) (*rtp.Packet, error) { method readPacketHeader (line 69) | func (d *Demuxer) readPacketHeader() (pid uint16, start bool, err erro... method skip (line 98) | func (d *Demuxer) skip(i byte) { method readBytes (line 102) | func (d *Demuxer) readBytes(i byte) []byte { method readPSIHeader (line 107) | func (d *Demuxer) readPSIHeader() { method readPAT (line 129) | func (d *Demuxer) readPAT() { method readPMT (line 147) | func (d *Demuxer) readPMT() { method readPES (line 180) | func (d *Demuxer) readPES(pid uint16, start bool) *rtp.Packet { method reset (line 252) | func (d *Demuxer) reset() { method readByte (line 259) | func (d *Demuxer) readByte() byte { method readBit (line 269) | func (d *Demuxer) readBit() byte { method readBits (line 280) | func (d *Demuxer) readBits(n byte) (res uint32) { method readBits16 (line 287) | func (d *Demuxer) readBits16(n byte) (res uint16) { method readTime (line 294) | func (d *Demuxer) readTime() uint32 { method bytes (line 307) | func (d *Demuxer) bytes() []byte { method left (line 311) | func (d *Demuxer) left() byte { method setSize (line 315) | func (d *Demuxer) setSize(size byte) { function NewDemuxer (line 26) | func NewDemuxer() *Demuxer { constant skipRead (line 30) | skipRead = 0xFF constant PacketSize (line 320) | PacketSize = 188 constant SyncByte (line 321) | SyncByte = 0x47 constant ClockRate (line 322) | ClockRate = 90000 constant StreamTypeMetadata (line 327) | StreamTypeMetadata = 0 constant StreamTypePrivate (line 328) | StreamTypePrivate = 0x06 constant StreamTypeAAC (line 329) | StreamTypeAAC = 0x0F constant StreamTypeH264 (line 330) | StreamTypeH264 = 0x1B constant StreamTypeH265 (line 331) | StreamTypeH265 = 0x24 constant StreamTypePCMATapo (line 332) | StreamTypePCMATapo = 0x90 constant StreamTypePCMUTapo (line 333) | StreamTypePCMUTapo = 0x91 constant StreamTypePrivateOPUS (line 334) | StreamTypePrivateOPUS = 0xEB type PES (line 338) | type PES struct method SetBuffer (line 351) | func (p *PES) SetBuffer(size uint16, b []byte) { method AppendBuffer (line 357) | func (p *PES) AppendBuffer(b []byte) { method GetPacket (line 361) | func (p *PES) GetPacket() (pkt *rtp.Packet) { FILE: pkg/mpegts/muxer.go type Muxer (line 10) | type Muxer struct method AddTrack (line 20) | func (m *Muxer) AddTrack(streamType byte) (pid uint16) { method GetHeader (line 37) | func (m *Muxer) GetHeader() []byte { method GetPayload (line 45) | func (m *Muxer) GetPayload(pid uint16, timestamp uint32, payload []byt... method writePAT (line 100) | func (m *Muxer) writePAT(wr *bits.Writer) { method writePMT (line 115) | func (m *Muxer) writePMT(wr *bits.Writer) { method writePES (line 146) | func (m *Muxer) writePES(wr *bits.Writer, pid uint16, pes *PES) { method writeHeader (line 179) | func (m *Muxer) writeHeader(wr *bits.Writer, pid uint16) { method writePSIHeader (line 193) | func (m *Muxer) writePSIHeader(wr *bits.Writer, tableID byte, size uin... method WriteTail (line 213) | func (m *Muxer) WriteTail(wr *bits.Writer) { function NewMuxer (line 14) | func NewMuxer() *Muxer { constant patPID (line 96) | patPID = 0 constant pmtPID (line 97) | pmtPID = 0x1000 constant pes0PID (line 98) | pes0PID = 0x100 function WriteTime (line 218) | func WriteTime(b []byte, t uint32) { FILE: pkg/mpegts/opus.go constant opusDT (line 8) | opusDT = 960 * ClockRate / 48000 function CutOPUSPacket (line 18) | func CutOPUSPacket(b []byte) (packet []byte, left []byte) { function opus_control_header (line 32) | func opus_control_header(r *bits.Reader) int { FILE: pkg/mpegts/producer.go type Producer (line 15) | type Producer struct method GetTrack (line 35) | func (c *Producer) GetTrack(media *core.Media, codec *core.Codec) (*co... method Start (line 41) | func (c *Producer) Start() error { method probe (line 64) | func (c *Producer) probe() error { function Open (line 20) | func Open(rd io.Reader) (*Producer, error) { function StreamType (line 156) | func StreamType(codec *core.Codec) uint8 { function TimestampToRTP (line 172) | func TimestampToRTP(rtp *rtp.Packet, codec *core.Codec) { FILE: pkg/mpjpeg/multipart.go function Next (line 13) | func Next(rd *bufio.Reader) (http.Header, []byte, error) { FILE: pkg/mpjpeg/producer.go type Producer (line 12) | type Producer struct method Start (line 40) | func (c *Producer) Start() error { function Open (line 17) | func Open(rd io.Reader) (*Producer, error) { FILE: pkg/mqtt/client.go constant Timeout (line 12) | Timeout = time.Second * 5 type Client (line 14) | type Client struct method Connect (line 23) | func (c *Client) Connect(clientID, username, password string) (err err... method Subscribe (line 45) | func (c *Client) Subscribe(topic string) (err error) { method Publish (line 56) | func (c *Client) Publish(topic string, payload []byte) (err error) { method Read (line 67) | func (c *Client) Read() (string, []byte, error) { method Close (line 109) | func (c *Client) Close() error { function NewClient (line 19) | func NewClient(conn net.Conn) *Client { FILE: pkg/mqtt/message.go type Message (line 7) | type Message struct method WriteByte (line 22) | func (m *Message) WriteByte(b byte) { method WriteBytes (line 26) | func (m *Message) WriteBytes(b []byte) { method WriteUint16 (line 30) | func (m *Message) WriteUint16(i uint16) { method WriteLen (line 34) | func (m *Message) WriteLen(i int) { method WriteString (line 44) | func (m *Message) WriteString(s string) { method Bytes (line 49) | func (m *Message) Bytes() []byte { constant CONNECT (line 13) | CONNECT = 0x10 constant CONNACK (line 14) | CONNACK = 0x20 constant PUBLISH (line 15) | PUBLISH = 0x30 constant PUBACK (line 16) | PUBACK = 0x40 constant SUBSCRIBE (line 17) | SUBSCRIBE = 0x82 constant SUBACK (line 18) | SUBACK = 0x90 constant QOS1 (line 19) | QOS1 = 0x02 constant flagCleanStart (line 54) | flagCleanStart = 0x02 constant flagUsername (line 55) | flagUsername = 0x80 constant flagPassword (line 56) | flagPassword = 0x40 function NewConnect (line 59) | func NewConnect(clientID, username, password string) *Message { function NewSubscribe (line 75) | func NewSubscribe(mid uint16, topic string, qos byte) *Message { function NewPublish (line 86) | func NewPublish(topic string, payload []byte) *Message { function NewPublishQOS1 (line 96) | func NewPublishQOS1(mid uint16, topic string, payload []byte) *Message { function ReadLen (line 107) | func ReadLen(r io.Reader) (uint32, error) { FILE: pkg/multitrans/client.go type Client (line 18) | type Client struct method AddTrack (line 69) | func (c *Client) AddTrack(media *core.Media, _ *core.Codec, track *cor... method handshake (line 104) | func (c *Client) handshake(u *url.URL) error { method openTalkChannel (line 164) | func (c *Client) openTalkChannel(uri, session string) error { method GetTrack (line 191) | func (c *Client) GetTrack(media *core.Media, codec *core.Codec) (*core... method Start (line 195) | func (c *Client) Start() error { method Stop (line 200) | func (c *Client) Stop() error { function Dial (line 25) | func Dial(rawURL string) (core.Producer, error) { FILE: pkg/nest/api.go type API (line 14) | type API struct method GetDevices (line 95) | func (a *API) GetDevices(projectID string) ([]DeviceInfo, error) { method ExchangeSDP (line 152) | func (a *API) ExchangeSDP(projectID, deviceID, offer string) (string, ... method refreshToken (line 230) | func (a *API) refreshToken() error { method ExtendStream (line 265) | func (a *API) ExtendStream() error { method GenerateRtspStream (line 330) | func (a *API) GenerateRtspStream(projectID, deviceID string) (string, ... method StopRTSPStream (line 387) | func (a *API) StopRTSPStream() error { method StartExtendStreamTimer (line 467) | func (a *API) StartExtendStreamTimer() { method StopExtendStreamTimer (line 481) | func (a *API) StopExtendStreamTimer() { type Auth (line 32) | type Auth struct type DeviceInfo (line 36) | type DeviceInfo struct function NewAPI (line 45) | func NewAPI(clientID, clientSecret, refreshToken string) (*API, error) { type Device (line 433) | type Device struct FILE: pkg/nest/client.go type WebRTCClient (line 15) | type WebRTCClient struct method GetMedias (line 73) | func (c *WebRTCClient) GetMedias() []*core.Media { method GetTrack (line 77) | func (c *WebRTCClient) GetTrack(media *core.Media, codec *core.Codec) ... method AddTrack (line 81) | func (c *WebRTCClient) AddTrack(media *core.Media, codec *core.Codec, ... method Start (line 85) | func (c *WebRTCClient) Start() error { method Stop (line 90) | func (c *WebRTCClient) Stop() error { method MarshalJSON (line 95) | func (c *WebRTCClient) MarshalJSON() ([]byte, error) { type RTSPClient (line 20) | type RTSPClient struct method GetMedias (line 175) | func (c *RTSPClient) GetMedias() []*core.Media { method GetTrack (line 180) | func (c *RTSPClient) GetTrack(media *core.Media, codec *core.Codec) (*... method Start (line 184) | func (c *RTSPClient) Start() error { method Stop (line 189) | func (c *RTSPClient) Stop() error { method MarshalJSON (line 195) | func (c *RTSPClient) MarshalJSON() ([]byte, error) { function Dial (line 25) | func Dial(rawURL string) (core.Producer, error) { function rtcConn (line 99) | func rtcConn(nestAPI *API, rawURL, projectID, deviceID string) (*WebRTCC... function rtspConn (line 158) | func rtspConn(nestAPI *API, rawURL, projectID, deviceID string) (*RTSPCl... FILE: pkg/ngrok/ngrok.go type Ngrok (line 13) | type Ngrok struct method Serve (line 59) | func (n *Ngrok) Serve() error { type Message (line 21) | type Message struct function NewNgrok (line 28) | func NewNgrok(command any) (*Ngrok, error) { FILE: pkg/onvif/client.go constant PathDevice (line 15) | PathDevice = "/onvif/device_service" type Client (line 17) | type Client struct method GetURI (line 50) | func (c *Client) GetURI() (string, error) { method GetName (line 92) | func (c *Client) GetName() (string, error) { method GetProfilesTokens (line 101) | func (c *Client) GetProfilesTokens() ([]string, error) { method HasSnapshots (line 117) | func (c *Client) HasSnapshots() bool { method GetProfile (line 125) | func (c *Client) GetProfile(token string) ([]byte, error) { method GetVideoSourceConfiguration (line 131) | func (c *Client) GetVideoSourceConfiguration(token string) ([]byte, er... method GetStreamUri (line 137) | func (c *Client) GetStreamUri(token string) ([]byte, error) { method GetSnapshotUri (line 147) | func (c *Client) GetSnapshotUri(token string) ([]byte, error) { method GetServiceCapabilities (line 153) | func (c *Client) GetServiceCapabilities() ([]byte, error) { method DeviceRequest (line 160) | func (c *Client) DeviceRequest(operation string) ([]byte, error) { method MediaRequest (line 172) | func (c *Client) MediaRequest(operation string) ([]byte, error) { method Request (line 177) | func (c *Client) Request(url, body string) ([]byte, error) { function NewClient (line 25) | func NewClient(rawURL string) (*Client, error) { FILE: pkg/onvif/envelope.go type Envelope (line 13) | type Envelope struct method Append (line 61) | func (e *Envelope) Append(args ...string) { method Appendf (line 67) | func (e *Envelope) Appendf(format string, args ...any) { method Bytes (line 71) | func (e *Envelope) Bytes() []byte { constant prefix1 (line 18) | prefix1 = `