Commit Diff


commit - c782d7505d2481993f034dc8c80060f1ae176698
commit + 18185121cc63011d9f097754c13cdc4cc11fd72b
blob - a066baf44dbfd8a893433ebf8a4dd4345c25e75a (mode 644)
blob + /dev/null
--- cmd/avhelp/avhelp.go
+++ /dev/null
@@ -1,69 +0,0 @@
-// Command avhelp serves...
-package main
-
-import (
-	"embed"
-	"html/template"
-	"log"
-	"net"
-	"net/http"
-
-	"github.com/untangledco/streaming/rtp"
-)
-
-//go:embed template
-var content embed.FS
-
-type server struct {
-	templates *template.Template
-	pconn     net.PacketConn
-	buf       [5]rtp.Packet
-}
-
-func (srv *server) serveRTPInfo(w http.ResponseWriter, req *http.Request) {
-	if err := srv.templates.ExecuteTemplate(w, "rtp.html", srv.buf); err != nil {
-		log.Println("serve %s: render rtp.html: %v", req.URL, err)
-	}
-}
-
-func (srv *server) receive() {
-	buf := make([]byte, 1360)
-	var i int
-	for {
-		n, _, err := srv.pconn.ReadFrom(buf)
-		if err != nil {
-			log.Printf("receive packet: %v", err)
-		}
-		var packet rtp.Packet
-		if err := rtp.Unmarshal(buf[:n], &packet); err != nil {
-			log.Printf("unmarshal packet: %v", err)
-		}
-		if i == 5 {
-			srv.buf[0] = packet
-			i = 1
-		} else {
-			srv.buf[i] = packet
-			i++
-		}
-	}
-}
-
-func main() {
-	tmpl, err := template.ParseFS(content, "template/*.html")
-	if err != nil {
-		log.Fatal(err)
-	}
-	pc, err := net.ListenPacket("udp", ":6969")
-	if err != nil {
-		log.Fatal(err)
-	}
-
-	srv := &server{
-		templates: tmpl,
-		pconn:     pc,
-	}
-	go srv.receive()
-
-	http.HandleFunc("/rtp/", srv.serveRTPInfo)
-	log.Fatal(http.ListenAndServe(":8080", nil))
-}
blob - 076ca9608cf294228df767ceab1f12f359b3cbd2 (mode 644)
blob + /dev/null
--- cmd/avhelp/template/index.html
+++ /dev/null
@@ -1,12 +0,0 @@
-<html>
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>avhelp</title>
-<link rel="stylesheet" href="/style.css">
-</head>
-
-<body>
-<p>Hello, {{ . }}!</p>
-</body>
-</html>
blob - daef703fb5b589d63810409465e62e609ef3b4e4 (mode 644)
blob + /dev/null
--- cmd/avhelp/template/rtp.html
+++ /dev/null
@@ -1,66 +0,0 @@
-<html>
-<head>
-<meta charset="utf-8">
-<meta name="viewport" content="width=device-width, initial-scale=1">
-<title>avhelp</title>
-<link rel="stylesheet" href="https://unpkg.com/missing.css@1.1.2">
-</head>
-
-<body>
-<header></header>
-
-<main>
-<h1>RTP</h1>
-<p>Real-time Transport Protocol is specified in
-<a href="https://www.rfc-editor.org/rfc/rfc3550.html">RFC 3550</a>.</p>
-
-<h2>Packet layout</h2>
-
-<dl>
-	<dt>Version</dt>
-	<dd>Version specifies the version of RTP used.</dd>
-	<dt>Marker</dt>
-	<dd>The payload determines how this value is interpreted.</dd>
-	<dt>...</dt>
-	<dd>...</dd>
-</dl>
-
-<h2>Troubleshooting</h2>
-
-<p>Send RTP packets to <code>[::1]:6969</code></p>
-
-<table>
-	<caption>Recently received packets</caption>
-	<thead>
-		<tr>
-			<th scope="col">Version</th>
-			<th scope="col">Marker</th>
-			<th scope="col">Type</th>
-			<th scope="col">Sequence</th>
-			<th scope="col">Timestamp</th>
-			<th scope="col">Sync. source</th>
-			<th scope="col">Contrib. sources</th>
-		</tr>
-	</thead>
-	<tbody>
-		{{range .}}
-		<tr>
-			<td>{{ .Header.Version }}</td>
-			<td>{{if .Header.Marker}}set{{else}}unset{{end}}</td>
-			<td>{{ .Header.Type}}</td>
-			<td>{{ .Header.Sequence }}</td>
-			<td>{{ .Header.Timestamp }}</td>
-			<td>{{ .Header.SyncSource }}</td>
-			<td>{{ range .Header.ContribSource }} {{ . }}, {{ end }}</td>
-		</tr>
-		{{end}}
-	</tbody>
-</table>
-</main>
-
-<footer>
-<a href="https://github.com/untangledco/streaming">Source code</code>
-</footer>
-
-</body>
-</html>