Skip to content

Commit 422520e

Browse files
committed
fix: change data_type to enum for matching
1 parent de37e11 commit 422520e

File tree

2 files changed

+27
-17
lines changed

2 files changed

+27
-17
lines changed

src/media_info.rs

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,26 @@ pub fn get_media_info(input: &str) -> OutputMetadata {
4949
};
5050

5151
for track in media.track {
52-
// println!("{:#?}", track);
53-
if track.data_type == "Video" {
54-
metadata.frame_count = track.frame_count.parse().unwrap();
55-
let duration = DurationSeconds {
56-
duration_seconds: track.duration.parse().unwrap(),
57-
};
58-
metadata.duration_seconds = duration.duration_seconds;
59-
metadata.duration_human = duration.duration_human();
60-
metadata.frame_rate = track.frame_rate.parse().unwrap();
61-
62-
if let Some(width) = track.width {
63-
metadata.width = width.parse().unwrap()
64-
}
65-
66-
if let Some(height) = track.height {
67-
metadata.height = height.parse().unwrap()
52+
match track.data_type {
53+
TrackType::Video => {
54+
metadata.frame_count = track.frame_count.parse().unwrap();
55+
let duration = DurationSeconds {
56+
duration_seconds: track.duration.parse().unwrap(),
57+
};
58+
metadata.duration_seconds = duration.duration_seconds;
59+
metadata.duration_human = duration.duration_human();
60+
metadata.frame_rate = track.frame_rate.parse().unwrap();
61+
62+
if let Some(width) = track.width {
63+
metadata.width = width.parse().unwrap()
64+
}
65+
66+
if let Some(height) = track.height {
67+
metadata.height = height.parse().unwrap()
68+
}
6869
}
70+
TrackType::Audio => (),
71+
TrackType::General => (),
6972
}
7073
}
7174

src/metadata.rs

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,10 +45,17 @@ pub struct CreatingLibrary {
4545
url: String,
4646
}
4747

48+
#[derive(Serialize, Deserialize, Debug)]
49+
pub enum TrackType {
50+
Audio,
51+
General,
52+
Video,
53+
}
54+
4855
#[derive(Serialize, Deserialize, Debug)]
4956
pub struct TrackGeneral {
5057
#[serde(rename = "@type")]
51-
pub data_type: String,
58+
pub data_type: TrackType,
5259
#[serde(rename = "FrameCount")]
5360
pub frame_count: String,
5461
#[serde(rename = "FrameRate")]

0 commit comments

Comments
 (0)