Start adapting new streamforward to Android

This commit is contained in:
Dmitrii Okunev
2024-10-15 01:57:03 +01:00
parent 765da7c365
commit 197206c17a
77 changed files with 1448 additions and 1373 deletions

View File

@@ -0,0 +1,49 @@
//go:build with_libav
// +build with_libav
package process
import (
"context"
"encoding/json"
"fmt"
"net"
"os"
"github.com/facebookincubator/go-belt"
"github.com/xaionaro-go/streamctl/pkg/recoder/libav/saferecoder/process/server"
)
const (
EnvKeyIsRecoder = "IS_STREAMPANEL_RECODER"
)
func init() {
if os.Getenv(EnvKeyIsRecoder) != "" {
runRecoder()
belt.Flush(context.TODO())
os.Exit(0)
}
}
func runRecoder() {
listener, err := net.Listen("tcp", "127.0.0.1:0")
if err != nil {
panic(fmt.Errorf("failed to listen: %w", err))
}
defer listener.Close()
d := ReturnedData{
ListenAddr: listener.Addr().String(),
}
b, err := json.Marshal(d)
if err != nil {
panic(err)
}
fmt.Fprintf(os.Stdout, "%s\n", b)
srv := server.NewServer()
err = srv.Serve(context.TODO(), listener)
panic(err)
}