mirror of
https://github.com/zoriya/Kyoo.git
synced 2026-05-21 22:56:29 -04:00
Transcoder: Audio: Add quality to AudioKey + param to api endpoint
This commit is contained in:
@@ -20,9 +20,9 @@ func RegisterStreamHandlers(e *echo.Group, transcoder *src.Transcoder) {
|
||||
e.GET("/:path/direct/:identifier", DirectStream)
|
||||
e.GET("/:path/master.m3u8", h.GetMaster)
|
||||
e.GET("/:path/:video/:quality/index.m3u8", h.GetVideoIndex)
|
||||
e.GET("/:path/audio/:audio/index.m3u8", h.GetAudioIndex)
|
||||
e.GET("/:path/audio/:audio/:quality/index.m3u8", h.GetAudioIndex)
|
||||
e.GET("/:path/:video/:quality/:chunk", h.GetVideoSegment)
|
||||
e.GET("/:path/audio/:audio/:chunk", h.GetAudioSegment)
|
||||
e.GET("/:path/audio/:audio/:quality/:chunk", h.GetAudioSegment)
|
||||
}
|
||||
|
||||
// @Summary Direct video
|
||||
@@ -115,7 +115,7 @@ func (h *shandler) GetVideoIndex(c echo.Context) error {
|
||||
// This route can take a few seconds to respond since it will way for at least one segment to be
|
||||
// available.
|
||||
//
|
||||
// Path: /:path/audio/:audio/index.m3u8
|
||||
// Path: /:path/audio/:audio/:quality/index.m3u8
|
||||
//
|
||||
// PRIVATE ROUTE (not documented in swagger, can change at any time)
|
||||
// Only reached via the master.m3u8.
|
||||
@@ -124,6 +124,10 @@ func (h *shandler) GetAudioIndex(c echo.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
quality, err := src.AudioQualityFromString(c.Param("quality"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
client, err := getClientId(c)
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -133,7 +137,7 @@ func (h *shandler) GetAudioIndex(c echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
ret, err := h.transcoder.GetAudioIndex(c.Request().Context(), path, uint32(audio), client, sha)
|
||||
ret, err := h.transcoder.GetAudioIndex(c.Request().Context(), path, uint32(audio), quality, client, sha)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
@@ -190,7 +194,7 @@ func (h *shandler) GetVideoSegment(c echo.Context) error {
|
||||
//
|
||||
// Retrieve a chunk of a transcoded audio.
|
||||
//
|
||||
// Path: /:path/audio/:audio/segments-:chunk.ts
|
||||
// Path: /:path/audio/:audio/:quality/segments-:chunk.ts
|
||||
//
|
||||
// PRIVATE ROUTE (not documented in swagger, can change at any time)
|
||||
// Only reached via the master.m3u8.
|
||||
@@ -199,6 +203,10 @@ func (h *shandler) GetAudioSegment(c echo.Context) error {
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
quality, err := src.AudioQualityFromString(c.Param("quality"))
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
segment, err := parseSegment(c.Param("chunk"))
|
||||
if err != nil {
|
||||
return err
|
||||
@@ -212,7 +220,7 @@ func (h *shandler) GetAudioSegment(c echo.Context) error {
|
||||
return err
|
||||
}
|
||||
|
||||
ret, err := h.transcoder.GetAudioSegment(c.Request().Context(), path, uint32(audio), segment, client, sha)
|
||||
ret, err := h.transcoder.GetAudioSegment(c.Request().Context(), path, uint32(audio), quality, segment, client, sha)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user