File tree Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Expand file tree Collapse file tree 2 files changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -32,6 +32,10 @@ fuzz_target!(|data: &[u8]| {
32
32
let mut primary_item = Default :: default ( ) ;
33
33
mp4parse_avif_get_primary_item( context, & mut primary_item) ;
34
34
35
+ let mut alpha_item = Default :: default ( ) ;
36
+ let mut premultiplied_alpha = Default :: default ( ) ;
37
+ mp4parse_avif_get_alpha_item( context, & mut alpha_item, & mut premultiplied_alpha) ;
38
+
35
39
mp4parse_avif_free( context) ;
36
40
}
37
41
} ) ;
Original file line number Diff line number Diff line change @@ -1201,6 +1201,28 @@ pub unsafe extern "C" fn mp4parse_avif_get_primary_item(
1201
1201
Mp4parseStatus :: Ok
1202
1202
}
1203
1203
1204
+ #[ no_mangle]
1205
+ pub unsafe extern "C" fn mp4parse_avif_get_alpha_item (
1206
+ parser : * mut Mp4parseAvifParser ,
1207
+ alpha_item : * mut Mp4parseByteData ,
1208
+ premultiplied_alpha : * mut bool ,
1209
+ ) -> Mp4parseStatus {
1210
+ if parser. is_null ( ) {
1211
+ return Mp4parseStatus :: BadArg ;
1212
+ }
1213
+
1214
+ * alpha_item = Default :: default ( ) ;
1215
+
1216
+ let context = ( * parser) . context ( ) ;
1217
+ if let Some ( context_alpha_item) = context. alpha_item ( ) {
1218
+ ( * alpha_item) . set_data ( context_alpha_item) ;
1219
+ * premultiplied_alpha = context. premultiplied_alpha ;
1220
+ Mp4parseStatus :: Ok
1221
+ } else {
1222
+ Mp4parseStatus :: Invalid
1223
+ }
1224
+ }
1225
+
1204
1226
/// Fill the supplied `Mp4parseByteData` with index information from `track`.
1205
1227
///
1206
1228
/// # Safety
You can’t perform that action at this time.
0 commit comments