tauri_plugin_ffmpeg/
models.rs1use serde::{Deserialize, Serialize};
2
3#[derive(Debug, Deserialize, Serialize)]
4#[serde(rename_all = "camelCase")]
5pub struct PingRequest {
6 pub value: Option<String>,
7}
8
9#[derive(Debug, Clone, Default, Deserialize, Serialize)]
10#[serde(rename_all = "camelCase")]
11pub struct PingResponse {
12 pub value: Option<String>,
13}
14
15#[derive(Debug, Clone, Deserialize, Serialize)]
17#[serde(rename_all = "lowercase")]
18pub enum MediaType {
19 Video,
20 Audio,
21}
22
23#[derive(Debug, Clone, Deserialize, Serialize)]
25#[serde(rename_all = "camelCase")]
26pub struct TranscodeRequest {
27 pub input_path: String,
29 pub output_path: String,
31 pub media_type: MediaType,
33 pub ffmpeg_path: Option<String>,
35}
36
37#[derive(Debug, Clone, Deserialize, Serialize)]
39#[serde(rename_all = "camelCase")]
40pub struct TranscodeResult {
41 pub success: bool,
43 pub output_path: String,
45 pub error: Option<String>,
47}
48
49#[derive(Debug, Clone, Deserialize, Serialize)]
51#[serde(rename_all = "camelCase")]
52pub struct ProgressPayload {
53 pub progress: i32,
55 pub current_time_ms: Option<i64>,
57 pub total_duration_ms: Option<i64>,
59}