From 12ef9a97c03641ea0a4c29bf2cca9fdcc9e091b2 Mon Sep 17 00:00:00 2001 From: zijiren233 Date: Thu, 19 Oct 2023 12:59:10 +0800 Subject: [PATCH] Feat: proxy pullKey use url hash --- internal/op/room.go | 21 +++++---------------- 1 file changed, 5 insertions(+), 16 deletions(-) diff --git a/internal/op/room.go b/internal/op/room.go index d76c120..6f44be5 100644 --- a/internal/op/room.go +++ b/internal/op/room.go @@ -163,9 +163,7 @@ func (r *Room) initMovie(movie *model.Movie) error { } switch u.Scheme { case "rtmp": - if movie.PullKey == "" { - movie.PullKey = uuid.New().String() - } + movie.PullKey = uuid.NewMD5(uuid.NameSpaceURL, []byte(movie.Url)).String() c, err := r.rtmpa.NewChannel(movie.PullKey) if err != nil { return err @@ -188,9 +186,7 @@ func (r *Room) initMovie(movie *model.Movie) error { } }() case "http", "https": - if movie.PullKey == "" { - movie.PullKey = uuid.New().String() - } + movie.PullKey = uuid.NewMD5(uuid.NameSpaceURL, []byte(movie.Url)).String() c, err := r.rtmpa.NewChannel(movie.PullKey) if err != nil { return err @@ -232,9 +228,7 @@ func (r *Room) initMovie(movie *model.Movie) error { if u.Scheme != "http" && u.Scheme != "https" { return errors.New("unsupported scheme") } - if movie.PullKey == "" { - movie.PullKey = uuid.New().String() - } + movie.PullKey = uuid.NewMD5(uuid.NameSpaceURL, []byte(movie.Url)).String() case !movie.Live && !movie.Proxy, movie.Live && !movie.Proxy && !movie.RtmpSource: u, err := url.Parse(movie.Url) if err != nil { @@ -345,10 +339,7 @@ func (r *Room) DeleteMovieByID(id uint) error { if err != nil { return err } - if m.PullKey != "" { - r.rtmpa.DelChannel(m.PullKey) - } - return nil + return r.terminateMovie(m) } func (r *Room) ClearMovies() error { @@ -358,9 +349,7 @@ func (r *Room) ClearMovies() error { return err } for _, m := range ms { - if m.PullKey != "" { - r.rtmpa.DelChannel(m.PullKey) - } + r.terminateMovie(m) } return nil }