Skip to content
GitLab
Projects
Groups
Snippets
Help
Loading...
Help
What's new
10
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Open sidebar
Zeeshan Ali
gstreamer-rs
Commits
ab9cd29b
Commit
ab9cd29b
authored
Jul 22, 2018
by
François Laignel
Committed by
Sebastian Dröge
Jul 30, 2018
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
serde: fmt pass
Note: clippy didn't raise any warning
parent
d4fb10ef
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
503 additions
and
524 deletions
+503
-524
gstreamer/src/buffer_serde.rs
gstreamer/src/buffer_serde.rs
+33
-40
gstreamer/src/bufferlist_serde.rs
gstreamer/src/bufferlist_serde.rs
+27
-30
gstreamer/src/caps_serde.rs
gstreamer/src/caps_serde.rs
+23
-22
gstreamer/src/clock_time_serde.rs
gstreamer/src/clock_time_serde.rs
+1
-2
gstreamer/src/date_time_serde.rs
gstreamer/src/date_time_serde.rs
+14
-18
gstreamer/src/format.rs
gstreamer/src/format.rs
+2
-2
gstreamer/src/sample_serde.rs
gstreamer/src/sample_serde.rs
+75
-82
gstreamer/src/segment_serde.rs
gstreamer/src/segment_serde.rs
+79
-38
gstreamer/src/structure_serde.rs
gstreamer/src/structure_serde.rs
+20
-20
gstreamer/src/tags_serde.rs
gstreamer/src/tags_serde.rs
+106
-123
gstreamer/src/toc_serde.rs
gstreamer/src/toc_serde.rs
+96
-86
gstreamer/src/value_serde.rs
gstreamer/src/value_serde.rs
+27
-61
No files found.
gstreamer/src/buffer_serde.rs
View file @
ab9cd29b
...
...
@@ -8,8 +8,8 @@
use
serde
::
de
::{
Deserialize
,
Deserializer
};
use
serde
::
ser
;
use
serde
::
ser
::{
Serialize
,
Serialize
r
,
Serialize
Struct
};
use
serde_bytes
::{
Byte
s
,
Byte
Buf
};
use
serde
::
ser
::{
Serialize
,
Serialize
Struct
,
Serialize
r
};
use
serde_bytes
::{
Byte
Buf
,
Byte
s
};
use
Buffer
;
use
BufferFlags
;
...
...
@@ -70,8 +70,7 @@ impl From<BufferDe> for Buffer {
impl
<
'de
>
Deserialize
<
'de
>
for
Buffer
{
fn
deserialize
<
D
:
Deserializer
<
'de
>>
(
deserializer
:
D
)
->
Result
<
Self
,
D
::
Error
>
{
BufferDe
::
deserialize
(
deserializer
)
.map
(|
buffer_de
|
buffer_de
.into
())
BufferDe
::
deserialize
(
deserializer
)
.map
(|
buffer_de
|
buffer_de
.into
())
}
}
...
...
@@ -103,22 +102,19 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
buffer
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(5),"
,
" offset: 3,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 1048592,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
")"
)
.to_owned
()
),
Ok
(
concat!
(
"("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(5),"
,
" offset: 3,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 1048592,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
")"
)
.to_owned
()),
res
);
...
...
@@ -126,29 +122,27 @@ mod tests {
assert_eq!
(
concat!
(
"{"
,
"
\"
pts
\"
:1,"
,
"
\"
dts
\"
:null,"
,
"
\"
duration
\"
:5,"
,
"
\"
offset
\"
:3,"
,
"
\"
offset_end
\"
:4,"
,
"
\"
flags
\"
:{
\"
bits
\"
:1048592},"
,
"
\"
buffer
\"
:[1,2,3,4]"
,
"
\"
pts
\"
:1,"
,
"
\"
dts
\"
:null,"
,
"
\"
duration
\"
:5,"
,
"
\"
offset
\"
:3,"
,
"
\"
offset_end
\"
:4,"
,
"
\"
flags
\"
:{
\"
bits
\"
:1048592},"
,
"
\"
buffer
\"
:[1,2,3,4]"
,
"}"
)
.to_owned
(),
)
.to_owned
(),
res
);
let
res
=
serde_pickle
::
to_vec
(
&
buffer
,
true
)
.unwrap
();
assert_eq!
(
vec!
[
128
,
3
,
125
,
40
,
88
,
3
,
0
,
0
,
0
,
112
,
116
,
115
,
74
,
1
,
0
,
0
,
0
,
88
,
3
,
0
,
0
,
0
,
100
,
116
,
115
,
78
,
88
,
8
,
0
,
0
,
0
,
100
,
117
,
114
,
97
,
116
,
105
,
111
,
110
,
74
,
5
,
0
,
0
,
0
,
88
,
6
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
74
,
3
,
0
,
0
,
0
,
88
,
10
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
95
,
101
,
110
,
100
,
74
,
4
,
0
,
0
,
0
,
88
,
5
,
0
,
0
,
0
,
102
,
108
,
97
,
103
,
115
,
125
,
40
,
88
,
4
,
0
,
0
,
0
,
98
,
105
,
116
,
115
,
74
,
16
,
0
,
16
,
0
,
117
,
88
,
6
,
0
,
0
,
0
,
98
,
117
,
102
,
102
,
101
,
114
,
67
,
4
,
1
,
2
,
3
,
4
,
117
,
46
128
,
3
,
125
,
40
,
88
,
3
,
0
,
0
,
0
,
112
,
116
,
115
,
74
,
1
,
0
,
0
,
0
,
88
,
3
,
0
,
0
,
0
,
100
,
116
,
115
,
78
,
88
,
8
,
0
,
0
,
0
,
100
,
117
,
114
,
97
,
116
,
105
,
111
,
110
,
74
,
5
,
0
,
0
,
0
,
88
,
6
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
74
,
3
,
0
,
0
,
0
,
88
,
10
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
95
,
101
,
110
,
100
,
74
,
4
,
0
,
0
,
0
,
88
,
5
,
0
,
0
,
0
,
102
,
108
,
97
,
103
,
115
,
125
,
40
,
88
,
4
,
0
,
0
,
0
,
98
,
105
,
116
,
115
,
74
,
16
,
0
,
16
,
0
,
117
,
88
,
6
,
0
,
0
,
0
,
98
,
117
,
102
,
102
,
101
,
114
,
67
,
4
,
1
,
2
,
3
,
4
,
117
,
46
,
],
res
);
...
...
@@ -211,9 +205,8 @@ mod tests {
116
,
115
,
78
,
88
,
8
,
0
,
0
,
0
,
100
,
117
,
114
,
97
,
116
,
105
,
111
,
110
,
74
,
5
,
0
,
0
,
0
,
88
,
6
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
74
,
3
,
0
,
0
,
0
,
88
,
10
,
0
,
0
,
0
,
111
,
102
,
102
,
115
,
101
,
116
,
95
,
101
,
110
,
100
,
74
,
4
,
0
,
0
,
0
,
88
,
5
,
0
,
0
,
0
,
102
,
108
,
97
,
103
,
115
,
125
,
40
,
88
,
4
,
0
,
0
,
0
,
98
,
105
,
116
,
115
,
74
,
16
,
0
,
16
,
0
,
117
,
88
,
6
,
0
,
0
,
0
,
98
,
117
,
102
,
102
,
101
,
114
,
67
,
4
,
1
,
2
,
3
,
4
,
117
,
46
97
,
103
,
115
,
125
,
40
,
88
,
4
,
0
,
0
,
0
,
98
,
105
,
116
,
115
,
74
,
16
,
0
,
16
,
0
,
117
,
88
,
6
,
0
,
0
,
0
,
98
,
117
,
102
,
102
,
101
,
114
,
67
,
4
,
1
,
2
,
3
,
4
,
117
,
46
,
];
let
buffer
:
Buffer
=
serde_pickle
::
from_slice
(
buffer_pickle
)
.unwrap
();
assert_eq!
(
buffer
.get_pts
(),
1
.into
());
...
...
@@ -227,4 +220,4 @@ mod tests {
assert_eq!
(
data
.as_slice
(),
vec!
[
1
,
2
,
3
,
4
]
.as_slice
());
}
}
}
\ No newline at end of file
}
gstreamer/src/bufferlist_serde.rs
View file @
ab9cd29b
...
...
@@ -7,7 +7,7 @@
// except according to those terms.
use
serde
::
de
::{
Deserialize
,
Deserializer
,
SeqAccess
,
Visitor
};
use
serde
::
ser
::{
Serialize
,
Serialize
r
,
Serialize
Seq
};
use
serde
::
ser
::{
Serialize
,
Serialize
Seq
,
Serialize
r
};
use
std
::
fmt
;
...
...
@@ -106,35 +106,32 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
buffer_list
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"["
,
" ("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" ),"
,
" ("
,
" pts: Some(5),"
,
" dts: None,"
,
" duration: Some(2),"
,
" offset: 4,"
,
" offset_end: 6,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
BQY=
\"
,"
,
" ),"
,
"]"
)
.to_owned
()
),
Ok
(
concat!
(
"["
,
" ("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" ),"
,
" ("
,
" pts: Some(5),"
,
" dts: None,"
,
" duration: Some(2),"
,
" offset: 4,"
,
" offset_end: 6,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
BQY=
\"
,"
,
" ),"
,
"]"
)
.to_owned
()),
res
,
);
}
...
...
gstreamer/src/caps_serde.rs
View file @
ab9cd29b
...
...
@@ -8,7 +8,7 @@
use
serde
::
de
;
use
serde
::
de
::{
Deserialize
,
Deserializer
,
SeqAccess
,
Visitor
};
use
serde
::
ser
::{
Serialize
,
Serializer
,
SerializeSeq
,
SerializeTuple
};
use
serde
::
ser
::{
Serialize
,
SerializeSeq
,
SerializeTuple
,
Serializer
};
use
std
::
fmt
;
...
...
@@ -70,15 +70,19 @@ impl<'de> Visitor<'de> for CapsItemVisitor {
}
fn
visit_seq
<
A
:
SeqAccess
<
'de
>>
(
self
,
mut
seq
:
A
)
->
Result
<
Self
::
Value
,
A
::
Error
>
{
let
structure
=
seq
.next_element
::
<
Structure
>
()
?
let
structure
=
seq
.next_element
::
<
Structure
>
()
?
.ok_or
(
de
::
Error
::
custom
(
"Expected a `Structure` for `Caps` item"
))
?
;
// `CapsFeature` is not available in `gstreamer-rs` yet
// Fake the type for now and expect `None` as a value
let
feature_option
=
seq
.next_element
::
<
Option
<
Structure
>>
()
?
.ok_or
(
de
::
Error
::
custom
(
"Expected an `Option<CapsFeature>` for `Caps` item"
))
?
;
let
feature_option
=
seq
.next_element
::
<
Option
<
Structure
>>
()
?
.ok_or
(
de
::
Error
::
custom
(
"Expected an `Option<CapsFeature>` for `Caps` item"
,
))
?
;
if
feature_option
.is_some
()
{
Err
(
de
::
Error
::
custom
(
"Found a value for `CapsFeature`, expected `None` (not implemented yet)"
"Found a value for `CapsFeature`, expected `None` (not implemented yet)"
,
))
}
else
{
Ok
(
CapsItemDe
(
structure
))
...
...
@@ -143,23 +147,20 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
caps
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"["
,
" ((
\"
foo/bar
\"
, ["
,
" (
\"
int
\"
,
\"
i32
\"
, 12),"
,
" (
\"
bool
\"
,
\"
bool
\"
, true),"
,
" (
\"
string
\"
,
\"
String
\"
,
\"
bla
\"
),"
,
" (
\"
fraction
\"
,
\"
Fraction
\"
, (1, 2)),"
,
" (
\"
array
\"
,
\"
Array
\"
, ["
,
" (
\"
i32
\"
, 1),"
,
" (
\"
i32
\"
, 2),"
,
" ]),"
,
" ]), None),"
,
"]"
)
.to_owned
()
),
Ok
(
concat!
(
"["
,
" ((
\"
foo/bar
\"
, ["
,
" (
\"
int
\"
,
\"
i32
\"
, 12),"
,
" (
\"
bool
\"
,
\"
bool
\"
, true),"
,
" (
\"
string
\"
,
\"
String
\"
,
\"
bla
\"
),"
,
" (
\"
fraction
\"
,
\"
Fraction
\"
, (1, 2)),"
,
" (
\"
array
\"
,
\"
Array
\"
, ["
,
" (
\"
i32
\"
, 1),"
,
" (
\"
i32
\"
, 2),"
,
" ]),"
,
" ]), None),"
,
"]"
)
.to_owned
()),
res
,
);
}
...
...
gstreamer/src/clock_time_serde.rs
View file @
ab9cd29b
...
...
@@ -35,8 +35,7 @@ impl<'de> Visitor<'de> for ClockTimeVisitor {
where
D
:
Deserializer
<
'de
>
,
{
u64
::
deserialize
(
deserializer
)
.and_then
(|
value
|
Ok
(
ClockTime
::
from_nseconds
(
value
)))
u64
::
deserialize
(
deserializer
)
.and_then
(|
value
|
Ok
(
ClockTime
::
from_nseconds
(
value
)))
}
fn
visit_none
<
E
:
de
::
Error
>
(
self
)
->
Result
<
Self
::
Value
,
E
>
{
...
...
gstreamer/src/date_time_serde.rs
View file @
ab9cd29b
...
...
@@ -7,7 +7,7 @@
// except according to those terms.
use
serde
::
de
::{
Deserialize
,
Deserializer
};
use
serde
::
ser
::{
Serialize
,
Serialize
r
,
Serialize
Struct
};
use
serde
::
ser
::{
Serialize
,
Serialize
Struct
,
Serialize
r
};
use
DateTime
;
impl
<
'a
>
Serialize
for
DateTime
{
...
...
@@ -53,8 +53,7 @@ impl From<DateTimeDe> for DateTime {
impl
<
'de
>
Deserialize
<
'de
>
for
DateTime
{
fn
deserialize
<
D
:
Deserializer
<
'de
>>
(
deserializer
:
D
)
->
Result
<
Self
,
D
::
Error
>
{
DateTimeDe
::
deserialize
(
deserializer
)
.and_then
(|
datetime_de
|
Ok
(
datetime_de
.into
()))
DateTimeDe
::
deserialize
(
deserializer
)
.and_then
(|
datetime_de
|
Ok
(
datetime_de
.into
()))
}
}
...
...
@@ -76,21 +75,18 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
datetime
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"("
,
" tz_offset: 2,"
,
" y: 2018,"
,
" m: 5,"
,
" d: 28,"
,
" h: 16,"
,
" mn: 6,"
,
" s: 42,"
,
" us: 841000,"
,
")"
)
.to_owned
()
),
Ok
(
concat!
(
"("
,
" tz_offset: 2,"
,
" y: 2018,"
,
" m: 5,"
,
" d: 28,"
,
" h: 16,"
,
" mn: 6,"
,
" s: 42,"
,
" us: 841000,"
,
")"
)
.to_owned
()),
res
,
);
...
...
gstreamer/src/format.rs
View file @
ab9cd29b
...
...
@@ -497,8 +497,8 @@ mod tests {
use
super
::
Buffers
;
use
super
::
Bytes
;
use
ClockTime
;
use
super
::
Default
;
use
ClockTime
;
use
Format
;
use
GenericFormattedValue
;
...
...
@@ -568,8 +568,8 @@ mod tests {
extern
crate
ron
;
extern
crate
serde_json
;
use
GenericFormattedValue
;
use
Format
;
use
GenericFormattedValue
;
::
init
()
.unwrap
();
...
...
gstreamer/src/sample_serde.rs
View file @
ab9cd29b
...
...
@@ -7,7 +7,7 @@
// except according to those terms.
use
serde
::
de
::{
Deserialize
,
Deserializer
};
use
serde
::
ser
::{
Serialize
,
Serialize
r
,
Serialize
Struct
};
use
serde
::
ser
::{
Serialize
,
Serialize
Struct
,
Serialize
r
};
use
Buffer
;
use
BufferList
;
...
...
@@ -67,8 +67,7 @@ impl From<SampleDe> for Sample {
impl
<
'de
>
Deserialize
<
'de
>
for
Sample
{
fn
deserialize
<
D
:
Deserializer
<
'de
>>
(
deserializer
:
D
)
->
Result
<
Self
,
D
::
Error
>
{
SampleDe
::
deserialize
(
deserializer
)
.and_then
(|
sample_de
|
Ok
(
sample_de
.into
()))
SampleDe
::
deserialize
(
deserializer
)
.and_then
(|
sample_de
|
Ok
(
sample_de
.into
()))
}
}
...
...
@@ -136,49 +135,46 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
sample
,
pretty_config
.clone
());
assert_eq!
(
Ok
(
concat!
(
"("
,
" buffer: Some(("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" )),"
,
" buffer_list: None,"
,
" caps: Some(["
,
" ((
\"
sample/caps
\"
, ["
,
" (
\"
int
\"
,
\"
i32
\"
, 12),"
,
" (
\"
bool
\"
,
\"
bool
\"
, true),"
,
" ]), None),"
,
" ]),"
,
" segment: Some(("
,
" flags: ("
,
" bits: 9,"
,
" ),"
,
" rate: 1,"
,
" applied_rate: 0.9,"
,
" format: Time,"
,
" base: 123,"
,
" offset: 42,"
,
" start: 1024,"
,
" stop: 2048,"
,
" time: 1042,"
,
" position: 256,"
,
" duration: -1,"
,
" )),"
,
" info: Some((
\"
sample.info
\"
, ["
,
" (
\"
f3
\"
,
\"
i32
\"
, 123),"
,
" ])),"
,
")"
)
.to_owned
()
),
Ok
(
concat!
(
"("
,
" buffer: Some(("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" )),"
,
" buffer_list: None,"
,
" caps: Some(["
,
" ((
\"
sample/caps
\"
, ["
,
" (
\"
int
\"
,
\"
i32
\"
, 12),"
,
" (
\"
bool
\"
,
\"
bool
\"
, true),"
,
" ]), None),"
,
" ]),"
,
" segment: Some(("
,
" flags: ("
,
" bits: 9,"
,
" ),"
,
" rate: 1,"
,
" applied_rate: 0.9,"
,
" format: Time,"
,
" base: 123,"
,
" offset: 42,"
,
" start: 1024,"
,
" stop: 2048,"
,
" time: 1042,"
,
" position: 256,"
,
" duration: -1,"
,
" )),"
,
" info: Some((
\"
sample.info
\"
, ["
,
" (
\"
f3
\"
,
\"
i32
\"
, 123),"
,
" ])),"
,
")"
)
.to_owned
()),
res
);
...
...
@@ -198,42 +194,39 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
sample
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"("
,
" buffer: Some(("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" )),"
,
" buffer_list: None,"
,
" caps: None,"
,
" segment: Some(("
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" rate: 1,"
,
" applied_rate: 1,"
,
" format: Time,"
,
" base: 0,"
,
" offset: 0,"
,
" start: 0,"
,
" stop: -1,"
,
" time: 0,"
,
" position: 0,"
,
" duration: -1,"
,
" )),"
,
" info: None,"
,
")"
)
.to_owned
()
),
Ok
(
concat!
(
"("
,
" buffer: Some(("
,
" pts: Some(1),"
,
" dts: None,"
,
" duration: Some(4),"
,
" offset: 0,"
,
" offset_end: 4,"
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" buffer:
\"
AQIDBA==
\"
,"
,
" )),"
,
" buffer_list: None,"
,
" caps: None,"
,
" segment: Some(("
,
" flags: ("
,
" bits: 0,"
,
" ),"
,
" rate: 1,"
,
" applied_rate: 1,"
,
" format: Time,"
,
" base: 0,"
,
" offset: 0,"
,
" start: 0,"
,
" stop: -1,"
,
" time: 0,"
,
" position: 0,"
,
" duration: -1,"
,
" )),"
,
" info: None,"
,
")"
)
.to_owned
()),
res
);
}
...
...
gstreamer/src/segment_serde.rs
View file @
ab9cd29b
...
...
@@ -7,7 +7,7 @@
// except according to those terms.
use
serde
::
de
::{
Deserialize
,
Deserializer
};
use
serde
::
ser
::{
Serialize
,
Serialize
r
,
Serialize
Struct
};
use
serde
::
ser
::{
Serialize
,
Serialize
Struct
,
Serialize
r
};
use
Format
;
use
GenericFormattedValue
;
...
...
@@ -54,13 +54,34 @@ impl From<SegmentDe> for Segment {
segment
.set_rate
(
segment_de
.rate
);
segment
.set_applied_rate
(
segment_de
.applied_rate
);
segment
.set_format
(
segment_de
.format
);
segment
.set_base
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.base
));
segment
.set_offset
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.offset
));
segment
.set_start
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.start
));
segment
.set_stop
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.stop
));
segment
.set_time
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.time
));
segment
.set_position
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.position
));
segment
.set_duration
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.duration
));
segment
.set_base
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.base
,
));
segment
.set_offset
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.offset
,
));
segment
.set_start
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.start
,
));
segment
.set_stop
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.stop
,
));
segment
.set_time
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.time
,
));
segment
.set_position
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.position
,
));
segment
.set_duration
(
GenericFormattedValue
::
new
(
segment_de
.format
,
segment_de
.duration
,
));
segment
}
...
...
@@ -68,8 +89,7 @@ impl From<SegmentDe> for Segment {
impl
<
'de
>
Deserialize
<
'de
>
for
Segment
{
fn
deserialize
<
D
:
Deserializer
<
'de
>>
(
deserializer
:
D
)
->
Result
<
Self
,
D
::
Error
>
{
SegmentDe
::
deserialize
(
deserializer
)
.and_then
(|
segment_de
|
Ok
(
segment_de
.into
()))
SegmentDe
::
deserialize
(
deserializer
)
.and_then
(|
segment_de
|
Ok
(
segment_de
.into
()))
}
}
...
...
@@ -105,26 +125,23 @@ mod tests {
let
res
=
ron
::
ser
::
to_string_pretty
(
&
segment
,
pretty_config
);
assert_eq!
(
Ok
(
concat!
(
"("
,
" flags: ("
,
" bits: 9,"
,
" ),"
,
" rate: 1,"
,
" applied_rate: 0.9,"
,
" format: Time,"
,
" base: 123,"
,
" offset: 42,"
,
" start: 1024,"
,
" stop: 2048,"
,
" time: 1042,"
,
" position: 256,"
,
" duration: -1,"
,
")"