Plan recording worker wake decisions

This commit is contained in:
2026-06-05 07:07:28 +02:00
parent c50ea14a2a
commit 942c053c19
8 changed files with 94 additions and 13 deletions

View File

@@ -198,6 +198,8 @@ struct PlanRecordingSessionArgs {
bool running = false;
std::uint32_t frame_count = 0;
bool platform_deletes_recorded_files = false;
bool encoder_available = true;
bool has_canvas = true;
};
struct PlanShareFileArgs {
@@ -2090,7 +2092,7 @@ void print_help()
<< " plan-cloud-upload [--no-canvas] [--new-document] [--unsaved]\n"
<< " plan-cloud-browse [--no-canvas] [--selected-file FILE]\n"
<< " plan-cloud-upload-all [--file-count N] [--no-progress-ui]\n"
<< " plan-recording-session [--running] [--frame-count N] [--platform-deletes-recorded-files]\n"
<< " plan-recording-session [--running] [--frame-count N] [--platform-deletes-recorded-files] [--no-encoder] [--no-canvas]\n"
<< " plan-app-preferences [--ui-scale N] [--display-density N] [--current-scale N] [--scale-option N] [--viewport-scale N] [--rtl] [--timelapse-disabled] [--recording-running] [--vr-controllers-disabled] [--cursor-mode N]\n"
<< " plan-app-startup [--run-counter N] [--auto-timelapse-disabled] [--vr-controllers-disabled] [--license-invalid]\n"
<< " plan-app-startup-resources [--width N] [--height N] [--bad-size]\n"
@@ -3539,6 +3541,10 @@ pp::foundation::Status parse_plan_recording_session_args(
args.frame_count = value.value();
} else if (key == "--platform-deletes-recorded-files") {
args.platform_deletes_recorded_files = true;
} else if (key == "--no-encoder") {
args.encoder_available = false;
} else if (key == "--no-canvas") {
args.has_canvas = false;
} else {
return pp::foundation::Status::invalid_argument("unknown option");
}
@@ -3562,10 +3568,16 @@ int plan_recording_session(int argc, char** argv)
args.running,
args.platform_deletes_recorded_files);
const auto export_plan = pp::app::plan_recording_export(args.frame_count);
const auto worker = pp::app::plan_recording_worker_iteration(
args.running,
args.encoder_available,
args.has_canvas);
std::cout << "{\"ok\":true,\"command\":\"plan-recording-session\""
<< ",\"state\":{\"running\":" << json_bool(args.running)
<< ",\"frameCount\":" << args.frame_count
<< ",\"platformDeletesRecordedFiles\":" << json_bool(args.platform_deletes_recorded_files)
<< ",\"encoderAvailable\":" << json_bool(args.encoder_available)
<< ",\"hasCanvas\":" << json_bool(args.has_canvas)
<< "},\"startDecision\":\"" << recording_start_action_name(start)
<< "\",\"stopDecision\":\"" << recording_stop_action_name(stop)
<< "\",\"clear\":{\"stopRunningRecording\":" << json_bool(clear.stop_running_recording)
@@ -3573,6 +3585,10 @@ int plan_recording_session(int argc, char** argv)
<< ",\"frameCountAfterClear\":" << clear.frame_count_after_clear
<< "},\"export\":{\"frameCount\":" << export_plan.frame_count
<< ",\"progressTotal\":" << export_plan.progress_total
<< "},\"worker\":{\"continueRunning\":" << json_bool(worker.continue_running)
<< ",\"encodeFrame\":" << json_bool(worker.encode_frame)
<< ",\"clearDirtyStroke\":" << json_bool(worker.clear_dirty_stroke)
<< ",\"updateFrameLabel\":" << json_bool(worker.update_frame_label)
<< "}}\n";
return 0;
}