mirror of
https://github.com/spl0k/supysonic.git
synced 2024-12-22 08:56:17 +00:00
Add default_transcode_target option
This commit is contained in:
parent
2e320cc312
commit
f0525dc23a
@ -28,6 +28,7 @@ All these are defined by the following variables:
|
|||||||
* `trancoder`
|
* `trancoder`
|
||||||
* `decoder`
|
* `decoder`
|
||||||
* `encoder`
|
* `encoder`
|
||||||
|
* `default_transcode_target`
|
||||||
|
|
||||||
where `EXT` is the lowercase file extension of the matching audio format.
|
where `EXT` is the lowercase file extension of the matching audio format.
|
||||||
`transcoder`s variables have two extensions: the first one is the source
|
`transcoder`s variables have two extensions: the first one is the source
|
||||||
@ -61,6 +62,9 @@ One final note: the original file should be provided as an argument of
|
|||||||
transcoders and decoders. All transcoders, decoders and encoders should write
|
transcoders and decoders. All transcoders, decoders and encoders should write
|
||||||
to standard output, and encoders should read from standard input.
|
to standard output, and encoders should read from standard input.
|
||||||
|
|
||||||
|
The value of `default_transcode_target` will be used as output format when a
|
||||||
|
client requests a bitrate lower than the original file and no specific format.
|
||||||
|
|
||||||
## Suggested configuration
|
## Suggested configuration
|
||||||
|
|
||||||
Here are some example configuration that you could use. This is provided as-is,
|
Here are some example configuration that you could use. This is provided as-is,
|
||||||
@ -75,5 +79,6 @@ decoder_ogg = oggdec -o %srcpath
|
|||||||
decoder_flac = flac -d -c -s %srcpath
|
decoder_flac = flac -d -c -s %srcpath
|
||||||
encoder_mp3 = lame --quiet -b %outrate - -
|
encoder_mp3 = lame --quiet -b %outrate - -
|
||||||
encoder_ogg = oggenc2 -q -M %outrate -
|
encoder_ogg = oggenc2 -q -M %outrate -
|
||||||
|
default_transcode_target = mp3
|
||||||
```
|
```
|
||||||
|
|
||||||
|
@ -83,6 +83,8 @@ def stream_media():
|
|||||||
dst_bitrate = res.bitrate
|
dst_bitrate = res.bitrate
|
||||||
dst_mimetype = res.mimetype
|
dst_mimetype = res.mimetype
|
||||||
|
|
||||||
|
config = current_app.config["TRANSCODING"]
|
||||||
|
|
||||||
prefs = request.client
|
prefs = request.client
|
||||||
if prefs.format:
|
if prefs.format:
|
||||||
dst_suffix = prefs.format
|
dst_suffix = prefs.format
|
||||||
@ -94,6 +96,8 @@ def stream_media():
|
|||||||
|
|
||||||
if dst_bitrate > maxBitRate and maxBitRate != 0:
|
if dst_bitrate > maxBitRate and maxBitRate != 0:
|
||||||
dst_bitrate = maxBitRate
|
dst_bitrate = maxBitRate
|
||||||
|
if not format:
|
||||||
|
format = config.get("default_transcode_target")
|
||||||
|
|
||||||
if format and format != "raw" and format != src_suffix:
|
if format and format != "raw" and format != src_suffix:
|
||||||
dst_suffix = format
|
dst_suffix = format
|
||||||
@ -112,7 +116,6 @@ def stream_media():
|
|||||||
cache.get(cache_key), mimetype=dst_mimetype, conditional=True
|
cache.get(cache_key), mimetype=dst_mimetype, conditional=True
|
||||||
)
|
)
|
||||||
except CacheMiss:
|
except CacheMiss:
|
||||||
config = current_app.config["TRANSCODING"]
|
|
||||||
transcoder = config.get("transcoder_{}_{}".format(src_suffix, dst_suffix))
|
transcoder = config.get("transcoder_{}_{}".format(src_suffix, dst_suffix))
|
||||||
decoder = config.get("decoder_" + src_suffix) or config.get("decoder")
|
decoder = config.get("decoder_" + src_suffix) or config.get("decoder")
|
||||||
encoder = config.get("encoder_" + dst_suffix) or config.get("encoder")
|
encoder = config.get("encoder_" + dst_suffix) or config.get("encoder")
|
||||||
|
Loading…
Reference in New Issue
Block a user