Xtream-API: Add /play url support

Signed-off-by: Pierre-Emmanuel Jacquier <15922119+pierre-emmanuelJ@users.noreply.github.com>
This commit is contained in:
Pierre-Emmanuel Jacquier
2022-03-31 08:59:40 +00:00
parent b187b44b3b
commit 5b20dfbacb
2 changed files with 13 additions and 0 deletions

View File

@@ -65,6 +65,7 @@ func (c *Config) xtreamRoutes(r *gin.RouterGroup) {
r.GET(fmt.Sprintf("/series/%s/%s/:id", c.User, c.Password), c.xtreamStreamSeries)
r.GET(fmt.Sprintf("/hlsr/:token/%s/%s/:channel/:hash/:chunk", c.User, c.Password), c.xtreamHlsrStream)
r.GET("/hls/:token/:chunk", c.xtreamHlsStream)
r.GET("/play/:token/:type", c.xtreamStreamPlay)
}
func (c *Config) m3uRoutes(r *gin.RouterGroup) {

View File

@@ -312,6 +312,18 @@ func (c *Config) xtreamStreamLive(ctx *gin.Context) {
c.xtreamStream(ctx, rpURL)
}
func (c *Config) xtreamStreamPlay(ctx *gin.Context) {
hash := ctx.Param("hash")
t := ctx.Param("type")
rpURL, err := url.Parse(fmt.Sprintf("%s/play/%s/%s", c.XtreamBaseURL, hash, t))
if err != nil {
ctx.AbortWithError(http.StatusInternalServerError, err) // nolint: errcheck
return
}
c.xtreamStream(ctx, rpURL)
}
func (c *Config) xtreamStreamTimeshift(ctx *gin.Context) {
duration := ctx.Param("duration")
start := ctx.Param("start")