Go-based FM stereo transmitter with RDS, Windows-first and cross-platform
Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

42 wiersze
1.5KB

  1. package ingest
  2. import "time"
  3. type SourceStats struct {
  4. State string `json:"state"`
  5. Connected bool `json:"connected"`
  6. LastChunkAt time.Time `json:"lastChunkAt,omitempty"`
  7. LastMetaAt time.Time `json:"lastMetaAt,omitempty"`
  8. StreamTitle string `json:"streamTitle,omitempty"`
  9. MetadataUpdates uint64 `json:"metadataUpdates,omitempty"`
  10. IcyMetaInt int `json:"icyMetaInt,omitempty"`
  11. ChunksIn uint64 `json:"chunksIn"`
  12. SamplesIn uint64 `json:"samplesIn"`
  13. BufferedSeconds float64 `json:"bufferedSeconds"`
  14. Overflows uint64 `json:"overflows"`
  15. Underruns uint64 `json:"underruns"`
  16. Reconnects uint64 `json:"reconnects"`
  17. Discontinuities uint64 `json:"discontinuities"`
  18. TransportLoss uint64 `json:"transportLoss"`
  19. Reorders uint64 `json:"reorders"`
  20. JitterDepth int `json:"jitterDepth"`
  21. LastError string `json:"lastError,omitempty"`
  22. }
  23. type RuntimeStats struct {
  24. State string `json:"state"`
  25. Prebuffering bool `json:"prebuffering"`
  26. Buffered float64 `json:"buffered"`
  27. BufferedSeconds float64 `json:"bufferedSeconds"`
  28. LastChunkAt time.Time `json:"lastChunkAt,omitempty"`
  29. DroppedFrames uint64 `json:"droppedFrames"`
  30. ConvertErrors uint64 `json:"convertErrors"`
  31. WriteBlocked bool `json:"writeBlocked"`
  32. }
  33. type Stats struct {
  34. Active SourceDescriptor `json:"active"`
  35. Source SourceStats `json:"source"`
  36. Runtime RuntimeStats `json:"runtime"`
  37. }