Compare commits

..

No commits in common. "4451458dc25308f31319fd207067eb2297db3d62" and "87bc3827475a2e7982aa206937c9834c3e6415fe" have entirely different histories.

3 changed files with 6 additions and 12 deletions

View File

@ -16,7 +16,7 @@ type Config struct {
BufferSize uint `default:"32" validate:"required|min:1"`
// Kb
Bitrate uint64 `default:"32" validate:"required|min:8|max:320"`
Bitrate uint `default:"32" validate:"required|min:8|max:320"`
Codec string `default:"libopus" validate:"required"`
Format string `default:"opus" validate:"required" `

View File

@ -5,7 +5,6 @@ import (
"log"
"net/http"
"net/url"
"strconv"
)
func handleGenres(w http.ResponseWriter, r *http.Request) {
@ -91,12 +90,7 @@ func handleGetM3u(w http.ResponseWriter, r *http.Request) {
}
func handleStream(w http.ResponseWriter, r *http.Request) {
bitrateKbps, err := strconv.ParseUint(r.URL.Query().Get("b"), 10, 64)
if err != nil {
bitrateKbps = config.Bitrate
}
err = stream(r.FormValue("url"), w, bitrateKbps)
err := stream(r.FormValue("url"), w)
if err != nil {
log.Println(err)
}

View File

@ -12,7 +12,7 @@ import (
"gopkg.in/djherbis/buffer.v1"
)
func stream(url string, w http.ResponseWriter, bitrateKbps uint64) error {
func stream(url string, w http.ResponseWriter) error {
if url == "" {
err := errors.New("empty url")
@ -24,15 +24,15 @@ func stream(url string, w http.ResponseWriter, bitrateKbps uint64) error {
w.Header().Set("Accept-Ranges", "none")
w.WriteHeader(http.StatusOK)
return encode(url, w, bitrateKbps)
return encode(url, w)
}
func encode(url string, w io.Writer, bitrateKbps uint64) error {
func encode(url string, w io.Writer) error {
cmd := exec.Command("ffmpeg",
"-i", url,
"-vn",
"-c:a", config.Codec,
"-b:a", fmt.Sprintf("%dk", bitrateKbps),
"-b:a", fmt.Sprintf("%dk", config.Bitrate),
"-f", config.Format,
"-ac", "2",
"pipe:1")