@@ -47,14 +47,17 @@ pub enum TrackData {
4747
4848#[ derive( Debug , Clone , Serialize , Deserialize ) ]
4949pub struct VideoTrackData {
50+ pub name : String ,
5051 pub hiding : bool ,
52+ pub muted : bool ,
5153 pub metadata : MetadataData ,
5254 pub duration_secs : f64 ,
5355 pub segments : Vec < SegmentData > ,
5456}
5557
5658#[ derive( Debug , Clone , Serialize , Deserialize ) ]
5759pub struct AudioTrackData {
60+ pub name : String ,
5861 pub hiding : bool ,
5962 pub metadata : MetadataData ,
6063 pub duration_secs : f64 ,
@@ -63,6 +66,7 @@ pub struct AudioTrackData {
6366
6467#[ derive( Debug , Clone , Serialize , Deserialize ) ]
6568pub struct SubtitleTrackData {
69+ pub name : String ,
6670 pub hiding : bool ,
6771 pub metadata : MetadataData ,
6872 pub duration_secs : f64 ,
@@ -71,6 +75,7 @@ pub struct SubtitleTrackData {
7175
7276#[ derive( Debug , Clone , Serialize , Deserialize ) ]
7377pub struct OverlayTrackData {
78+ pub name : String ,
7479 pub hiding : bool ,
7580 pub metadata : MetadataData ,
7681 pub duration_secs : f64 ,
@@ -91,7 +96,6 @@ pub struct SegmentData {
9196 pub source_offset_secs : f64 ,
9297 pub duration_secs : f64 ,
9398 pub metadata : MetadataData ,
94- #[ serde( default ) ]
9599 pub subtitle_text : Option < String > ,
96100 pub video_filters : Vec < VideoFilterData > ,
97101 pub audio_filters : Vec < AudioFilterData > ,
@@ -156,7 +160,9 @@ impl From<&Track> for TrackData {
156160impl VideoTrackData {
157161 fn from_video_track ( track : & Arc < VideoTrack > ) -> Self {
158162 Self {
163+ name : track. name . clone ( ) ,
159164 hiding : track. hiding ,
165+ muted : track. muted ,
160166 metadata : track. track . metadata . as_ref ( ) . into ( ) ,
161167 duration_secs : track. track . duration . as_secs_f64 ( ) ,
162168 segments : track
@@ -172,6 +178,7 @@ impl VideoTrackData {
172178impl AudioTrackData {
173179 fn from_audio_track ( track : & Arc < AudioTrack > ) -> Self {
174180 Self {
181+ name : track. name . clone ( ) ,
175182 hiding : track. hiding ,
176183 metadata : track. track . metadata . as_ref ( ) . into ( ) ,
177184 duration_secs : track. track . duration . as_secs_f64 ( ) ,
@@ -188,6 +195,7 @@ impl AudioTrackData {
188195impl SubtitleTrackData {
189196 fn from_subtitle_track ( track : & Arc < SubtitleTrack > ) -> Self {
190197 Self {
198+ name : track. name . clone ( ) ,
191199 hiding : track. hiding ,
192200 metadata : track. track . metadata . as_ref ( ) . into ( ) ,
193201 duration_secs : track. track . duration . as_secs_f64 ( ) ,
@@ -204,6 +212,7 @@ impl SubtitleTrackData {
204212impl OverlayTrackData {
205213 fn from_overlay_track ( track : & Arc < OverlayTrack > ) -> Self {
206214 Self {
215+ name : track. name . clone ( ) ,
207216 hiding : track. hiding ,
208217 metadata : track. track . metadata . as_ref ( ) . into ( ) ,
209218 duration_secs : track. track . duration . as_secs_f64 ( ) ,
@@ -342,9 +351,9 @@ impl VideoTrackData {
342351 . collect :: < Result < Vec < _ > > > ( ) ?;
343352
344353 Ok ( Track :: Video ( Arc :: new ( VideoTrack {
345- name : String :: default ( ) ,
354+ name : self . name . clone ( ) ,
346355 hiding : self . hiding ,
347- muted : false ,
356+ muted : self . muted ,
348357 track : InnerTrack {
349358 metadata,
350359 duration : Duration :: from_secs_f64 ( self . duration_secs ) ,
@@ -364,7 +373,7 @@ impl AudioTrackData {
364373 . collect :: < Result < Vec < _ > > > ( ) ?;
365374
366375 Ok ( Track :: Audio ( Arc :: new ( AudioTrack {
367- name : String :: default ( ) ,
376+ name : self . name . clone ( ) ,
368377 hiding : self . hiding ,
369378 track : InnerTrack {
370379 metadata,
@@ -385,7 +394,7 @@ impl SubtitleTrackData {
385394 . collect :: < Result < Vec < _ > > > ( ) ?;
386395
387396 Ok ( Track :: Subtitle ( Arc :: new ( SubtitleTrack {
388- name : "S" . to_string ( ) ,
397+ name : self . name . clone ( ) ,
389398 hiding : self . hiding ,
390399 track : InnerTrack :: new (
391400 metadata,
@@ -406,7 +415,7 @@ impl OverlayTrackData {
406415 . collect :: < Result < Vec < _ > > > ( ) ?;
407416
408417 Ok ( Track :: Overlay ( Arc :: new ( OverlayTrack {
409- name : String :: default ( ) ,
418+ name : self . name . clone ( ) ,
410419 hiding : self . hiding ,
411420 track : InnerTrack {
412421 metadata,
0 commit comments