0.1.1
This commit is contained in:
@@ -52,7 +52,7 @@ fn build_pipeline(output_path: &std::path::Path) -> Result<gst::Pipeline, AppErr
|
||||
"autovideosrc ! videoconvert ! tee name=t ",
|
||||
"t. ! queue ! vp8enc deadline=1 ! webmmux ! filesink location=\"{}\" ",
|
||||
"t. ! queue leaky=downstream max-size-buffers=1 ! videoconvert ! ",
|
||||
"jpegenc quality=80 ! appsink name=preview_sink emit-signals=false max-buffers=1 drop=true sync=false"
|
||||
"jpegenc quality=80 ! appsink name=preview_sink max-buffers=1 drop=true sync=false"
|
||||
),
|
||||
location
|
||||
);
|
||||
@@ -123,6 +123,8 @@ fn attach_preview_callbacks(
|
||||
|
||||
let bytes = map.as_slice().to_vec();
|
||||
|
||||
tracing::info!(size = bytes.len(), "preview sample received");
|
||||
|
||||
let lock_result = preview_store.lock();
|
||||
match lock_result {
|
||||
Ok(mut guard) => {
|
||||
@@ -284,9 +286,12 @@ pub fn get_video_preview_frame_base64(
|
||||
};
|
||||
|
||||
let Some(bytes) = guard.as_ref() else {
|
||||
tracing::info!("preview frame requested but none is available yet");
|
||||
return Ok(None);
|
||||
};
|
||||
|
||||
tracing::info!(size = bytes.len(), "preview frame requested and returned");
|
||||
|
||||
let encoded = base64::engine::general_purpose::STANDARD.encode(bytes);
|
||||
Ok(Some(encoded))
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user