mirror of
https://github.com/mofeng-git/One-KVM.git
synced 2025-12-12 17:20:30 +08:00
api refactoring
This commit is contained in:
parent
83184952f6
commit
6043dfbb74
@ -55,7 +55,6 @@ class StreamerSnapshot:
|
|||||||
|
|
||||||
class _StreamerParams:
|
class _StreamerParams:
|
||||||
__DESIRED_FPS = "desired_fps"
|
__DESIRED_FPS = "desired_fps"
|
||||||
__MAX_FPS = "max_fps"
|
|
||||||
|
|
||||||
__QUALITY = "quality"
|
__QUALITY = "quality"
|
||||||
|
|
||||||
@ -84,7 +83,7 @@ class _StreamerParams:
|
|||||||
self.__has_h264 = bool(h264_bitrate)
|
self.__has_h264 = bool(h264_bitrate)
|
||||||
|
|
||||||
self.__params: Dict = {self.__DESIRED_FPS: min(desired_fps, max_fps)}
|
self.__params: Dict = {self.__DESIRED_FPS: min(desired_fps, max_fps)}
|
||||||
self.__limits: Dict = {self.__MAX_FPS: max_fps}
|
self.__limits: Dict = {self.__DESIRED_FPS: {"min": 0, "max": max_fps}}
|
||||||
|
|
||||||
if self.__has_quality:
|
if self.__has_quality:
|
||||||
self.__params[self.__QUALITY] = quality
|
self.__params[self.__QUALITY] = quality
|
||||||
@ -117,7 +116,8 @@ class _StreamerParams:
|
|||||||
new_params = dict(self.__params)
|
new_params = dict(self.__params)
|
||||||
|
|
||||||
if self.__DESIRED_FPS in params:
|
if self.__DESIRED_FPS in params:
|
||||||
new_params[self.__DESIRED_FPS] = min(max(params[self.__DESIRED_FPS], 0), self.__limits[self.__MAX_FPS])
|
if self.__check_limits_min_max(self.__DESIRED_FPS, params[self.__DESIRED_FPS]):
|
||||||
|
new_params[self.__DESIRED_FPS] = params[self.__DESIRED_FPS]
|
||||||
|
|
||||||
if self.__QUALITY in params and self.__has_quality:
|
if self.__QUALITY in params and self.__has_quality:
|
||||||
new_params[self.__QUALITY] = min(max(params[self.__QUALITY], 1), 100)
|
new_params[self.__QUALITY] = min(max(params[self.__QUALITY], 1), 100)
|
||||||
@ -127,13 +127,14 @@ class _StreamerParams:
|
|||||||
new_params[self.__RESOLUTION] = params[self.__RESOLUTION]
|
new_params[self.__RESOLUTION] = params[self.__RESOLUTION]
|
||||||
|
|
||||||
if self.__H264_BITRATE in params and self.__has_h264:
|
if self.__H264_BITRATE in params and self.__has_h264:
|
||||||
min_bitrate = self.__limits[self.__H264_BITRATE]["min"]
|
if self.__check_limits_min_max(self.__H264_BITRATE, params[self.__H264_BITRATE]):
|
||||||
max_bitrate = self.__limits[self.__H264_BITRATE]["max"]
|
|
||||||
if min_bitrate <= params[self.__H264_BITRATE] <= max_bitrate:
|
|
||||||
new_params[self.__H264_BITRATE] = params[self.__H264_BITRATE]
|
new_params[self.__H264_BITRATE] = params[self.__H264_BITRATE]
|
||||||
|
|
||||||
self.__params = new_params
|
self.__params = new_params
|
||||||
|
|
||||||
|
def __check_limits_min_max(self, key: str, value: int) -> bool:
|
||||||
|
return (self.__limits[key]["min"] <= value <= self.__limits[key]["max"])
|
||||||
|
|
||||||
|
|
||||||
class Streamer: # pylint: disable=too-many-instance-attributes
|
class Streamer: # pylint: disable=too-many-instance-attributes
|
||||||
def __init__( # pylint: disable=too-many-arguments,too-many-locals
|
def __init__( # pylint: disable=too-many-arguments,too-many-locals
|
||||||
|
|||||||
@ -98,7 +98,8 @@ export function Streamer() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if (!$("stream-desired-fps-slider").activated) {
|
if (!$("stream-desired-fps-slider").activated) {
|
||||||
$("stream-desired-fps-slider").max = state.limits.max_fps;
|
$("stream-desired-fps-slider").min = state.limits.desired_fps.min;
|
||||||
|
$("stream-desired-fps-slider").max = state.limits.desired_fps.max;
|
||||||
wm.setElementEnabled($("stream-desired-fps-slider"), true);
|
wm.setElementEnabled($("stream-desired-fps-slider"), true);
|
||||||
if ($("stream-desired-fps-slider").value !== state.streamer.source.desired_fps) {
|
if ($("stream-desired-fps-slider").value !== state.streamer.source.desired_fps) {
|
||||||
$("stream-desired-fps-slider").value = state.streamer.source.desired_fps;
|
$("stream-desired-fps-slider").value = state.streamer.source.desired_fps;
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user