diff --git a/client/Cargo.toml b/client/Cargo.toml index 4bf2cc7..3776008 100644 --- a/client/Cargo.toml +++ b/client/Cargo.toml @@ -4,7 +4,7 @@ path = "src/main.rs" [package] name = "lesavka_client" -version = "0.11.7" +version = "0.11.8" edition = "2024" [dependencies] diff --git a/common/Cargo.toml b/common/Cargo.toml index 2d0f0f3..b536031 100644 --- a/common/Cargo.toml +++ b/common/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "lesavka_common" -version = "0.11.7" +version = "0.11.8" edition = "2024" build = "build.rs" diff --git a/common/src/cli.rs b/common/src/cli.rs index 72d7e34..5398ee0 100644 --- a/common/src/cli.rs +++ b/common/src/cli.rs @@ -17,6 +17,6 @@ mod tests { #[test] fn banner_includes_version() { - assert_eq!(banner("0.11.7"), "lesavka-common CLI (v0.11.7)"); + assert_eq!(banner("0.11.8"), "lesavka-common CLI (v0.11.8)"); } } diff --git a/server/Cargo.toml b/server/Cargo.toml index 4a19ca2..64e3e5d 100644 --- a/server/Cargo.toml +++ b/server/Cargo.toml @@ -10,7 +10,7 @@ bench = false [package] name = "lesavka_server" -version = "0.11.7" +version = "0.11.8" edition = "2024" autobins = false diff --git a/server/src/video.rs b/server/src/video.rs index 0538a41..79143bc 100644 --- a/server/src/video.rs +++ b/server/src/video.rs @@ -471,19 +471,25 @@ pub async fn eye_ball_with_request( "videotestsrc name=cam_{eye} is-live=true pattern=smpte ! \ video/x-raw,width={},height={},framerate={}/1 ! \ queue max-size-buffers={queue_buffers} max-size-time=0 max-size-bytes=0 leaky=downstream ! \ - x264enc tune=zerolatency speed-preset=veryfast bitrate={test_bitrate} key-int-max={keyframe_interval} ! \ + videoconvert ! video/x-raw,format=I420,width={},height={},framerate={}/1,pixel-aspect-ratio=1/1 ! \ + x264enc tune=zerolatency speed-preset=veryfast bitrate={test_bitrate} key-int-max={keyframe_interval} option-string=sar=1/1 ! \ h264parse disable-passthrough=true config-interval=-1 ! \ video/x-h264,stream-format=byte-stream,alignment=au ! \ appsink name=sink emit-signals=true max-buffers={appsink_buffers} drop=true", - request.requested_width, request.requested_height, request.requested_fps, + request.requested_width, + request.requested_height, + request.requested_fps, + request.requested_width, + request.requested_height, + request.requested_fps, ) } else if request.reencode { format!( "v4l2src name=cam_{eye} device=\"{dev}\" io-mode=mmap do-timestamp=true ! \ queue max-size-buffers={queue_buffers} max-size-time=0 max-size-bytes=0 leaky=downstream ! \ h264parse disable-passthrough=true config-interval=-1 ! avdec_h264 ! videoconvert ! \ - videoscale ! videorate ! video/x-raw,width={},height={},framerate={}/1,pixel-aspect-ratio=1/1 ! \ - x264enc tune=zerolatency speed-preset=faster bitrate={} key-int-max={} ! \ + videoscale ! videorate ! video/x-raw,format=I420,width={},height={},framerate={}/1,pixel-aspect-ratio=1/1 ! \ + x264enc tune=zerolatency speed-preset=faster bitrate={} key-int-max={} option-string=sar=1/1 ! \ h264parse disable-passthrough=true config-interval=-1 ! \ video/x-h264,stream-format=byte-stream,alignment=au ! \ appsink name=sink emit-signals=true max-buffers={appsink_buffers} drop=true",