All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:9,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:10,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: buf_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn buf_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:23,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:27,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:28,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:33,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:37,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:38,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:42,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:43,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 19
    functionDepth: 1
    functionLinenumber: 19
    functionLinenumberEnd: 60
    functionName: test_xhe_aac_codec_detection
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - File::open
    - std::ptr::null_mut
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_codec_detection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:65,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:65,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:67,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:71,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:72,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:75,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:76,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:83,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 85
      start: 63
    functionDepth: 1
    functionLinenumber: 63
    functionLinenumberEnd: 85
    functionName: test_xhe_aac_vs_regular_aac
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - File::open
    - std::ptr::null_mut
    - mp4parse_new
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_vs_regular_aac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:90,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:90,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:92,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:96,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:97,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:100,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:101,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 120
    functionName: test_xhe_aac_codec_not_unknown
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - File::open
    - std::ptr::null_mut
    - mp4parse_new
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn test_xhe_aac_codec_not_unknown()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:23,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:23,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:25,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:29,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:30,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:35,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:39,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:40,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs:61,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 63
      start: 20
    functionDepth: 1
    functionLinenumber: 20
    functionLinenumberEnd: 63
    functionName: test_afconvert_aac_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs
    functionUses: 0
    functionsReached:
    - Some
    - File::open
    - std::ptr::null_mut
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn test_afconvert_aac_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:14,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:14,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:16,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:19,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:20,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 24
      start: 13
    functionDepth: 1
    functionLinenumber: 13
    functionLinenumberEnd: 24
    functionName: open_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - expect
    linkageType: ''
    returnType: '*mut Mp4parseParser'
    signature: 'unsafe fn open_parser(path: &str) -> *mut Mp4parseParser'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:30,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:32,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:33,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 46
      start: 28
    functionDepth: 2
    functionLinenumber: 28
    functionLinenumberEnd: 46
    functionName: video_colr_nclx_hdr10
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hdr10()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:52,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:54,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:55,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:66,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 68
      start: 50
    functionDepth: 2
    functionLinenumber: 50
    functionLinenumberEnd: 68
    functionName: video_colr_nclx_hdr10_full_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hdr10_full_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:74,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:76,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:77,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:88,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 90
      start: 72
    functionDepth: 2
    functionLinenumber: 72
    functionLinenumberEnd: 90
    functionName: video_colr_nclx_hlg
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hlg()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:96,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:98,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:99,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:110,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 112
      start: 94
    functionDepth: 2
    functionLinenumber: 94
    functionLinenumberEnd: 112
    functionName: video_colr_nclx_hlg_full_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_hlg_full_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:120,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:122,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:123,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 118
    functionDepth: 2
    functionLinenumber: 118
    functionLinenumberEnd: 136
    functionName: video_colr_nclx_rgb_identity_matrix
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_rgb_identity_matrix()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:146,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:148,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:149,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:160,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 162
      start: 144
    functionDepth: 2
    functionLinenumber: 144
    functionLinenumberEnd: 162
    functionName: video_colr_nclx_two_colr
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_colr_nclx_two_colr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: open_parser
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:168,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:170,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:171,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs:182,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 166
    functionDepth: 2
    functionLinenumber: 166
    functionLinenumberEnd: 184
    functionName: video_no_colr_box
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
    functionUses: 0
    functionsReached:
    - open_parser
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn video_no_colr_box()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:28,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:32,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:34,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs:38,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 40
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: parse_rotation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs
    functionUses: 0
    functionsReached:
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - expect
    - mp4parse_free
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_video_info
    linkageType: ''
    returnType: void
    signature: fn parse_rotation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:28,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:32,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:33,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:41,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:42,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:54,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:58,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:59,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:64,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 66
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 66
    functionName: parse_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_get_fragment_info
    - Default::default
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_is_fragmented
    - mp4parse_free
    - Mp4parseFragmentInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_fragment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:70,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:70,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:72,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:77,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:78,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:83,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:87,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:88,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:96,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:97,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:110,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:114,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:115,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:118,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 61
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 120
      start: 69
    functionDepth: 1
    functionLinenumber: 69
    functionLinenumberEnd: 120
    functionName: parse_opus_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_get_fragment_info
    - Default::default
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_is_fragmented
    - mp4parse_free
    - Mp4parseFragmentInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_opus_fragment()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:28,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:38,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:39,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs:42,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 44
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 44
    functionName: parse_out_of_chunk_range
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - mp4parse_new
    - expect
    - mp4parse_free
    - mp4parse_get_track_count
    linkageType: ''
    returnType: void
    signature: fn parse_out_of_chunk_range()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:29,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:33,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:34,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:38,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:39,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 45
    functionName: parse_invalid_stsc_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - mp4parse_new
    - expect
    - mp4parse_free
    - mp4parse_get_track_count
    linkageType: ''
    returnType: void
    signature: fn parse_invalid_stsc_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:17,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:17,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:19,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:24,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:25,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:30,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:34,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:35,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:41,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:45,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:46,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:51,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:52,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:53,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:54,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:55,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:59,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:60,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:61,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:62,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:63,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:71,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:76,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:80,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:81,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:86,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:87,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:88,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:89,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:90,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:94,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:95,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:96,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:97,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:98,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:106,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:107,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:108,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:109,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:110,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:114,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:115,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:116,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:117,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:118,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 138
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 132
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 132
    functionName: parse_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Some
    - mp4parse_free
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_is_fragmented
    - into
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:217,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:220,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:222,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:232,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:234,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:245,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:247,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:248,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:251,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 216
    functionDepth: 1
    functionLinenumber: 216
    functionLinenumberEnd: 253
    functionName: repeated_get_indice_table_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts
    - mp4parse_avif_free
    - parse_file_and_get_info
    - mp4parse_avif_get_indice_table
    - Mp4parseByteData::default
    - assert_slice_pointer_is_readable
    linkageType: ''
    returnType: void
    signature: fn repeated_get_indice_table_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:189,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:194,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:195,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:200,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:204,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:205,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:211,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:215,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:216,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:223,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:224,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:225,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:226,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:227,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:231,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:232,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:233,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:234,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:235,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:239,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:240,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:241,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:242,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:243,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 186
    functionDepth: 1
    functionLinenumber: 186
    functionLinenumberEnd: 253
    functionName: parse_sample_table_with_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Some
    - mp4parse_free
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_is_fragmented
    - into
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table_with_elst()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:259,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:264,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:265,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:270,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:274,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:275,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:280,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:284,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:285,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:290,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:291,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:292,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:293,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:294,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:298,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:299,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:300,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:301,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:302,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:306,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:307,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:308,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:309,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:310,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:314,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:315,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:316,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:317,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:318,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 256
    functionDepth: 1
    functionLinenumber: 256
    functionLinenumberEnd: 329
    functionName: parse_sample_table_with_negative_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Some
    - mp4parse_free
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_is_fragmented
    - into
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table_with_negative_ctts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:22,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:23,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:27,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:32,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:33,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:38,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:39,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:44,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:45,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:67,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:67,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:76,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:77,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:96,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:96,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 99
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 14
    functionDepth: 1
    functionLinenumber: 14
    functionLinenumberEnd: 104
    functionName: parse_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - iter
    - std::fs::File::open
    - std::ptr::null_mut
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_video_info
    - expect
    - Mp4parseTrackAudioInfo::default
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_cenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:108,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:108,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:110,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:115,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:116,1
    - Dst: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:120,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:121,1
    - Dst: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:129,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:130,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:141,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:144,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 146
      start: 107
    functionDepth: 1
    functionLinenumber: 107
    functionLinenumberEnd: 146
    functionName: repeated_get_pssh_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts
    - mp4parse_get_pssh_info
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - Mp4parsePsshInfo::default
    - mp4parse_new
    - expect
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_pssh_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:150,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:150,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:152,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:157,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:158,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:162,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:167,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:168,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:173,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:174,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:196,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:196,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:206,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:206,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 210
      start: 149
    functionDepth: 1
    functionLinenumber: 149
    functionLinenumberEnd: 210
    functionName: parse_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - Some
    - iter
    - std::fs::File::open
    - std::ptr::null_mut
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_video_info
    - expect
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:216,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:216,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:218,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:223,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:224,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:229,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:233,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:234,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:238,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:239,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 50
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 257
      start: 213
    functionDepth: 1
    functionLinenumber: 213
    functionLinenumberEnd: 257
    functionName: parse_unencrypted
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_unencrypted()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:269,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:269,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:271,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:276,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:277,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:281,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:286,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:287,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:292,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:293,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:307,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:307,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:327,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:327,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:337,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:337,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 341
      start: 260
    functionDepth: 1
    functionLinenumber: 260
    functionLinenumberEnd: 341
    functionName: parse_encrypted_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - Some
    - iter
    - std::fs::File::open
    - std::ptr::null_mut
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - mp4parse_get_track_video_info
    - expect
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_encrypted_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:17,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:18,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:19,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:20,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:21,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:22,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:24,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:25,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:26,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:27,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:28,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:29,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:30,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:31,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:32,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:33,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:34,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:35,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:36,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 38
      start: 15
    functionDepth: 1
    functionLinenumber: 15
    functionLinenumberEnd: 38
    functionName: default_avif_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null
    - Default::default
    linkageType: ''
    returnType: Mp4parseAvifInfo
    signature: fn default_avif_info() -> Mp4parseAvifInfo
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:42,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:43,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 40
    functionDepth: 1
    functionLinenumber: 40
    functionLinenumberEnd: 45
    functionName: default_avif_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Mp4parseAvifImage
    signature: fn default_avif_image() -> Mp4parseAvifImage
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:48,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:48,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:50,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:54,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:55,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 60
      start: 47
    functionDepth: 1
    functionLinenumber: 47
    functionLinenumberEnd: 60
    functionName: parse_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_avif_new
    - expect
    linkageType: ''
    returnType: '*mut Mp4parseAvifParser'
    signature: 'unsafe fn parse_file(path: &str) -> *mut Mp4parseAvifParser'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:63,1
    - Dst: default_avif_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:64,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:65,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 68
      start: 62
    functionDepth: 2
    functionLinenumber: 62
    functionLinenumberEnd: 68
    functionName: parse_file_and_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 1
    functionsReached:
    - parse_file
    - mp4parse_avif_get_info
    - default_avif_info
    linkageType: ''
    returnType: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)
    signature: 'unsafe fn parse_file_and_get_info(path: &str) -> (*mut Mp4parseAvifParser,
      Mp4parseAvifInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:71,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - ptr
    - len
    argTypes:
    - '*const T'
    - usize
    constantsTouched: []
    func_position:
      end: 73
      start: 70
    functionDepth: 0
    functionLinenumber: 70
    functionLinenumberEnd: 73
    functionName: assert_slice_pointer_is_readable
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 1
    functionsReached:
    - std::slice::from_raw_parts
    linkageType: ''
    returnType: void
    signature: 'unsafe fn assert_slice_pointer_is_readable<T>(ptr: *const T, len:
      usize)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:76,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:85,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - path
    - expected_loop_count
    argTypes:
    - '&str'
    - i64
    constantsTouched: []
    func_position:
      end: 86
      start: 75
    functionDepth: 3
    functionLinenumber: 75
    functionLinenumberEnd: 86
    functionName: check_loop_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_free
    - parse_file_and_get_info
    linkageType: ''
    returnType: void
    signature: 'fn check_loop_count(path: &str, expected_loop_count: i64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:89,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:91,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:94,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - path
    - expected_timescale
    argTypes:
    - '&str'
    - u64
    constantsTouched: []
    func_position:
      end: 101
      start: 88
    functionDepth: 3
    functionLinenumber: 88
    functionLinenumberEnd: 101
    functionName: check_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_free
    - mp4parse_avif_get_indice_table
    - Mp4parseByteData::default
    - parse_file_and_get_info
    linkageType: ''
    returnType: void
    signature: 'fn check_timescale(path: &str, expected_timescale: u64)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 106
      start: 104
    functionDepth: 4
    functionLinenumber: 104
    functionLinenumberEnd: 106
    functionName: loop_once
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_once()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 111
      start: 109
    functionDepth: 4
    functionLinenumber: 109
    functionLinenumberEnd: 111
    functionName: loop_twice
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_twice()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 114
    functionDepth: 4
    functionLinenumber: 114
    functionLinenumberEnd: 116
    functionName: loop_four_times_due_to_ceiling
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_four_times_due_to_ceiling()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 121
      start: 119
    functionDepth: 4
    functionLinenumber: 119
    functionLinenumberEnd: 121
    functionName: loop_forever
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn loop_forever()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_loop_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 126
      start: 124
    functionDepth: 4
    functionLinenumber: 124
    functionLinenumberEnd: 126
    functionName: no_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_loop_count
    linkageType: ''
    returnType: void
    signature: fn no_edts()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:130,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:131,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:132,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:133,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 129
    functionDepth: 4
    functionLinenumber: 129
    functionLinenumberEnd: 135
    functionName: check_timescales
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - check_timescale
    linkageType: ''
    returnType: void
    signature: fn check_timescales()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:139,1
    - Dst: default_avif_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:142,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:143,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:148,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:151,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:152,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:166,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:173,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:174,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:178,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:179,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:182,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 138
    functionDepth: 3
    functionLinenumber: 138
    functionLinenumberEnd: 184
    functionName: repeated_get_info_returns_stable_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_free
    - mp4parse_avif_get_info
    - default_avif_info
    - is_null
    - parse_file_and_get_info
    - assert_slice_pointer_is_readable
    linkageType: ''
    returnType: void
    signature: fn repeated_get_info_returns_stable_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:188,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:191,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:192,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:199,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:200,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:208,1
    - Dst: assert_slice_pointer_is_readable
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:209,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:211,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 213
      start: 187
    functionDepth: 2
    functionLinenumber: 187
    functionLinenumberEnd: 213
    functionName: repeated_get_image_returns_stable_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_get_image
    - parse_file
    - mp4parse_avif_free
    - default_avif_image
    - assert_slice_pointer_is_readable
    linkageType: ''
    returnType: void
    signature: fn repeated_get_image_returns_stable_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:257,1
    - Dst: default_avif_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:260,1
    - Dst: mp4parse_avif_get_image
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:261,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:273,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 275
      start: 256
    functionDepth: 3
    functionLinenumber: 256
    functionLinenumberEnd: 275
    functionName: empty_avif_byte_slices_use_null_pointers
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_get_image
    - mp4parse_avif_free
    - default_avif_image
    - parse_file_and_get_info
    linkageType: ''
    returnType: void
    signature: fn empty_avif_byte_slices_use_null_pointers()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a [u8]::len'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:149,1
    - Dst: '&''a [u8]::is_empty'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:150,1
    - Dst: '&''a [u8]::as_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:151,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:153,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:155,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 157
      start: 147
    functionDepth: 1
    functionLinenumber: 147
    functionLinenumberEnd: 157
    functionName: Mp4parseByteData::with_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&''a [u8]::as_ptr'
    - std::ptr::null
    - '&''a [u8]::is_empty'
    - '&''a [u8]::len'
    linkageType: ''
    returnType: Self
    signature: 'fn with_data(slice: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:164,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 161
    functionDepth: 0
    functionLinenumber: 161
    functionLinenumberEnd: 167
    functionName: Mp4parseByteData::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 7
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:179,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:180,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:181,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:183,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 185
      start: 178
    functionDepth: 1
    functionLinenumber: 178
    functionLinenumberEnd: 185
    functionName: Mp4parseByteData::set_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - std::ptr::null
    - Self::as_ptr
    - Self::is_empty
    linkageType: ''
    returnType: void
    signature: 'fn set_data(&mut self, data: &[u8])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:190,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:191,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:192,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:194,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[Indice]'
    constantsTouched: []
    func_position:
      end: 196
      start: 189
    functionDepth: 1
    functionLinenumber: 189
    functionLinenumberEnd: 196
    functionName: Mp4parseByteData::set_indices
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - std::ptr::null
    - Self::as_ptr
    - Self::is_empty
    linkageType: ''
    returnType: void
    signature: 'fn set_indices(&mut self, data: &[Indice])'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 258
      start: 253
    functionDepth: 0
    functionLinenumber: 253
    functionLinenumberEnd: 258
    functionName: Mp4parseTrackAudioInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:333,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 336
      start: 327
    functionDepth: 0
    functionLinenumber: 327
    functionLinenumberEnd: 336
    functionName: Mp4parseTrackVideoInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 11
    functionsReached:
    - std::ptr::null
    linkageType: ''
    returnType: Self
    signature: fn default() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 456
      start: 454
    functionDepth: 0
    functionLinenumber: 454
    functionLinenumberEnd: 456
    functionName: Mp4parseParser::context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&MediaContext'
    signature: fn context(&self) -> &MediaContext
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 460
      start: 458
    functionDepth: 0
    functionLinenumber: 458
    functionLinenumberEnd: 460
    functionName: Mp4parseParser::context_mut
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&mut MediaContext'
    signature: fn context_mut(&mut self) -> &mut MediaContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:469,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 471
      start: 466
    functionDepth: 1
    functionLinenumber: 466
    functionLinenumberEnd: 471
    functionName: Mp4parseParser::with_context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: 'fn with_context(context: Self::Context) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse::read_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 477
      start: 473
    functionDepth: 1
    functionLinenumber: 473
    functionLinenumberEnd: 477
    functionName: Mp4parseParser::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse::read_mp4
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn read<T: Read>(io: &mut T, strictness: ParseStrictness) -> mp4parse::Result<Self::Context>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryHashMap::insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:495,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:500,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 2
    argNames:
    - key
    - value
    argTypes:
    - K
    - V
    constantsTouched: []
    func_position:
      end: 501
      start: 494
    functionDepth: 1
    functionLinenumber: 494
    functionLinenumberEnd: 501
    functionName: TryHashMap::insert_cache_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - TryHashMap::insert
    linkageType: ''
    returnType: Result
    signature: 'fn insert_cache_entry(&mut self, key: K, value: V) -> Result<(), TryReserveError>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 507
      start: 505
    functionDepth: 0
    functionLinenumber: 505
    functionLinenumberEnd: 507
    functionName: Mp4parseAvifParser::context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&AvifContext'
    signature: fn context(&self) -> &AvifContext
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:516,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 518
      start: 513
    functionDepth: 1
    functionLinenumber: 513
    functionLinenumberEnd: 518
    functionName: Mp4parseAvifParser::with_context
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Self
    signature: 'fn with_context(context: Self::Context) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse::read_avif
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:521,1
    - Dst: '*mut Mp4parseParser::is_err'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:522,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 527
      start: 520
    functionDepth: 1
    functionLinenumber: 520
    functionLinenumberEnd: 527
    functionName: Mp4parseAvifParser::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - '*mut Mp4parseParser::is_err'
    - mp4parse::read_avif
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn read<T: Read>(io: &mut T, strictness: ParseStrictness) -> mp4parse::Result<Self::Context>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:541,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:542,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:542,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:546,1
    - Dst: Result::as_mut_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:546,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:546,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:548,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:550,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:550,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 552
      start: 540
    functionDepth: 0
    functionLinenumber: 540
    functionLinenumberEnd: 552
    functionName: Mp4parseIo::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::as_mut_ptr
    - Ok
    - Result::len
    - std::io::Error::other
    - Err
    - unwrap
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new_common
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - '*mut *mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 580
      start: 575
    functionDepth: 1
    functionLinenumber: 575
    functionLinenumberEnd: 580
    functionName: mp4parse_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 18
    functionsReached:
    - mp4parse_new_common
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_new(io: *const Mp4parseIo,parser_out:
      *mut *mut Mp4parseParser,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new_common
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:597,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames:
    - io
    - strictness
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - ParseStrictness
    - '*mut *mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 598
      start: 592
    functionDepth: 1
    functionLinenumber: 592
    functionLinenumberEnd: 598
    functionName: mp4parse_avif_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - mp4parse_new_common
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_new(io: *const Mp4parseIo,strictness:
      ParseStrictness,parser_out: *mut *mut Mp4parseAvifParser,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*const Mp4parseIo::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:606,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:607,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:608,1
    - Dst: '*mut *mut P::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:609,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:610,1
    - Dst: mp4parse_new_common_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:614,1
    - Dst: clone
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:614,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 36
    argCount: 3
    argNames:
    - io
    - strictness
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - ParseStrictness
    - '*mut *mut P'
    constantsTouched: []
    func_position:
      end: 622
      start: 600
    functionDepth: 1
    functionLinenumber: 600
    functionLinenumberEnd: 622
    functionName: mp4parse_new_common
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - is_null
    - clone
    - mp4parse_new_common_safe
    - '*const Mp4parseIo::is_null'
    - '*mut *mut P::is_null'
    - is_none
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'unsafe fn mp4parse_new_common<P: ContextParser>(io: *const Mp4parseIo,strictness:
      ParseStrictness,parser_out: *mut *mut P,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: P::read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: isize::map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: TryBox::try_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:630,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:630,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 633
      start: 624
    functionDepth: 2
    functionLinenumber: 624
    functionLinenumberEnd: 633
    functionName: mp4parse_new_common_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - P::read
    - TryBox::try_new
    - map
    - map_err
    - and_then
    - isize::map
    linkageType: ''
    returnType: Result
    signature: 'fn mp4parse_new_common_safe<T: Read, P: ContextParser>(io: &mut T,strictness:
      ParseStrictness,) -> Result<*mut P, Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryBox::from_raw
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:645,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 646
      start: 643
    functionDepth: 0
    functionLinenumber: 643
    functionLinenumberEnd: 646
    functionName: mp4parse_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 20
    functionsReached:
    - TryBox::from_raw
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn mp4parse_free(parser: *mut Mp4parseParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryBox::from_raw
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:658,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 659
      start: 656
    functionDepth: 0
    functionLinenumber: 656
    functionLinenumberEnd: 659
    functionName: mp4parse_avif_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 6
    functionsReached:
    - TryBox::from_raw
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn mp4parse_avif_free(parser: *mut Mp4parseAvifParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:675,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:675,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:678,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:681,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:684,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - parser
    - count
    argTypes:
    - '*const Mp4parseParser'
    - '*mut u32'
    constantsTouched: []
    func_position:
      end: 686
      start: 670
    functionDepth: 1
    functionLinenumber: 670
    functionLinenumberEnd: 686
    functionName: mp4parse_get_track_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 14
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - len
    - context
    - is_null
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_count(parser: *const Mp4parseParser,count:
      *mut u32,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:702,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:702,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:707,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:709,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:713,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:730,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:732,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:732,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:737,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:737,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:738,1
    - Dst: mp4parse::unstable::CheckedInteger
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:740,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:754,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 104
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackInfo'
    constantsTouched: []
    func_position:
      end: 776
      start: 697
    functionDepth: 1
    functionLinenumber: 697
    functionLinenumberEnd: 776
    functionName: mp4parse_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 11
    functionsReached:
    - map_or
    - Some
    - '*mut Mp4parseParser::is_null'
    - Mp4parseAvifInfo::is_null
    - mp4parse::unstable::rational_scale
    - Default::default
    - into
    - context_mut
    - mp4parse::unstable::CheckedInteger
    - len
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_info(parser: *mut Mp4parseParser,track_index:
      u32,info: *mut Mp4parseTrackInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:792,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:792,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:797,1
    - Dst: get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:799,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:799,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 800
      start: 787
    functionDepth: 1
    functionLinenumber: 787
    functionLinenumberEnd: 800
    functionName: mp4parse_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 7
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - Mp4parseAvifInfo::is_null
    - get_track_audio_info
    - Default::default
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_audio_info(parser: *mut
      Mp4parseParser,track_index: u32,info: *mut Mp4parseTrackAudioInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - sample_info
    - stream_info
    argTypes:
    - '&mut Mp4parseTrackAudioSampleInfo'
    - '&mp4parse::FLACStreamInfo'
    constantsTouched: []
    func_position:
      end: 811
      start: 802
    functionDepth: 0
    functionLinenumber: 802
    functionLinenumberEnd: 811
    functionName: apply_flac_stream_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn apply_flac_stream_info(sample_info: &mut Mp4parseTrackAudioSampleInfo,stream_info:
      &mp4parse::FLACStreamInfo,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:818,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:819,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:820,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:821,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:823,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:825,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:834,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:835,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:841,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:847,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:850,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:851,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:854,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:854,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:855,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:855,1
    - Dst: Mp4parseTrackAudioSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:856,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:859,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:898,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:899,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:901,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:902,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:922,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:923,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:925,1
    - Dst: apply_flac_stream_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:926,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:929,1
    - Dst: mp4parse::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:930,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:932,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:935,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:936,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:937,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:938,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:940,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:946,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:953,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:953,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:956,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:959,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:962,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:976,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:978,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:980,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:982,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:983,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:985,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:989,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:992,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:995,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:997,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1000,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1002,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1003,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1004,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1006,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1009,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1012,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 343
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 1013
      start: 813
    functionDepth: 5
    functionLinenumber: 813
    functionLinenumberEnd: 1013
    functionName: get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 8
    functionsReached:
    - as_ref
    - Self::len
    - mp4parse::serialize_opus_header
    - insert_cache_entry
    - Ok
    - len
    - find
    - Err
    - set_data
    - TryVec::with_capacity
    - apply_flac_stream_info
    - iter
    - OptionalFourCc::Some
    - is_some
    - Self::is_empty
    - get
    - TryVec::new
    - Mp4parseTrackAudioSampleInfo::default
    - Self::as_ptr
    - push
    - std::ptr::null
    - enumerate
    - unwrap_or
    - as_ptr
    - is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn get_track_audio_info(parser: &mut Mp4parseParser,track_index: u32,info:
      &mut Mp4parseTrackAudioInfo,) -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1029,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1029,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1034,1
    - Dst: mp4parse_get_track_video_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1036,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1036,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1037
      start: 1024
    functionDepth: 1
    functionLinenumber: 1024
    functionLinenumberEnd: 1037
    functionName: mp4parse_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 11
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - Mp4parseAvifInfo::is_null
    - Default::default
    - mp4parse_get_track_video_info_safe
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_track_video_info(parser: *mut
      Mp4parseParser,track_index: u32,info: *mut Mp4parseTrackVideoInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::context'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1044,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1046,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1047,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1053,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1073,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1077,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1086,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1087,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1088,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1089,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1091,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1093,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1099,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1102,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1103,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1106,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1106,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1107,1
    - Dst: Mp4parseTrackVideoSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1108,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1111,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1135,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1140,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1145,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1145,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1148,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1151,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1154,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1168,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1170,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1172,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1174,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1175,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1177,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1207,1
    - Dst: insert_cache_entry
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1210,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1213,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1215,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1218,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1220,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1221,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1222,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1224,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1227,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1229,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 324
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1230
      start: 1039
    functionDepth: 2
    functionLinenumber: 1039
    functionLinenumberEnd: 1230
    functionName: mp4parse_get_track_video_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '*mut Mp4parseParser::context'
    - as_ref
    - Self::len
    - insert_cache_entry
    - Ok
    - len
    - find
    - Err
    - set_data
    - TryVec::with_capacity
    - iter
    - OptionalFourCc::Some
    - is_some
    - Mp4parseTrackVideoSampleInfo::default
    - Self::is_empty
    - get
    - Self::as_ptr
    - push
    - std::ptr::null
    - unwrap_or
    - as_ptr
    - is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn mp4parse_get_track_video_info_safe(parser: &mut Mp4parseParser,track_index:
      u32,info: &mut Mp4parseTrackVideoInfo,) -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1249,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1249,1
    - Dst: mp4parse_avif_get_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1253,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1253,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - avif_info
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifInfo'
    constantsTouched: []
    func_position:
      end: 1259
      start: 1245
    functionDepth: 1
    functionLinenumber: 1245
    functionLinenumberEnd: 1259
    functionName: mp4parse_avif_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - mp4parse_avif_get_info_safe
    - Mp4parseAvifInfo::is_null
    - context
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_info(parser: *const Mp4parseAvifParser,avif_info:
      *mut Mp4parseAvifInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1292,1
    - Dst: Self::iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1292,1
    - Dst: SampleToChunkIterator::all
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1292,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1297
      start: 1291
    functionDepth: 1
    functionLinenumber: 1291
    functionLinenumberEnd: 1297
    functionName: m::p::4::p::a::r::s::e::_::a::v::i::f::_::g::e::t::_::i::n::f::o::_::s::a::f::e::get_bit_depth
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::all
    - Self::iter
    - Self::is_empty
    linkageType: ''
    returnType: u8
    signature: 'fn get_bit_depth(data: &[u8]) -> u8'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: into_bitfield
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1265,1
    - Dst: '&MediaContext::spatial_extents_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1266,1
    - Dst: '&MediaContext::nclx_colour_information_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1267,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1267,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1269,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1269,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1270,1
    - Dst: '&MediaContext::icc_colour_information'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1271,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1271,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1271,1
    - Dst: '&MediaContext::image_rotation'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1273,1
    - Dst: '&MediaContext::image_mirror_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1274,1
    - Dst: '&MediaContext::pixel_aspect_ratio_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1275,1
    - Dst: '&MediaContext::primary_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1277,1
    - Dst: '&MediaContext::alpha_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1279,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1299,1
    - Dst: '&MediaContext::primary_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1299,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1299,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1299,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1301,1
    - Dst: '&MediaContext::alpha_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1301,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1301,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1301,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1309,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1309,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1310,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1315,1
    - Dst: pred
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1318,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1321,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1321,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1329,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1331,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1335,1
    - Dst: Result::has_auxl_reference
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1336,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1336,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1345,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1354,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1355,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1357,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1362,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1363,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1365,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1371,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1371,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1376,1
    - Dst: checked_div
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1378,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1378,1
    - Dst: checked_rem
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1379,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1380,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1380,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1381,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1397,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1411,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 212
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&AvifContext'
    constantsTouched: []
    func_position:
      end: 1412
      start: 1261
    functionDepth: 2
    functionLinenumber: 1261
    functionLinenumberEnd: 1412
    functionName: mp4parse_avif_get_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - checked_div
    - any
    - checked_rem
    - Result::has_auxl_reference
    - '&MediaContext::primary_item_is_present'
    - and_then
    - '&MediaContext::primary_item_bits_per_channel'
    - as_ref
    - saturating_sub
    - Ok
    - '&MediaContext::spatial_extents_ptr'
    - '&MediaContext::icc_colour_information'
    - '&MediaContext::image_rotation'
    - get_track
    - '&MediaContext::nclx_colour_information_ptr'
    - map
    - find
    - unwrap
    - Option::unwrap_or
    - Some
    - iter
    - get_av1c
    - into_bitfield
    - is_none
    - '&MediaContext::pixel_aspect_ratio_ptr'
    - '&MediaContext::alpha_item_is_present'
    - '&MediaContext::image_mirror_ptr'
    - get_bit_depth
    - std::ptr::null
    - '&MediaContext::alpha_item_bits_per_channel'
    - Mp4parseByteData::with_data
    - pred
    - is_empty
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn mp4parse_avif_get_info_safe(context: &AvifContext) -> mp4parse::Result<Mp4parseAvifInfo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1431,1
    - Dst: Mp4parseAvifImage::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1431,1
    - Dst: mp4parse_avif_get_image_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1435,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - parser
    - avif_image
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifImage'
    constantsTouched: []
    func_position:
      end: 1441
      start: 1427
    functionDepth: 1
    functionLinenumber: 1427
    functionLinenumberEnd: 1441
    functionName: mp4parse_avif_get_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - Mp4parseAvifImage::is_null
    - mp4parse_avif_get_image_safe
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_image(parser: *const Mp4parseAvifParser,avif_image:
      *mut Mp4parseAvifImage,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::context'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1446,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1447,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1448,1
    - Dst: '&MediaContext::primary_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1449,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1449,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1451,1
    - Dst: '&MediaContext::alpha_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1451,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1451,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '&Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 1453
      start: 1443
    functionDepth: 2
    functionLinenumber: 1443
    functionLinenumberEnd: 1453
    functionName: mp4parse_avif_get_image_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - Option::unwrap_or
    - '*mut Mp4parseParser::context'
    - '&MediaContext::primary_item_coded_data'
    - Ok
    - Mp4parseByteData::with_data
    - '&MediaContext::alpha_item_coded_data'
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'pub fn mp4parse_avif_get_image_safe(parser: &Mp4parseAvifParser,)
      -> mp4parse::Result<Mp4parseAvifImage>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1469,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1474,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1476,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1476,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - parser
    - track_id
    - indices
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1483
      start: 1464
    functionDepth: 1
    functionLinenumber: 1464
    functionLinenumberEnd: 1483
    functionName: mp4parse_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - Default::default
    - get_indice_table
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_indice_table(parser: *mut Mp4parseParser,track_id:
      u32,indices: *mut Mp4parseByteData,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1500,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1504,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1508,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1513,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1522,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1522,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1525,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1537,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1537,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 73
    argCount: 4
    argNames:
    - parser
    - track_id
    - indices
    - timescale
    argTypes:
    - '*mut Mp4parseAvifParser'
    - u32
    - '*mut Mp4parseByteData'
    - '*mut u64'
    constantsTouched: []
    func_position:
      end: 1547
      start: 1494
    functionDepth: 1
    functionLinenumber: 1494
    functionLinenumberEnd: 1547
    functionName: mp4parse_avif_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - Some
    - iter
    - get_indice_table
    - is_null
    - '*mut Mp4parseParser::is_null'
    - Default::default
    - Result::into
    - find
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_avif_get_indice_table(parser: *mut
      Mp4parseAvifParser,track_id: u32,indices: *mut Mp4parseByteData,timescale: *mut
      u64,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1556,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1556,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1556,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::get'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1561,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1562,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1563,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1567,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1567,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1567,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1572,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1572,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1572,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1580,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1580,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1583,1
    - Dst: mp4parse::unstable::create_sample_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1586,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1587,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::insert_cache_entry'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1588,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1589,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1592,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 4
    argNames:
    - context
    - sample_table_cache
    - track_id
    - indices
    argTypes:
    - '&MediaContext'
    - '&mut TryHashMap<u32, TryVec<Indice>>'
    - u32
    - '&mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1593
      start: 1549
    functionDepth: 2
    functionLinenumber: 1549
    functionLinenumberEnd: 1593
    functionName: get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    functionsReached:
    - Result::ok
    - Some
    - iter
    - Ok
    - mp4parse::unstable::create_sample_table
    - '&mut TryHashMap<u32, TryVec<Indice>>::get'
    - map
    - i64::try_from
    - set_indices
    - Err
    - into
    - find
    - '&mut TryHashMap<u32, TryVec<Indice>>::insert_cache_entry'
    - ok_or
    linkageType: ''
    returnType: Result
    signature: 'fn get_indice_table(context: &MediaContext,sample_table_cache: &mut
      TryHashMap<u32, TryVec<Indice>>,track_id: u32,indices: &mut Mp4parseByteData,)
      -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1608,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1608,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1613,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1615,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parseFragmentInfo'
    constantsTouched: []
    func_position:
      end: 1631
      start: 1604
    functionDepth: 1
    functionLinenumber: 1604
    functionLinenumberEnd: 1631
    functionName: mp4parse_get_fragment_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - Mp4parseAvifInfo::is_null
    - Default::default
    - context
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_fragment_info(parser: *mut Mp4parseParser,info:
      *mut Mp4parseFragmentInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1648,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1652,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1656,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1661,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1662,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1662,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1662,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1666,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1667,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1668,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 3
    argNames:
    - parser
    - track_id
    - fragmented
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 1676
      start: 1643
    functionDepth: 1
    functionLinenumber: 1643
    functionLinenumberEnd: 1676
    functionName: mp4parse_is_fragmented
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - SampleToChunkIterator::find
    - map_or
    - Some
    - iter
    - '*mut Mp4parseParser::is_null'
    - context_mut
    - is_empty
    - is_none
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_is_fragmented(parser: *mut Mp4parseParser,track_id:
      u32,fragmented: *mut u8,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '*mut Mp4parseParser::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1697,1
    - Dst: Mp4parseAvifInfo::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1697,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1702,1
    - Dst: get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1704,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1704,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1705
      start: 1693
    functionDepth: 1
    functionLinenumber: 1693
    functionLinenumberEnd: 1705
    functionName: mp4parse_get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '*mut Mp4parseParser::is_null'
    - get_pssh_info
    - Mp4parseAvifInfo::is_null
    - Default::default
    - Result::into
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_pssh_info(parser: *mut Mp4parseParser,info:
      *mut Mp4parsePsshInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1715,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1716,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1718,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1718,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1718,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1723,1
    - Dst: write_u32::<byteorder::NativeEndian>
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1724,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1725,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1725,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1726,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1726,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1727,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1727,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1729,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1733,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1734,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1737,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - '&mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1738
      start: 1707
    functionDepth: 5
    functionLinenumber: 1707
    functionLinenumberEnd: 1738
    functionName: get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - as_slice
    - Mp4parseStatus::as_slice
    - Mp4parseStatus::extend_from_slice
    - Some
    - Ok
    - Default::default
    - map_err
    - try_into
    - len
    - set_data
    - TryVec::new
    - is_none
    - write_u32::<byteorder::NativeEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn get_pssh_info(parser: &mut Mp4parseParser,info: &mut Mp4parsePsshInfo,)
      -> Result<(), Mp4parseStatus>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 3
    argNames: []
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 1743
      start: 1741
    functionDepth: 0
    functionLinenumber: 1741
    functionLinenumberEnd: 1743
    functionName: error_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn error_read(_: *mut u8, _: usize, _: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1749,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 1754
      start: 1746
    functionDepth: 2
    functionLinenumber: 1746
    functionLinenumberEnd: 1754
    functionName: valid_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn valid_read(buf: *mut u8, size: usize, userdata: *mut
      std::os::raw::c_void) -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1760,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1760,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1760,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1762,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1762,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1765
      start: 1757
    functionDepth: 2
    functionLinenumber: 1757
    functionLinenumberEnd: 1765
    functionName: get_track_count_null_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - std::ptr::null
    - mp4parse_get_track_count
    linkageType: ''
    returnType: void
    signature: fn get_track_count_null_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1770,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1770,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1770,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1774,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1775,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1775,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1779,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1786,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1787,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1796,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1797,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1803,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1810,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1816,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1822
      start: 1768
    functionDepth: 5
    functionLinenumber: 1768
    functionLinenumberEnd: 1822
    functionName: arg_validation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - mp4parse_new
    - Default::default
    - std::ptr::null
    linkageType: ''
    returnType: void
    signature: fn arg_validation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1828,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1832,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1834
      start: 1825
    functionDepth: 5
    functionLinenumber: 1825
    functionLinenumberEnd: 1834
    functionName: parser_input_must_be_null
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Some
    linkageType: ''
    returnType: void
    signature: fn parser_input_must_be_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1841,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1844,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1845,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1865,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1872,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1884
      start: 1837
    functionDepth: 5
    functionLinenumber: 1837
    functionLinenumberEnd: 1884
    functionName: arg_validation_with_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - mp4parse_new
    - Default::default
    - Some
    linkageType: ''
    returnType: void
    signature: fn arg_validation_with_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1888,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1888,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1890,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1893,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1894,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1897
      start: 1887
    functionDepth: 5
    functionLinenumber: 1887
    functionLinenumberEnd: 1897
    functionName: parse_minimal_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - unwrap
    linkageType: ''
    returnType: '*mut Mp4parseParser'
    signature: fn parse_minimal_mp4() -> *mut Mp4parseParser
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1901,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1906,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1908
      start: 1900
    functionDepth: 6
    functionLinenumber: 1900
    functionLinenumberEnd: 1908
    functionName: minimal_mp4_parse_ok
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse_minimal_mp4
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_parse_ok()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1912,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1921,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1923
      start: 1911
    functionDepth: 6
    functionLinenumber: 1911
    functionLinenumberEnd: 1923
    functionName: minimal_mp4_get_track_cout
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse_minimal_mp4
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_cout()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1927,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1931,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1951,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1953
      start: 1926
    functionDepth: 6
    functionLinenumber: 1926
    functionLinenumberEnd: 1953
    functionName: minimal_mp4_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse_minimal_mp4
    - Default::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1957,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1959,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1973,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1975
      start: 1956
    functionDepth: 6
    functionLinenumber: 1956
    functionLinenumberEnd: 1975
    functionName: minimal_mp4_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - parse_minimal_mp4
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_video_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1979,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1981,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1994,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1996
      start: 1978
    functionDepth: 6
    functionLinenumber: 1978
    functionLinenumberEnd: 1996
    functionName: minimal_mp4_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse_minimal_mp4
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_audio_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2004,1
    - Dst: apply_flac_stream_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2012,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 1999
    functionDepth: 1
    functionLinenumber: 1999
    functionLinenumberEnd: 2017
    functionName: flac_streaminfo_sample_rate_overrides_sample_entry_rate
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - apply_flac_stream_info
    - Default::default
    linkageType: ''
    returnType: void
    signature: fn flac_streaminfo_sample_rate_overrides_sample_entry_rate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2021,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2025,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2035,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2043,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2050,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2052
      start: 2020
    functionDepth: 6
    functionLinenumber: 2020
    functionLinenumberEnd: 2052
    functionName: minimal_mp4_get_track_info_invalid_track_number
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - parse_minimal_mp4
    - Default::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info_invalid_track_number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2056,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2059,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2069,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2085,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2087
      start: 2055
    functionDepth: 6
    functionLinenumber: 2055
    functionLinenumberEnd: 2087
    functionName: repeated_get_track_audio_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - parse_minimal_mp4
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_audio_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2097,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2097,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2099,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2104,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2105,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2108,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2109,1
    - Dst: add
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2114,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2145,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2149,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2158,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2160
      start: 2096
    functionDepth: 5
    functionLinenumber: 2096
    functionLinenumberEnd: 2160
    functionName: multi_opus_description_codec_specific_pointers_are_valid
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - std::slice::from_raw_parts
    - add
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - expect
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn multi_opus_description_codec_specific_pointers_are_valid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2164,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2167,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2176,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2198
      start: 2163
    functionDepth: 6
    functionLinenumber: 2163
    functionLinenumberEnd: 2198
    functionName: repeated_get_track_video_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - parse_minimal_mp4
    - mp4parse_free
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_video_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2202,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2202,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2204,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2209,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2210,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2215,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2216,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2219
      start: 2201
    functionDepth: 5
    functionLinenumber: 2201
    functionLinenumberEnd: 2219
    functionName: parse_no_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - std::fs::File::open
    - std::ptr::null_mut
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - expect
    - mp4parse_get_track_info
    linkageType: ''
    returnType: void
    signature: fn parse_no_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:14,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:15,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:16,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 19
      start: 11
    functionDepth: 2
    functionLinenumber: 11
    functionLinenumberEnd: 19
    functionName: vec_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - try_into
    - expect
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn vec_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::Cursor::new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:2,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:4,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:8,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:9,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:13,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:14,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:16,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:17,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:20,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:24,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:26,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:27,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:30,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:31,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:34,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:35,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:43,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:44,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 67
      start: 20
    functionDepth: 5
    functionLinenumber: 20
    functionLinenumberEnd: 67
    functionName: fuzz_target
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_track_audio_info
    - mp4parse_get_pssh_info
    - mp4parse_get_indice_table
    - Some
    - std::ptr::null_mut
    - mp4parse_get_fragment_info
    - Default::default
    - mp4parse_new
    - mp4parse_get_track_video_info
    - mp4parse_is_fragmented
    - mp4parse_free
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_count
    - std::io::Cursor::new
    - mp4parse_get_track_info
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:17,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:17,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:19,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:24,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:25,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 18
    argCount: 2
    argNames:
    - filename
    - strictness
    argTypes:
    - '&str'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 34
      start: 16
    functionDepth: 5
    functionLinenumber: 16
    functionLinenumberEnd: 34
    functionName: dump_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - Some
    - File::open
    - std::ptr::null_mut
    - mp4parse_avif_new
    - expect
    linkageType: ''
    returnType: void
    signature: 'fn dump_avif(filename: &str, strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:37,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:37,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:39,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:44,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:45,1
    - Dst: dump_avif
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:51,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:59,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:60,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:71,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:82,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:84,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:96,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:97,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:101,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:117,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:118,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:122,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:140,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:141,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:157,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 104
    argCount: 2
    argNames:
    - filename
    - strictness
    argTypes:
    - '&str'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 159
      start: 36
    functionDepth: 8
    functionLinenumber: 36
    functionLinenumberEnd: 159
    functionName: dump_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - offset
    - mp4parse_get_track_video_info
    - Default::default
    - dump_avif
    - mp4parse_free
    - mp4parse_get_track_info
    - Some
    - std::ptr::null_mut
    - mp4parse_get_fragment_info
    - Mp4parseTrackAudioInfo::default
    - Mp4parseFragmentInfo::default
    - mp4parse_get_track_count
    - mp4parse_get_track_audio_info
    - mp4parse_get_indice_table
    - File::open
    - Mp4parseByteData::default
    - mp4parse_new
    - expect
    - Mp4parseTrackVideoInfo::default
    linkageType: ''
    returnType: void
    signature: 'fn dump_file(filename: &str, strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:165,1
    - Dst: env::args
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:166,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:166,1
    - Dst: as_str
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:167,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:173,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:176,1
    - Dst: Mp4parseStatus::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:182,1
    - Dst: env_logger::Env::default
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:187,1
    - Dst: env_logger::Builder::from_env
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:188,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:190,1
    - Dst: init
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:192,1
    - Dst: dump_func
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:196,1
    - Dst: as_str
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:196,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 199
      start: 161
    functionDepth: 6
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - init
    - Mp4parseStatus::push
    - Mp4parseStatus::is_empty
    - as_str
    - skip
    - env_logger::Env::default
    - get
    - filter
    - env_logger::Builder::from_env
    - env::args
    - dump_func
    linkageType: ''
    returnType: void
    signature: fn main()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 16
      start: 10
    functionDepth: 0
    functionLinenumber: 10
    functionLinenumberEnd: 16
    functionName: overflow_protection
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/overflow.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn overflow_protection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:257,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:258,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:259,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:259,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:261,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:262,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:262,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:274,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:281,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:282,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:282,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:328,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:335,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:336,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:336,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 386
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 386
    functionName: public_api
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn public_api()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:390,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:390,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:391,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:392,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:392,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:394,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:395,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:395,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:396,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:396,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:400,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 452
      start: 389
    functionDepth: 5
    functionLinenumber: 389
    functionLinenumberEnd: 452
    functionName: public_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - mp4::read_mp4
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn public_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:456,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:456,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:457,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:458,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:458,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:460,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:461,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:461,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:462,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:462,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:466,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 515
      start: 455
    functionDepth: 5
    functionLinenumber: 455
    functionLinenumberEnd: 515
    functionName: public_metadata_gnre
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - mp4::read_mp4
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn public_metadata_gnre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:521,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:521,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:522,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:523,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:523,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:525,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:526,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:526,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:538,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:546,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 555
      start: 518
    functionDepth: 5
    functionLinenumber: 518
    functionLinenumberEnd: 555
    functionName: public_invalid_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - mp4::read_mp4
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn public_invalid_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:564,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:564,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:565,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:566,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:566,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:568,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:569,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:569,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:571,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:572,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:572,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:577,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:577,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:577,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 601
      start: 558
    functionDepth: 5
    functionLinenumber: 558
    functionLinenumberEnd: 601
    functionName: public_audio_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - iter
    - find
    - File::open
    - is_some
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_audio_tenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:622,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:622,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:623,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:624,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:624,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:626,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:627,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:627,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:629,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:630,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:630,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:635,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:635,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:635,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 668
      start: 604
    functionDepth: 5
    functionLinenumber: 604
    functionLinenumberEnd: 668
    functionName: public_video_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - iter
    - find
    - File::open
    - is_some
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_video_cenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:694,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:694,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:695,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:696,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:696,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:698,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:699,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:699,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:701,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:707,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:707,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:707,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 749
      start: 671
    functionDepth: 5
    functionLinenumber: 671
    functionLinenumberEnd: 749
    functionName: public_audio_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - iter
    - find
    - File::open
    - is_some
    - Result::expect
    - expect
    - read_to_end
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_audio_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:775,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:775,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:776,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:777,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:777,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:779,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:780,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:780,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:782,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:790,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:790,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:790,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 829
      start: 752
    functionDepth: 5
    functionLinenumber: 752
    functionLinenumberEnd: 829
    functionName: public_video_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - iter
    - find
    - File::open
    - is_some
    - Result::expect
    - expect
    - read_to_end
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_video_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:833,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:833,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:834,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:835,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:835,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:837,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:847,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:854,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:855,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:855,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 880
      start: 832
    functionDepth: 5
    functionLinenumber: 832
    functionLinenumberEnd: 880
    functionName: public_video_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn public_video_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:884,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:884,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:886,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:886,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:886,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:891,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:891,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:891,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 898
      start: 883
    functionDepth: 8
    functionLinenumber: 883
    functionLinenumberEnd: 898
    functionName: public_mp4_bug_1185230
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - count
    - iter
    - File::open
    - expect
    - Result::expect
    - filter
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_mp4_bug_1185230()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:902,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:902,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 0
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: public_mp4_ctts_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_mp4_ctts_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:914,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:915,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:915,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:916,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:916,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:917,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:917,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 23
    argCount: 2
    argNames:
    - result
    - expected_transfer_characteristics
    argTypes:
    - mp4::Result<mp4::MediaContext>
    - u8
    constantsTouched: []
    func_position:
      end: 930
      start: 910
    functionDepth: 0
    functionLinenumber: 910
    functionLinenumberEnd: 930
    functionName: assert_video_nclx_colour_info
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - first
    - expect
    linkageType: ''
    returnType: void
    signature: 'fn assert_video_nclx_colour_info(result: mp4::Result<mp4::MediaContext>,expected_transfer_characteristics:
      u8,)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:938,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:938,1
    - Dst: assert_video_nclx_colour_info
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:939,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:939,1
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:941,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:941,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 946
      start: 936
    functionDepth: 1
    functionLinenumber: 936
    functionLinenumberEnd: 946
    functionName: public_video_two_nclx_colr_boxes
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_mp4
    - expect
    - assert_video_nclx_colour_info
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_two_nclx_colr_boxes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:958,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:958,1
    - Dst: assert_video_nclx_colour_info
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:959,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:959,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 961
      start: 952
    functionDepth: 1
    functionLinenumber: 952
    functionLinenumberEnd: 961
    functionName: public_video_nclx_and_icc_colr_boxes
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_mp4
    - expect
    - assert_video_nclx_colour_info
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_video_nclx_and_icc_colr_boxes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:965,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:965,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:966,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 974
      start: 964
    functionDepth: 1
    functionLinenumber: 964
    functionLinenumberEnd: 974
    functionName: public_avif_primary_item
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_primary_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:978,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:978,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:979,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:979,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 981
      start: 977
    functionDepth: 1
    functionLinenumber: 977
    functionLinenumberEnd: 981
    functionName: public_avif_primary_item_split_extents
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_primary_item_split_extents()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:985,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 988
      start: 984
    functionDepth: 1
    functionLinenumber: 984
    functionLinenumberEnd: 988
    functionName: public_avif_alpha_item
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_item()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:992,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:993,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 998
      start: 991
    functionDepth: 1
    functionLinenumber: 991
    functionLinenumberEnd: 998
    functionName: public_avif_alpha_non_premultiplied
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_non_premultiplied()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1002,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1003,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1008
      start: 1001
    functionDepth: 1
    functionLinenumber: 1001
    functionLinenumberEnd: 1008
    functionName: public_avif_alpha_premultiplied
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_alpha_premultiplied()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1012,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1012,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1013,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1013,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1021
      start: 1011
    functionDepth: 1
    functionLinenumber: 1011
    functionLinenumberEnd: 1021
    functionName: public_avif_unknown_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Result::expect
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_unknown_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1026,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1026,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1024
    functionDepth: 0
    functionLinenumber: 1024
    functionLinenumberEnd: 1031
    functionName: public_avif_unknown_mdat_in_oversized_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_unknown_mdat_in_oversized_meta()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1035,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1037
      start: 1034
    functionDepth: 0
    functionLinenumber: 1034
    functionLinenumberEnd: 1037
    functionName: public_avif_bug_1655846
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bug_1655846()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1041,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1041,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1043
      start: 1040
    functionDepth: 0
    functionLinenumber: 1040
    functionLinenumberEnd: 1043
    functionName: public_avif_bug_1661347
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bug_1661347()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1049,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1049,1
    - Dst: rewind
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1056,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1056,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1057,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 15
    argCount: 2
    argNames:
    - path
    - check
    argTypes:
    - '&str'
    - impl Fn(ParseStrictness, mp4::Result<mp4::AvifContext>)
    constantsTouched: []
    func_position:
      end: 1059
      start: 1045
    functionDepth: 1
    functionLinenumber: 1045
    functionLinenumberEnd: 1059
    functionName: for_strictness_result
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 3
    functionsReached:
    - mp4::read_avif
    - expect
    - rewind
    - File::open
    linkageType: ''
    returnType: void
    signature: 'fn for_strictness_result(path: &str,check: impl Fn(ParseStrictness,
      mp4::Result<mp4::AvifContext>),)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1063,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1070
      start: 1062
    functionDepth: 2
    functionLinenumber: 1062
    functionLinenumberEnd: 1070
    functionName: assert_avif_should
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: 'fn assert_avif_should(path: &str, expected: Status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1074,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1081
      start: 1073
    functionDepth: 2
    functionLinenumber: 1073
    functionLinenumberEnd: 1081
    functionName: assert_avif_shall
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: 'fn assert_avif_shall(path: &str, expected: Status)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1089,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1090
      start: 1088
    functionDepth: 3
    functionLinenumber: 1088
    functionLinenumberEnd: 1090
    functionName: public_avif_av1c_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_av1c_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1094,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1098,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1101
      start: 1093
    functionDepth: 2
    functionLinenumber: 1093
    functionLinenumberEnd: 1101
    functionName: public_avif_clap_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    - assert_unsupported_nonfatal
    linkageType: ''
    returnType: void
    signature: fn public_avif_clap_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1106
      start: 1104
    functionDepth: 3
    functionLinenumber: 1104
    functionLinenumberEnd: 1106
    functionName: public_avif_imir_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_imir_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1110,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1111
      start: 1109
    functionDepth: 3
    functionLinenumber: 1109
    functionLinenumberEnd: 1111
    functionName: public_avif_irot_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_irot_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1115,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1116
      start: 1114
    functionDepth: 3
    functionLinenumber: 1114
    functionLinenumberEnd: 1116
    functionName: public_avif_ipma_bad_version
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_bad_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1120,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1121
      start: 1119
    functionDepth: 3
    functionLinenumber: 1119
    functionLinenumberEnd: 1121
    functionName: public_avif_ipma_bad_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_bad_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1125,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1124
    functionDepth: 3
    functionLinenumber: 1124
    functionLinenumberEnd: 1129
    functionName: public_avif_ipma_duplicate_version_and_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_duplicate_version_and_flags()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1137,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1137,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1136
    functionDepth: 0
    functionLinenumber: 1136
    functionLinenumberEnd: 1142
    functionName: public_avif_ipma_duplicate_item_id
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_duplicate_item_id()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1146,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1147
      start: 1145
    functionDepth: 3
    functionLinenumber: 1145
    functionLinenumberEnd: 1147
    functionName: public_avif_ipma_invalid_property_index
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ipma_invalid_property_index()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1151,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1152,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1153
      start: 1150
    functionDepth: 3
    functionLinenumber: 1150
    functionLinenumberEnd: 1153
    functionName: public_avif_hdlr_first_in_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_first_in_meta()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1157,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1158
      start: 1156
    functionDepth: 3
    functionLinenumber: 1156
    functionLinenumberEnd: 1158
    functionName: public_avif_hdlr_is_pict
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_is_pict()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1165,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1169
      start: 1161
    functionDepth: 3
    functionLinenumber: 1161
    functionLinenumberEnd: 1169
    functionName: public_avif_hdlr_nonzero_reserved
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_nonzero_reserved()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1177
      start: 1172
    functionDepth: 3
    functionLinenumber: 1172
    functionLinenumberEnd: 1177
    functionName: public_avif_hdlr_multiple_nul
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_hdlr_multiple_nul()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1182
      start: 1180
    functionDepth: 3
    functionLinenumber: 1180
    functionLinenumberEnd: 1182
    functionName: public_avif_no_mif1
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_no_mif1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1187
      start: 1185
    functionDepth: 3
    functionLinenumber: 1185
    functionLinenumberEnd: 1187
    functionName: public_avif_no_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_no_pitm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: pixi_test
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1197,1
    - Dst: pixi_test
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1198,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1190
    functionDepth: 0
    functionLinenumber: 1190
    functionLinenumberEnd: 1199
    functionName: public_avif_pixi_present_for_displayable_images
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - pixi_test
    linkageType: ''
    returnType: void
    signature: fn public_avif_pixi_present_for_displayable_images()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1203,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1205
      start: 1202
    functionDepth: 3
    functionLinenumber: 1202
    functionLinenumberEnd: 1205
    functionName: public_avif_av1c_present_for_av01
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_av1c_present_for_av01()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1209,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1210,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1211
      start: 1208
    functionDepth: 3
    functionLinenumber: 1208
    functionLinenumberEnd: 1211
    functionName: public_avif_ispe_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_ispe_present()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1216
      start: 1214
    functionDepth: 3
    functionLinenumber: 1214
    functionLinenumberEnd: 1216
    functionName: public_avif_transform_before_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_transform_before_ispe()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1220,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1221
      start: 1219
    functionDepth: 3
    functionLinenumber: 1219
    functionLinenumberEnd: 1221
    functionName: public_avif_transform_order
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_transform_order()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - result
    - feature
    argTypes:
    - '&mp4::Result<mp4::AvifContext>'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1238
      start: 1224
    functionDepth: 0
    functionLinenumber: 1224
    functionLinenumberEnd: 1238
    functionName: assert_unsupported_nonfatal
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_nonfatal(result: &mp4::Result<mp4::AvifContext>,
      feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1245,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1246,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - path
    - feature
    - essential
    argTypes:
    - '&str'
    - mp4::Feature
    - bool
    constantsTouched: []
    func_position:
      end: 1256
      start: 1244
    functionDepth: 2
    functionLinenumber: 1244
    functionLinenumberEnd: 1256
    functionName: assert_unsupported
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    - assert_unsupported_nonfatal
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported(path: &str, feature: mp4::Feature, essential:
      bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1260
      start: 1258
    functionDepth: 3
    functionLinenumber: 1258
    functionLinenumberEnd: 1260
    functionName: assert_unsupported_nonessential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_nonessential(path: &str, feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1264
      start: 1262
    functionDepth: 3
    functionLinenumber: 1262
    functionLinenumberEnd: 1264
    functionName: assert_unsupported_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported
    linkageType: ''
    returnType: void
    signature: 'fn assert_unsupported_essential(path: &str, feature: mp4::Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_nonessential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1269
      start: 1267
    functionDepth: 4
    functionLinenumber: 1267
    functionLinenumberEnd: 1269
    functionName: public_avif_a1lx
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonessential
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1lx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1273,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1274
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1274
    functionName: public_avif_a1lx_marked_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1lx_marked_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1278,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1279
      start: 1277
    functionDepth: 4
    functionLinenumber: 1277
    functionLinenumberEnd: 1279
    functionName: public_avif_a1op
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1op()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1283,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1284
      start: 1282
    functionDepth: 3
    functionLinenumber: 1282
    functionLinenumberEnd: 1284
    functionName: public_avif_a1op_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_a1op_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1289
      start: 1287
    functionDepth: 4
    functionLinenumber: 1287
    functionLinenumberEnd: 1289
    functionName: public_avif_lsel
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_lsel()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1293,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1294
      start: 1292
    functionDepth: 3
    functionLinenumber: 1292
    functionLinenumberEnd: 1294
    functionName: public_avif_lsel_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_lsel_missing_essential()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: for_strictness_result
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1301,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1317
      start: 1300
    functionDepth: 2
    functionLinenumber: 1300
    functionLinenumberEnd: 1317
    functionName: public_avif_lsel_no_layer_selection
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - for_strictness_result
    linkageType: ''
    returnType: void
    signature: fn public_avif_lsel_no_layer_selection()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1322
      start: 1320
    functionDepth: 4
    functionLinenumber: 1320
    functionLinenumberEnd: 1322
    functionName: public_avif_clap
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_essential
    linkageType: ''
    returnType: void
    signature: fn public_avif_clap()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1327,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1327,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1328,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1329,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1333
      start: 1325
    functionDepth: 1
    functionLinenumber: 1325
    functionLinenumberEnd: 1333
    functionName: public_avif_grid
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - assert_unsupported_nonfatal
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_grid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1337,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1337,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1338,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1346
      start: 1336
    functionDepth: 1
    functionLinenumber: 1336
    functionLinenumberEnd: 1346
    functionName: public_avis_major_no_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avis_major_no_pitm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1350,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1350,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1351,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1366
      start: 1349
    functionDepth: 1
    functionLinenumber: 1349
    functionLinenumberEnd: 1366
    functionName: public_avis_major_with_pitm_and_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avis_major_with_pitm_and_alpha()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1371
      start: 1369
    functionDepth: 3
    functionLinenumber: 1369
    functionLinenumberEnd: 1371
    functionName: public_avif_avis_major_no_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_shall
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_major_no_moov()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1375,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1375,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1376,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1389
      start: 1374
    functionDepth: 1
    functionLinenumber: 1374
    functionLinenumberEnd: 1389
    functionName: public_avif_avis_with_no_pitm_no_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_with_no_pitm_no_iloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1394
      start: 1392
    functionDepth: 3
    functionLinenumber: 1392
    functionLinenumberEnd: 1394
    functionName: public_avif_avis_with_pitm_no_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_with_pitm_no_iloc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1398,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1402
      start: 1397
    functionDepth: 3
    functionLinenumber: 1397
    functionLinenumberEnd: 1402
    functionName: public_avif_valid_with_garbage_overread_at_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_valid_with_garbage_overread_at_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: assert_avif_should
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1406,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1407
      start: 1405
    functionDepth: 3
    functionLinenumber: 1405
    functionLinenumberEnd: 1407
    functionName: public_avif_valid_with_garbage_byte_at_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_avif_should
    linkageType: ''
    returnType: void
    signature: fn public_avif_valid_with_garbage_byte_at_end()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1411,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1411,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1416
      start: 1410
    functionDepth: 0
    functionLinenumber: 1410
    functionLinenumberEnd: 1416
    functionName: public_avif_bad_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn public_avif_bad_video_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1419,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1419,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1420,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - looped
    argTypes:
    - '&str'
    - bool
    constantsTouched: []
    func_position:
      end: 1436
      start: 1418
    functionDepth: 1
    functionLinenumber: 1418
    functionLinenumberEnd: 1436
    functionName: public_avis_loop_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - expect
    - mp4::read_avif
    - File::open
    linkageType: ''
    returnType: void
    signature: 'fn public_avis_loop_impl(path: &str, looped: bool)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avis_loop_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1441
      start: 1439
    functionDepth: 2
    functionLinenumber: 1439
    functionLinenumberEnd: 1441
    functionName: public_avif_avis_no_loop
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avis_loop_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_no_loop()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avis_loop_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1445,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1446
      start: 1444
    functionDepth: 2
    functionLinenumber: 1444
    functionLinenumberEnd: 1446
    functionName: public_avif_avis_loop_forever
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avis_loop_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_avis_loop_forever()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avif_read_samples_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1451
      start: 1449
    functionDepth: 1
    functionLinenumber: 1449
    functionLinenumberEnd: 1451
    functionName: public_avif_read_samples
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avif_read_samples_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_read_samples()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: public_avif_read_samples_impl
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1456,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1457
      start: 1455
    functionDepth: 1
    functionLinenumber: 1455
    functionLinenumberEnd: 1457
    functionName: public_avif_read_samples_strict
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - public_avif_read_samples_impl
    linkageType: ''
    returnType: void
    signature: fn public_avif_read_samples_strict()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[&str]::iter'
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    - Dst: SampleToChunkIterator::map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    - Dst: collect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - strs
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 1464
      start: 1459
    functionDepth: 1
    functionLinenumber: 1459
    functionLinenumberEnd: 1464
    functionName: to_canonical_paths
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::map
    - map
    - collect
    - '&[&str]::iter'
    linkageType: ''
    returnType: Vec
    signature: 'fn to_canonical_paths(strs: &[&str]) -> Vec<std::path::PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1467,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1468,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1470,1
    - Dst: walkdir::WalkDir::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1475,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1476,1
    - Dst: Result::path
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1477,1
    - Dst: extension
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1478,1
    - Dst: unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1478,1
    - Dst: is_file
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1479,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: parent
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: std::fs::canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1485,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1485,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1485,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1486,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1486,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1486,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1488,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1488,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1488,1
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1495,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1495,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - strictness
    argTypes:
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 1519
      start: 1466
    functionDepth: 2
    functionLinenumber: 1466
    functionLinenumberEnd: 1519
    functionName: public_avif_read_samples_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 2
    functionsReached:
    - contains
    - extension
    - Result::path
    - parent
    - File::open
    - mp4::read_avif
    - unwrap_or_default
    - walkdir::WalkDir::new
    - to_canonical_paths
    - canonicalize
    - is_file
    - Vec::contains
    - Result::expect
    - expect
    - unwrap
    - std::fs::canonicalize
    linkageType: ''
    returnType: void
    signature: 'fn public_avif_read_samples_impl(strictness: ParseStrictness)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1523,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1523,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1524,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1525,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1525,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1527,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1528,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1528,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1530,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1531,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1531,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1545
      start: 1522
    functionDepth: 5
    functionLinenumber: 1522
    functionLinenumberEnd: 1545
    functionName: public_video_h263
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_video_h263()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1549,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1549,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1550,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1551,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1551,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1553,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1554,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1554,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1556,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1557,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1557,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1571
      start: 1548
    functionDepth: 5
    functionLinenumber: 1548
    functionLinenumberEnd: 1571
    functionName: public_video_hevc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_video_hevc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1575,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1575,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1576,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1577,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1577,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1579,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1580,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1580,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1582,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1583,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1583,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1600
      start: 1574
    functionDepth: 5
    functionLinenumber: 1574
    functionLinenumberEnd: 1600
    functionName: public_parse_pasp_h264
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_parse_pasp_h264()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1605,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1605,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1606,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1607,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1607,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1609,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1610,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1610,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1612,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1613,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1613,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1625
      start: 1604
    functionDepth: 5
    functionLinenumber: 1604
    functionLinenumberEnd: 1625
    functionName: public_audio_amrnb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrnb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1630,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1630,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1631,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1632,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1632,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1634,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1635,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1635,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1637,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1638,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1638,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1650
      start: 1629
    functionDepth: 5
    functionLinenumber: 1629
    functionLinenumberEnd: 1650
    functionName: public_audio_amrwb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrwb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1655,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1655,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1656,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1657,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1657,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1659,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1660,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1660,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1662,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1663,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1663,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1654
    functionDepth: 5
    functionLinenumber: 1654
    functionLinenumberEnd: 1677
    functionName: public_video_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_video_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1681,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1681,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1682,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1683,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1683,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1685,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1686,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1686,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1702,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1702,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1709,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1709,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1754
      start: 1680
    functionDepth: 5
    functionLinenumber: 1680
    functionLinenumberEnd: 1754
    functionName: public_audio_xhe_aac
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - Vec::new
    - Cursor::new
    - File::open
    - Result::expect
    - expect
    - as_ref
    - read_to_end
    - first
    - mp4::read_mp4
    linkageType: ''
    returnType: void
    signature: fn public_audio_xhe_aac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - i
    argTypes:
    - T
    constantsTouched: []
    func_position:
      end: 18
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 18
    functionName: CheckedInteger::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: 'fn from(i: T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - checked
    argTypes:
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 25
      start: 23
    functionDepth: 0
    functionLinenumber: 23
    functionLinenumberEnd: 25
    functionName: i64::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: i64
    signature: 'fn from(checked: CheckedInteger<i64>) -> i64'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    - Dst: U::into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:35,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - other
    argTypes:
    - U
    constantsTouched: []
    func_position:
      end: 36
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 36
    functionName: CheckedInteger::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - map
    - U::into
    - checked_add
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: U) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: CheckedInteger::sub
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Result::ok
    - map
    - i64::try_from
    - and_then
    - checked_sub
    linkageType: ''
    returnType: Self::Output
    signature: 'fn sub(self, other: Self) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 97
      start: 73
    functionDepth: 0
    functionLinenumber: 73
    functionLinenumberEnd: 97
    functionName: u64_subtraction_returning_i64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn u64_subtraction_returning_i64()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&T'
    constantsTouched: []
    func_position:
      end: 102
      start: 100
    functionDepth: 0
    functionLinenumber: 100
    functionLinenumberEnd: 102
    functionName: CheckedInteger::eq
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &T) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:149,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:151,1
    - Dst: sample_to_chunk_iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: SampleToChunkIterator::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:159,1
    - Dst: try_fold
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:158,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:161,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:161,1
    - Dst: sample_to_chunk_iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:163,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:166,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:167,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:172,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:175,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:182,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:187,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:182,1
    - Dst: SampleToChunkIterator::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:196,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:196,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:198,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:206,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:218,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:218,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:228,1
    - Dst: as_mut_slice
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:229,1
    - Dst: next_delta
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:231,1
    - Dst: next_offset_time
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:234,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:247,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:247,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:248,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:248,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:249,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:256,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:258,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:260,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:261,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:261,1
    - Dst: sort_by_key
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:264,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:264,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:266,1
    - Dst: windows
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:269,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:278,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 220
    argCount: 2
    argNames:
    - track
    - track_offset_time
    argTypes:
    - '&Track'
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 279
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 279
    functionName: create_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - as_slice
    - next_delta
    - and_then
    - sort_by_key
    - as_ref
    - SampleToChunkIterator::map
    - next_offset_time
    - map
    - Default::default
    - checked_add
    - next
    - TryVec::with_capacity
    - Some
    - iter
    - to_usize
    - is_some
    - into
    - get
    - as_mut_slice
    - push
    - get_mut
    - TrackScaledTime::<i64>
    - ok
    - CheckedInteger
    - sample_to_chunk_iter
    - windows
    - SampleToChunkIterator::checked_sub
    - len
    - is_empty
    - try_fold
    linkageType: ''
    returnType: Option
    signature: 'pub fn create_sample_table(track: &Track,track_offset_time: CheckedInteger<i64>,)
      -> Option<TryVec<Indice>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:298,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:298,1
    - Dst: SampleToChunkIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:305,1
    - Dst: TimeOffsetVersion::Version0
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:311,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:317,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:318,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:321,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:324,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:324,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 325
      start: 297
    functionDepth: 1
    functionLinenumber: 297
    functionLinenumberEnd: 325
    functionName: TimeOffsetIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Some
    - or_else
    - TimeOffsetVersion::Version0
    - next
    - i64::from
    - and
    - SampleToChunkIterator::next
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TimeOffsetIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:330,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:331,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 334
      start: 329
    functionDepth: 2
    functionLinenumber: 329
    functionLinenumberEnd: 334
    functionName: TimeOffsetIterator::next_offset_time
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TimeOffsetIterator::next
    - TrackScaledTime::<i64>
    linkageType: ''
    returnType: TrackScaledTime
    signature: fn next_offset_time(&mut self) -> TrackScaledTime<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:355,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:355,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:356,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:364,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:367,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:367,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 368
      start: 354
    functionDepth: 2
    functionLinenumber: 354
    functionLinenumberEnd: 368
    functionName: TimeToSampleIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Some
    - next
    - or_else
    - and
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TimeToSampleIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:373,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:374,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:374,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:375,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 372
    functionDepth: 3
    functionLinenumber: 372
    functionLinenumberEnd: 377
    functionName: TimeToSampleIterator::next_delta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TrackScaledTime::<i64>
    - i64::from
    - TimeToSampleIterator::next
    linkageType: ''
    returnType: TrackScaledTime
    signature: fn next_delta(&mut self) -> TrackScaledTime<i64>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&''a TryVec<SampleToChunk>::as_slice'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: '&''a [u8]::iter'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: SampleToChunkIterator::peekable
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:398,1
    - Dst: '&''a TryVec<u64>::len'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:399,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 15
    argCount: 2
    argNames:
    - stsc_samples
    - stco_offsets
    argTypes:
    - '&''a TryVec<SampleToChunk>'
    - '&''a TryVec<u64>'
    constantsTouched: []
    func_position:
      end: 404
      start: 391
    functionDepth: 1
    functionLinenumber: 391
    functionLinenumberEnd: 404
    functionName: sample_to_chunk_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - '&''a TryVec<u64>::len'
    - SampleToChunkIterator::peekable
    - '&''a TryVec<SampleToChunk>::as_slice'
    - try_into
    - expect
    - '&''a [u8]::iter'
    linkageType: ''
    returnType: SampleToChunkIterator
    signature: 'fn sample_to_chunk_iter<''a>(stsc_samples: &''a TryVec<SampleToChunk>,stco_offsets:
      &''a TryVec<u64>,) -> SampleToChunkIterator<''a>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:417,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:417,1
    - Dst: SampleToChunkIterator::locate
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:418,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:419,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:421,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:419,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:428,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:432,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 433
      start: 416
    functionDepth: 2
    functionLinenumber: 416
    functionLinenumberEnd: 433
    functionName: SampleToChunkIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - map
    - or_else
    - and_then
    - next
    - try_into
    - expect
    - len
    - SampleToChunkIterator::locate
    - checked_sub
    linkageType: ''
    returnType: Option
    signature: fn next(&mut self) -> Option<(u32, u32)>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:440,1
    - Dst: peek
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:440,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:454,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 462
      start: 438
    functionDepth: 3
    functionLinenumber: 438
    functionLinenumberEnd: 462
    functionName: SampleToChunkIterator::locate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - peek
    - next
    - checked_add
    linkageType: ''
    returnType: std::ops::Range
    signature: fn locate(&mut self) -> std::ops::Range<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::is_zero
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:478,1
    - Dst: num_traits::cast
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:484,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:485,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:485,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:487,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - numerator
    - denominator
    - scale2
    argTypes:
    - T
    - T
    - S
    constantsTouched: []
    func_position:
      end: 490
      start: 473
    functionDepth: 0
    functionLinenumber: 473
    functionLinenumberEnd: 490
    functionName: rational_scale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - and_then
    - checked_add
    - T::is_zero
    - num_traits::cast
    - checked_mul
    linkageType: ''
    returnType: Option
    signature: 'pub fn rational_scale<T, S>(numerator: T, denominator: T, scale2:
      S) -> Option<T>whereT: PrimInt + Zero,S: PrimInt,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rational_scale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:499,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:499,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - MediaScaledTime
    - MediaTimeScale
    constantsTouched: []
    func_position:
      end: 500
      start: 497
    functionDepth: 1
    functionLinenumber: 497
    functionLinenumberEnd: 500
    functionName: media_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn media_time_to_us(time: MediaScaledTime, scale: MediaTimeScale)
      -> Option<Microseconds<u64>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rational_scale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:513,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - TrackScaledTime<T>
    - TrackTimeScale<T>
    constantsTouched: []
    func_position:
      end: 514
      start: 504
    functionDepth: 1
    functionLinenumber: 504
    functionLinenumberEnd: 514
    functionName: track_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn track_time_to_us<T>(time: TrackScaledTime<T>,scale: TrackTimeScale<T>,)
      -> Option<Microseconds<T>>whereT: PrimInt + Zero,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 526
      start: 517
    functionDepth: 0
    functionLinenumber: 517
    functionLinenumberEnd: 526
    functionName: rational_scale_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: fn rational_scale_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:530,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 529
    functionDepth: 0
    functionLinenumber: 529
    functionLinenumberEnd: 536
    functionName: media_time_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - MediaScaledTime
    - MediaTimeScale
    linkageType: ''
    returnType: void
    signature: fn media_time_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TrackTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:540,1
    - Dst: TrackScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: track_time_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - TrackScaledTime
    - TrackTimeScale
    linkageType: ''
    returnType: void
    signature: fn track_time_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/macros.rs:2,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/macros.rs:4,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 12
      start: 5
    functionDepth: 1
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: check_parser_state
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/macros.rs
    functionUses: 0
    functionsReached:
    - limit
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: usize::to_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - usize::try_into
    - expect
    linkageType: ''
    returnType: u64
    signature: fn to_u64(self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: impl_to_usize_from::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: impl_to_usize_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - impl_to_usize_from::try_into
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&''a mut T'
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: OffsetReader::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn new(reader: &''a mut T) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: OffsetReader::offset
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn offset(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:140,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:144,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: OffsetReader::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - to_u64
    - checked_add
    - expect
    - read
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 299
    functionDepth: 0
    functionLinenumber: 299
    functionLinenumberEnd: 312
    functionName: Feature::supported
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn supported(self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:319,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:334,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:334,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 337
      start: 318
    functionDepth: 0
    functionLinenumber: 318
    functionLinenumberEnd: 337
    functionName: Feature::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - Error::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(item_property: &ItemProperty) -> Result<Self, Self::Error>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 349
      start: 347
    functionDepth: 0
    functionLinenumber: 347
    functionLinenumberEnd: 349
    functionName: UnsupportedFeatures::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: Self
    signature: pub fn new() -> Self
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 353
      start: 351
    functionDepth: 0
    functionLinenumber: 351
    functionLinenumberEnd: 353
    functionName: UnsupportedFeatures::into_bitfield
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: pub fn into_bitfield(&self) -> u32
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 364
      start: 355
    functionDepth: 0
    functionLinenumber: 355
    functionLinenumberEnd: 364
    functionName: UnsupportedFeatures::feature_to_bitfield
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u32
    signature: 'fn feature_to_bitfield(feature: Feature) -> u32'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::feature_to_bitfield
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:368,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 369
      start: 366
    functionDepth: 1
    functionLinenumber: 366
    functionLinenumberEnd: 369
    functionName: UnsupportedFeatures::insert
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::feature_to_bitfield
    linkageType: ''
    returnType: void
    signature: 'pub fn insert(&mut self, feature: Feature)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::feature_to_bitfield
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:372,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 1
    functionLinenumber: 371
    functionLinenumberEnd: 373
    functionName: UnsupportedFeatures::contains
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::feature_to_bitfield
    linkageType: ''
    returnType: bool
    signature: 'pub fn contains(&self, feature: Feature) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    functionName: UnsupportedFeatures::is_empty
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: pub fn is_empty(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:397,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:397,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parse_status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 399
      start: 394
    functionDepth: 0
    functionLinenumber: 394
    functionLinenumberEnd: 399
    functionName: Result::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Err
    - into
    linkageType: ''
    returnType: Self
    signature: 'fn from(parse_status: Status) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - TryReserveError
    constantsTouched: []
    func_position:
      end: 914
      start: 912
    functionDepth: 0
    functionLinenumber: 912
    functionLinenumberEnd: 914
    functionName: Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Error
    signature: 'fn from(_: TryReserveError) -> Error'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 1
    argNames:
    - status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 786
      start: 422
    functionDepth: 0
    functionLinenumber: 422
    functionLinenumberEnd: 786
    functionName: '&str::from'
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(status: Status) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames: []
    argTypes:
    - std::io::Error
    constantsTouched: []
    func_position:
      end: 835
      start: 833
    functionDepth: 0
    functionLinenumber: 833
    functionLinenumberEnd: 835
    functionName: Status::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(_: std::io::Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 862
      start: 860
    functionDepth: 0
    functionLinenumber: 860
    functionLinenumberEnd: 862
    functionName: Error::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:907,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 908
      start: 901
    functionDepth: 5
    functionLinenumber: 901
    functionLinenumberEnd: 908
    functionName: std::io::Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::new
    linkageType: ''
    returnType: Self
    signature: 'fn from(err: Error) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:958,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - brand
    argTypes:
    - '&FourCC'
    constantsTouched: []
    func_position:
      end: 959
      start: 957
    functionDepth: 2
    functionLinenumber: 957
    functionLinenumberEnd: 959
    functionName: FileTypeBox::contains
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - contains
    linkageType: ''
    returnType: bool
    signature: 'fn contains(&self, brand: &FourCC) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1106,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1106,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1107,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - track_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1109
      start: 1105
    functionDepth: 2
    functionLinenumber: 1105
    functionLinenumberEnd: 1109
    functionName: TrackReferenceBox::has_auxl_reference
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - contains
    - any
    - iter
    linkageType: ''
    returnType: bool
    signature: 'pub fn has_auxl_reference(&self, track_id: u32) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1275
    functionDepth: 0
    functionLinenumber: 1275
    functionLinenumberEnd: 1277
    functionName: AV1ConfigBox::config_obus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: pub fn config_obus(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1299,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1300,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1306,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1306,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1306,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1310,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 39
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1315
      start: 1298
    functionDepth: 1
    functionLinenumber: 1298
    functionLinenumberEnd: 1315
    functionName: FLACStreamInfo::parse
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - u32::from
    - Ok
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn parse(data: &[u8]) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1612,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1612,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1612,1
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1616,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1616,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1616,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1621
      start: 1610
    functionDepth: 1
    functionLinenumber: 1610
    functionLinenumberEnd: 1621
    functionName: IsobmffItem::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - debug_struct
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsobmffItem::Data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1639,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1639,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1641
      start: 1636
    functionDepth: 5
    functionLinenumber: 1636
    functionLinenumberEnd: 1641
    functionName: AvifItem::with_inline_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - TryVec::new
    - IsobmffItem::Data
    linkageType: ''
    returnType: Self
    signature: 'fn with_inline_data(id: ItemId) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1676,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1677
      start: 1675
    functionDepth: 0
    functionLinenumber: 1675
    functionLinenumberEnd: 1677
    functionName: AvifContext::primary_item_is_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub fn primary_item_is_present(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1680,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1680,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1682,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1683
      start: 1679
    functionDepth: 1
    functionLinenumber: 1679
    functionLinenumberEnd: 1683
    functionName: AvifContext::primary_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::item_as_slice
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1686,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1686,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1689
      start: 1685
    functionDepth: 1
    functionLinenumber: 1685
    functionLinenumberEnd: 1689
    functionName: AvifContext::primary_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::image_bits_per_channel
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1692,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1693
      start: 1691
    functionDepth: 0
    functionLinenumber: 1691
    functionLinenumberEnd: 1693
    functionName: AvifContext::alpha_item_is_present
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - is_some
    linkageType: ''
    returnType: bool
    signature: pub fn alpha_item_is_present(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1696,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1696,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1698,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1699
      start: 1695
    functionDepth: 1
    functionLinenumber: 1695
    functionLinenumberEnd: 1699
    functionName: AvifContext::alpha_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::item_as_slice
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1702,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1702,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1704,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1705
      start: 1701
    functionDepth: 1
    functionLinenumber: 1701
    functionLinenumberEnd: 1705
    functionName: AvifContext::alpha_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::image_bits_per_channel
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1708,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1712,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1712,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1714,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1716
      start: 1707
    functionDepth: 6
    functionLinenumber: 1707
    functionLinenumberEnd: 1716
    functionName: AvifContext::image_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - get
    - as_slice
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn image_bits_per_channel(&self, item_id: ItemId) -> Result<&[u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1720,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1724,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1727,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1731,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1731,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1735,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1735,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1718
    functionDepth: 6
    functionLinenumber: 1718
    functionLinenumberEnd: 1737
    functionName: AvifContext::spatial_extents_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - std::ptr::null
    - fail_with_status_if
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn spatial_extents_ptr(&self) -> Result<*const ImageSpatialExtentsProperty>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1742,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1745,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1748,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1751,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1751,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1755,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1755,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1760
      start: 1740
    functionDepth: 1
    functionLinenumber: 1740
    functionLinenumberEnd: 1760
    functionName: AvifContext::nclx_colour_information_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Some
    - Ok
    - Err
    - len
    - get_multiple
    linkageType: ''
    returnType: Option
    signature: pub fn nclx_colour_information_ptr(&self) -> Option<Result<*const NclxColourInformation>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1765,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1768,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1771,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1774,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1774,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1774,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1778,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1778,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1783
      start: 1763
    functionDepth: 1
    functionLinenumber: 1763
    functionLinenumberEnd: 1783
    functionName: AvifContext::icc_colour_information
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Some
    - Ok
    - Err
    - len
    - get_multiple
    linkageType: ''
    returnType: Option
    signature: pub fn icc_colour_information(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1787,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1791,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1793,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1796,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1785
    functionDepth: 6
    functionLinenumber: 1785
    functionLinenumberEnd: 1798
    functionName: AvifContext::image_rotation
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn image_rotation(&self) -> Result<ImageRotation>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1802,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1806,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1808,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1808,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1813
      start: 1800
    functionDepth: 6
    functionLinenumber: 1800
    functionLinenumberEnd: 1813
    functionName: AvifContext::image_mirror_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - std::ptr::null
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn image_mirror_ptr(&self) -> Result<*const ImageMirror>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1817,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1821,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1823,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1823,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1826,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1826,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1828
      start: 1815
    functionDepth: 6
    functionLinenumber: 1815
    functionLinenumberEnd: 1828
    functionName: AvifContext::pixel_aspect_ratio_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - std::ptr::null
    - Ok
    linkageType: ''
    returnType: Result
    signature: pub fn pixel_aspect_ratio_ptr(&self) -> Result<*const PixelAspectRatio>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1836,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1845,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1845,1
    - Dst: Self::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1847,1
    - Dst: unwrap_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1845,1
    - Dst: Self::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1850,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - item
    argTypes:
    - '&''a AvifItem'
    constantsTouched: []
    func_position:
      end: 1852
      start: 1832
    functionDepth: 6
    functionLinenumber: 1832
    functionLinenumberEnd: 1852
    functionName: AvifContext::item_as_slice
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Self::get
    - unwrap_or_else
    - and_then
    - as_ref
    - get
    - Self::as_slice
    linkageType: ''
    returnType: '&''a [u8]'
    signature: 'fn item_as_slice<''a>(&''a self, item: &''a AvifItem) -> &''a [u8]'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1886,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1886,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1886,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1886,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1890
      start: 1885
    functionDepth: 1
    functionLinenumber: 1885
    functionLinenumberEnd: 1890
    functionName: DataBox::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - debug_struct
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1894,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1901
      start: 1893
    functionDepth: 0
    functionLinenumber: 1893
    functionLinenumberEnd: 1901
    functionName: u64_to_usize_logged
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - try_into
    - Some
    linkageType: ''
    returnType: Option
    signature: 'fn u64_to_usize_logged(x: u64) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - file_offset
    - data
    argTypes:
    - u64
    - TryVec<u8>
    constantsTouched: []
    func_position:
      end: 1909
      start: 1904
    functionDepth: 0
    functionLinenumber: 1904
    functionLinenumberEnd: 1909
    functionName: DataBox::from_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from_mdat(file_offset: u64, data: TryVec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - data
    argTypes:
    - TryVec<u8>
    constantsTouched: []
    func_position:
      end: 1916
      start: 1911
    functionDepth: 0
    functionLinenumber: 1911
    functionLinenumberEnd: 1916
    functionName: DataBox::from_idat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from_idat(data: TryVec<u8>) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1920
      start: 1918
    functionDepth: 0
    functionLinenumber: 1918
    functionLinenumberEnd: 1920
    functionName: DataBox::data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&[u8]'
    signature: fn data(&self) -> &[u8]
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1927,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1929,1
    - Dst: Option::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1930,1
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1933,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1936
      start: 1925
    functionDepth: 1
    functionLinenumber: 1925
    functionLinenumberEnd: 1936
    functionName: DataBox::start
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - u64::checked_sub
    - u64_to_usize_logged
    - Option::is_none
    linkageType: ''
    returnType: Option
    signature: 'fn start(&self, offset: u64) -> Option<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: IsobmffItem::IdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1942,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1942,1
    - Dst: IsobmffItem::MdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1943,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1943,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&Extent'
    constantsTouched: []
    func_position:
      end: 1945
      start: 1940
    functionDepth: 0
    functionLinenumber: 1940
    functionLinenumberEnd: 1945
    functionName: DataBox::location
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&Extent::clone'
    - IsobmffItem::IdatLocation
    - IsobmffItem::MdatLocation
    linkageType: ''
    returnType: IsobmffItem
    signature: 'fn location(&self, extent: &Extent) -> IsobmffItem'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1954,1
    - Dst: Option::checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1955,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1956,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1959,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1959,1
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1962,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1963,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1963,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&''a Extent'
    constantsTouched: []
    func_position:
      end: 1966
      start: 1951
    functionDepth: 6
    functionLinenumber: 1951
    functionLinenumberEnd: 1966
    functionName: DataBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::data
    - DataBox::start
    - Option::checked_add
    - '&[u8]::get'
    - is_none
    linkageType: ''
    returnType: Option
    signature: 'fn get<''a>(&''a self, extent: &''a Extent) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1976,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1976,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1977,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1977,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1979,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - version
    argTypes:
    - '&mut impl ReadBytesExt'
    - u8
    constantsTouched: []
    func_position:
      end: 1981
      start: 1975
    functionDepth: 1
    functionLinenumber: 1975
    functionLinenumberEnd: 1981
    functionName: ItemId::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ItemId
    - be_u32
    - be_u16
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read(src: &mut impl ReadBytesExt, version: u8) -> Result<ItemId>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2017
      start: 2011
    functionDepth: 0
    functionLinenumber: 2011
    functionLinenumberEnd: 2017
    functionName: IlocFieldSize::as_bits
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u8
    signature: fn as_bits(&self) -> u8
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2025,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2026,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2027,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2030
      start: 2023
    functionDepth: 0
    functionLinenumber: 2023
    functionLinenumberEnd: 2030
    functionName: IlocFieldSize::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2045,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2046,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2047,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2048,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2048,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 2050
      start: 2043
    functionDepth: 0
    functionLinenumber: 2043
    functionLinenumberEnd: 2050
    functionName: IlocVersion::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - Error::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'fn try_from(value: u8) -> Result<Self>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2114,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2116,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2119,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - violation
    - status
    argTypes:
    - bool
    - Status
    constantsTouched: []
    func_position:
      end: 2121
      start: 2113
    functionDepth: 1
    functionLinenumber: 2113
    functionLinenumberEnd: 2121
    functionName: fail_with_status_if
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Err
    - Ok
    - Error::from
    linkageType: ''
    returnType: Result
    signature: 'fn fail_with_status_if(violation: bool, status: Status) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2174,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2174,1
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2174,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrackScaledTime<T>
    constantsTouched: []
    func_position:
      end: 2175
      start: 2173
    functionDepth: 0
    functionLinenumber: 2173
    functionLinenumberEnd: 2175
    functionName: TrackScaledTime::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - map
    - Self
    - checked_add
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: TrackScaledTime<T>) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2204,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 2206
      start: 2201
    functionDepth: 1
    functionLinenumber: 2201
    functionLinenumberEnd: 2206
    functionName: Track::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    linkageType: ''
    returnType: Track
    signature: 'fn new(id: usize) -> Track'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2222
      start: 2220
    functionDepth: 0
    functionLinenumber: 2220
    functionLinenumberEnd: 2222
    functionName: BoxIter::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: BoxIter
    signature: 'pub fn new(src: &mut T) -> BoxIter<''_, T>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2225,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2227,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2227,1
    - Dst: take
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2229,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2229,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2231,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2232,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2234
      start: 2224
    functionDepth: 1
    functionLinenumber: 2224
    functionLinenumberEnd: 2234
    functionName: BoxIter::next_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - saturating_sub
    - Ok
    - Some
    - take
    - Err
    - read_box_header
    linkageType: ''
    returnType: Result
    signature: pub fn next_box(&mut self) -> Result<Option<BMFFBox<'_, T>>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2240
      start: 2238
    functionDepth: 2
    functionLinenumber: 2238
    functionLinenumberEnd: 2240
    functionName: BMFFBox::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - read
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2245,1
    - Dst: BMFFBox::bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2245,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut TryVec<u8>'
    constantsTouched: []
    func_position:
      end: 2246
      start: 2244
    functionDepth: 1
    functionLinenumber: 2244
    functionLinenumberEnd: 2246
    functionName: BMFFBox::try_read_to_end
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - BMFFBox::bytes_left
    - fallible_collections::try_read_up_to
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn try_read_to_end(&mut self, buf: &mut TryVec<u8>) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2251,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2252
      start: 2250
    functionDepth: 1
    functionLinenumber: 2250
    functionLinenumberEnd: 2252
    functionName: BMFFBox::offset
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get_ref
    - offset
    linkageType: ''
    returnType: u64
    signature: fn offset(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2257,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2258
      start: 2256
    functionDepth: 1
    functionLinenumber: 2256
    functionLinenumberEnd: 2258
    functionName: BMFFBox::bytes_left
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - limit
    linkageType: ''
    returnType: u64
    signature: fn bytes_left(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2262
      start: 2260
    functionDepth: 0
    functionLinenumber: 2260
    functionLinenumberEnd: 2262
    functionName: BMFFBox::get_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: '&BoxHeader'
    signature: fn get_header(&self) -> &BoxHeader
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2265,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2266
      start: 2264
    functionDepth: 1
    functionLinenumber: 2264
    functionLinenumberEnd: 2266
    functionName: BMFFBox::box_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - BoxIter::new
    linkageType: ''
    returnType: BoxIter
    signature: fn box_iter(&mut self) -> BoxIter<'_, BMFFBox<'a, T>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2271,1
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2272,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2275
      start: 2270
    functionDepth: 1
    functionLinenumber: 2270
    functionLinenumberEnd: 2275
    functionName: BMFFBox::drop
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - From::from
    - limit
    linkageType: ''
    returnType: void
    signature: fn drop(&mut self)
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2287,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2288,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2288,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2295,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2295,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2298,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2299,1
    - Dst: '&mut T::read'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2309,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2310,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2312,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2315,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2325,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2325,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2326,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2326,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2329,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2335
      start: 2286
    functionDepth: 2
    functionLinenumber: 2286
    functionLinenumberEnd: 2335
    functionName: read_box_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - Ok
    - Error::from
    - BoxType::from
    - be_u32
    - to_u64
    - '&mut T::read'
    - Error::Unsupported
    - Err
    - be_u64
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_box_header<T: ReadBytesExt>(src: &mut T) -> Result<BoxHeader>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2339,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2340,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2341,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2342,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2343,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2345,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2345,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2345,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2347
      start: 2338
    functionDepth: 1
    functionLinenumber: 2338
    functionLinenumberEnd: 2347
    functionName: read_fullbox_extra
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut T::read_u8'
    - Ok
    - u32::from
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_extra<T: ReadBytesExt>(src: &mut T) -> Result<(u8,
      u32)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2351,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2354,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2354,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2357,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2358
      start: 2350
    functionDepth: 2
    functionLinenumber: 2350
    functionLinenumberEnd: 2358
    functionName: read_fullbox_version_no_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Err
    - Ok
    - read_fullbox_extra
    - Error::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_version_no_flags<T: ReadBytesExt>(src: &mut T)
      -> Result<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2364,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2366,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2366,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2369,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2373
      start: 2361
    functionDepth: 1
    functionLinenumber: 2361
    functionLinenumberEnd: 2373
    functionName: skip_box_content
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::get_header'
    - skip
    - ok_or
    - Error::Unsupported
    - checked_sub
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_box_content<T: Read>(src: &mut BMFFBox<T>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2378,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2379,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2384
      start: 2376
    functionDepth: 2
    functionLinenumber: 2376
    functionLinenumberEnd: 2384
    functionName: skip_box_remain
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - skip
    - '&mut BMFFBox<T>::get_header'
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_box_remain<T: Read>(src: &mut BMFFBox<T>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2399
      start: 2394
    functionDepth: 0
    functionLinenumber: 2394
    functionLinenumberEnd: 2399
    functionName: AvifImageType::has_primary
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn has_primary(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2406
      start: 2401
    functionDepth: 0
    functionLinenumber: 2401
    functionLinenumberEnd: 2406
    functionName: AvifImageType::has_sequence
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: bool
    signature: fn has_sequence(&self) -> bool
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: OffsetReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2413,1
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2414,1
    - Dst: UnsupportedFeatures::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2416,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2419,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2421,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2423,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2424,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2425,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2426,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2438,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2443,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2450,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2458,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2461,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2466,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2469,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2474,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2478,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2484,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2485,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: read_avif_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2493,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2494,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2495,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2497,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2497,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2500,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2504,1
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2506,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: set_limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2513,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2519,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2521,1
    - Dst: DataBox::from_mdat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2521,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2524,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2526,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2533,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2543,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2543,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2546,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2546,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2546,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2546,1
    - Dst: is_alpha
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2556,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2557,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2558,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2558,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2559,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2562,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2563,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2563,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2582,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2584,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2595,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2596,1
    - Dst: AvifItem::with_inline_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2596,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2608,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2612,1
    - Dst: location
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2614,1
    - Dst: Cursor::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2625,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2629,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2631,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2639,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2640,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2647,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2654,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2656,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2660,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2664,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2674,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2674,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2675,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2675,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2677,1
    - Dst: has_primary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2683,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2683,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2684,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2692,1
    - Dst: None::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2692,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2693,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2701,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2702,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2702,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2704,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2710,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2710,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2711,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2712,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2712,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2712,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2718,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2718,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2720,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2721,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2727,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2732,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2742,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2743,1
    - Dst: Self::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2751,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2754,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2756,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2757,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2763,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2769,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2772,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2773,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2775,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 473
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 2787
      start: 2410
    functionDepth: 8
    functionLinenumber: 2410
    functionLinenumberEnd: 2787
    functionName: read_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 11
    functionsReached:
    - offset
    - any
    - Error::from
    - bytes_left
    - check_image_item
    - and_then
    - as_ref
    - filter
    - BoxIter::new
    - contains
    - Ok
    - ok_or_else
    - len
    - find_and_add_to_item
    - AvifItem::with_inline_data
    - missing_property_for
    - map
    - read_ftyp
    - has_sequence
    - is_some_and
    - fail_with_status_if
    - next
    - Cursor::extend_from_slice
    - Err
    - find
    - is_alpha
    - Self::insert
    - TryVec::with_capacity
    - check_parser_state
    - map_or
    - Some
    - fallible_collections::try_read_up_to
    - iter
    - is_some
    - Mp4parseStatus::push
    - into
    - get
    - None::is_some
    - TryVec::new
    - is_none
    - location
    - read_avif_meta
    - SampleToChunkIterator::next_box
    - get_mut
    - Mp4parseStatus::iter
    - has_primary
    - None::is_none
    - read_into_try_vec
    - DataBox::from_mdat
    - OffsetReader::new
    - set_limit
    - skip_box_content
    - UnsupportedFeatures::new
    - read_moov
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_avif<T: Read>(f: &mut T, strictness: ParseStrictness)
      -> Result<AvifContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2798,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2801,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2801,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2812,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2813,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2817,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2828,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2830,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2838,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2839,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2841,1
    - Dst: read_iinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2841,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2844,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2845,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2847,1
    - Dst: read_iloc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2847,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2850,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2851,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2853,1
    - Dst: read_pitm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2853,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2856,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2857,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2859,1
    - Dst: read_iref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2859,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2862,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2863,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2865,1
    - Dst: read_iprp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2865,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2873,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2874,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2876,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2877,1
    - Dst: DataBox::from_idat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2877,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2879,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2882,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2885,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2886,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2887,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2889,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2890,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 149
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2893
      start: 2793
    functionDepth: 4
    functionLinenumber: 2793
    functionLinenumberEnd: 2893
    functionName: read_avif_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - DataBox::from_idat
    - Error::Unsupported
    - None::unwrap_or_default
    - read_pitm
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - fail_with_status_if
    - read_hdlr
    - Err
    - check_parser_state
    - Some
    - read_iprp
    - read_iref
    - into
    - read_iloc
    - None::is_some
    - read_iinf
    - SampleToChunkIterator::next_box
    - read_into_try_vec
    - skip_box_content
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_avif_meta<T: Read + Offset>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,unsupported_features: &mut UnsupportedFeatures,) -> Result<AvifMeta>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2898,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2900,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2901,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2901,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2902,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2903,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2903,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2906,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2907
      start: 2897
    functionDepth: 3
    functionLinenumber: 2897
    functionLinenumberEnd: 2907
    functionName: read_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - ItemId
    - be_u32
    - be_u16
    - into
    - Error::Unsupported
    - Err
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_pitm<T: Read>(src: &mut BMFFBox<T>) -> Result<ItemId>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2916,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2920,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2920,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2924,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2924,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2926,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2926,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2928,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2930,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2931,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2933,1
    - Dst: read_infe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2936,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2937,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2940,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2943,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 47
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2944
      start: 2911
    functionDepth: 4
    functionLinenumber: 2911
    functionLinenumberEnd: 2944
    functionName: read_iinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - read_infe
    - Ok
    - to_usize
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - be_u16
    - into
    - Error::Unsupported
    - Err
    - push
    - read_fullbox_version_no_flags
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_iinf<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,unsupported_features:
      &mut UnsupportedFeatures,) -> Result<TryVec<ItemInfoEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::str::from_utf8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2952,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2952,1
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2956
      start: 2951
    functionDepth: 0
    functionLinenumber: 2951
    functionLinenumberEnd: 2956
    functionName: U32BE::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - to_be_bytes
    - std::str::from_utf8
    - write_str
    linkageType: ''
    returnType: std::fmt::Result
    signature: 'fn fmt(&self, f: &mut std::fmt::Formatter<''_>) -> std::fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2966,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2972,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2979,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2980,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2980,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2981,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2982,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2982,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2985,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2987,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2991,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2994,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2995,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2997,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2997,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 38
    argCount: 3
    argNames:
    - src
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 2999
      start: 2961
    functionDepth: 3
    functionLinenumber: 2961
    functionLinenumberEnd: 2999
    functionName: read_infe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - ItemId
    - Some
    - be_u32
    - '&mut UnsupportedFeatures::insert'
    - be_u16
    - fail_with_status_if
    - into
    - Error::Unsupported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn read_infe<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,unsupported_features:
      &mut UnsupportedFeatures,) -> Result<Option<ItemInfoEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3004,1
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3005,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3007,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3007,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3010,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3011,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3013,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3014,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3015,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3015,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3017,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3019,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3021,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3022,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3027,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3032,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3033
      start: 3003
    functionDepth: 5
    functionLinenumber: 3003
    functionLinenumberEnd: 3033
    functionName: read_iref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Ok
    - ItemId::read
    - to_usize
    - Mp4parseStatus::reserve
    - '&mut BMFFBox<T>::box_iter'
    - be_u16
    - Mp4parseStatus::push
    - into
    - Error::Unsupported
    - Err
    - TryVec::new
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_iref<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<SingleItemTypeReferenceBox>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3052,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3054,1
    - Dst: read_ipco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3056,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3058,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3059,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3062,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3063,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3064,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3074,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3076,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3079,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3080,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3081,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3086,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3087,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3092,1
    - Dst: read_ipma
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3093,1
    - Dst: Mp4parseStatus::contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3094,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3100,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3100,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3110,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3122,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3125,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3127,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3135,1
    - Dst: Feature::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3138,1
    - Dst: Result::supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3149,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3152,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3163,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3188,1
    - Dst: colour_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3198,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3199,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3207,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3212,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3221,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3232,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3255,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3267,1
    - Dst: position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3267,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3269,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3277,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3289,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3296,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3302,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3305,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3314,1
    CyclomaticComplexity: 57
    EdgeCount: 57
    ICount: 241
    argCount: 4
    argNames:
    - src
    - brand
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - FourCC
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 3315
      start: 3046
    functionDepth: 9
    functionLinenumber: 3046
    functionLinenumberEnd: 3315
    functionName: read_iprp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::find
    - read_ipma
    - TryVec::<ItemPropertyAssociationEntry>::new
    - contains
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - fail_with_status_if
    - Err
    - Feature::try_from
    - read_ipco
    - TryVec::with_capacity
    - insert
    - check_parser_state
    - Some
    - iter
    - '&mut UnsupportedFeatures::insert'
    - Mp4parseStatus::push
    - TryHashMap::with_capacity
    - into
    - get
    - Mp4parseStatus::contains
    - TryVec::new
    - push
    - SampleToChunkIterator::next_box
    - Mp4parseStatus::iter
    - read_fullbox_extra
    - PropertyIndex
    - BoxType::from
    - colour_type
    - position
    - Result::supported
    - len
    linkageType: ''
    returnType: Result
    signature: 'fn read_iprp<T: Read>(src: &mut BMFFBox<T>,brand: FourCC,strictness:
      ParseStrictness,unsupported_features: &mut UnsupportedFeatures,) -> Result<ItemPropertiesBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 3355
      start: 3339
    functionDepth: 0
    functionLinenumber: 3339
    functionLinenumberEnd: 3355
    functionName: BoxType::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: Self
    signature: 'fn from(item_property: &ItemProperty) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ItemPropertiesBox::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3397,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3399,1
    - Dst: '&str::as_bytes'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3399,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 3408
      start: 3396
    functionDepth: 7
    functionLinenumber: 3396
    functionLinenumberEnd: 3408
    functionName: ItemPropertiesBox::is_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - ItemPropertiesBox::get
    - '&str::as_bytes'
    linkageType: ''
    returnType: bool
    signature: 'fn is_alpha(&self, item_id: ItemId) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ItemPropertiesBox::get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3411,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3412,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3411,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3415,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3416,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3416,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3420,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - item_id
    - property_type
    argTypes:
    - ItemId
    - BoxType
    constantsTouched: []
    func_position:
      end: 3423
      start: 3410
    functionDepth: 7
    functionLinenumber: 3410
    functionLinenumberEnd: 3423
    functionName: ItemPropertiesBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - as_slice
    - Some
    - Ok
    - BoxType::from
    - into
    - ItemPropertiesBox::get_multiple
    linkageType: ''
    returnType: Result
    signature: 'fn get(&self, item_id: ItemId, property_type: BoxType) -> Result<Option<&ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3430,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3434,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3436,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3443,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - item_id
    - filter
    argTypes:
    - ItemId
    - impl Fn(&ItemProperty) -> bool
    constantsTouched: []
    func_position:
      end: 3444
      start: 3425
    functionDepth: 6
    functionLinenumber: 3425
    functionLinenumberEnd: 3444
    functionName: ItemPropertiesBox::get_multiple
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - get
    - TryVec::new
    - Ok
    - Mp4parseStatus::push
    linkageType: ''
    returnType: Result
    signature: 'fn get_multiple(&self,item_id: ItemId,filter: impl Fn(&ItemProperty)
      -> bool,) -> Result<TryVec<&ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3474
      start: 3454
    functionDepth: 0
    functionLinenumber: 3454
    functionLinenumberEnd: 3474
    functionName: impl_bounded
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:8,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3498
      start: 3478
    functionDepth: 0
    functionLinenumber: 3478
    functionLinenumberEnd: 3498
    functionName: impl_bounded_product
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: impl_mul::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:14,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:14,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:15,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:15,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3541
      start: 3521
    functionDepth: 6
    functionLinenumber: 3521
    functionLinenumberEnd: 3541
    functionName: impl_mul
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - impl_mul::get
    - Self::Output::new
    - expect
    - into
    - get
    - checked_mul
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U32MulU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3552,1
    - Dst: U32MulU16::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3554,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3554,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3554,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - U32MulU16
    constantsTouched: []
    func_position:
      end: 3555
      start: 3550
    functionDepth: 6
    functionLinenumber: 3550
    functionLinenumberEnd: 3555
    functionName: U32MulU8::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - U32MulU16::get
    - U32MulU8::get
    - Self::Output::new
    - checked_add
    - expect
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, rhs: U32MulU16) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3575,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3575,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3580,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3580,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3584,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3591,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3592,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3595,1
    - Dst: std::num::NonZeroU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3595,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3597,1
    - Dst: Result::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3597,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 36
    argCount: 4
    argNames:
    - version
    - bytes_left
    - entry_count
    - num_association_bytes
    argTypes:
    - u8
    - u64
    - U32
    - std::num::NonZeroU8
    constantsTouched: []
    func_position:
      end: 3598
      start: 3568
    functionDepth: 6
    functionLinenumber: 3568
    functionLinenumberEnd: 3598
    functionName: calculate_ipma_total_associations
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseStatus::unwrap
    - Ok
    - Result::try_into
    - std::num::NonZeroU8::new
    - u64::checked_sub
    - std::num::NonZeroU8::get
    - into
    - get
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn calculate_ipma_total_associations(version: u8,bytes_left: u64,entry_count:
      U32,num_association_bytes: std::num::NonZeroU8,) -> Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3609,1
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3611,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3611,1
    - Dst: calculate_ipma_total_associations
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3613,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3615,1
    - Dst: U32::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3616,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3624,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3629,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3631,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3634,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3636,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3640,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3641,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3641,1
    - Dst: '&mut BMFFBox<T>::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3643,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3644,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3644,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3643,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3646,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3646,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3647,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: Mp4parseStatus::read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3649,1
    - Dst: Result::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3650,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3656,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3662,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3668,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3670,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3670,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3671,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3681,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 105
    argCount: 4
    argNames:
    - src
    - strictness
    - version
    - flags
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    - u8
    - u32
    constantsTouched: []
    func_position:
      end: 3682
      start: 3603
    functionDepth: 7
    functionLinenumber: 3603
    functionLinenumberEnd: 3682
    functionName: read_ipma
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ItemId::read
    - std::num::NonZeroU8::new
    - '&mut BMFFBox<T>::read_u8'
    - Mp4parseStatus::remaining
    - BitReader::new
    - U32::new
    - Mp4parseStatus::as_slice
    - TryVec::<ItemPropertyAssociationEntry>::with_capacity
    - Mp4parseStatus::unwrap
    - '&mut BMFFBox<T>::bytes_left'
    - '&mut BMFFBox<T>::take'
    - Ok
    - ItemId
    - be_u32
    - Mp4parseStatus::read_bool
    - fail_with_status_if
    - calculate_ipma_total_associations
    - TryVec::with_capacity
    - check_parser_state
    - Result::push
    - to_usize
    - into
    - get
    - push
    - PropertyIndex
    - read_into_try_vec
    - try_into
    - Mp4parseStatus::read_u16
    - last
    linkageType: ''
    returnType: Result
    signature: 'fn read_ipma<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,version:
      u8,flags: u32,) -> Result<TryVec<ItemPropertyAssociationEntry>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3691,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3693,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3694,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3695,1
    - Dst: ItemProperty::AuxiliaryType
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3697,1
    - Dst: read_auxc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3697,1
    - Dst: ItemProperty::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3698,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3698,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3700,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3700,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3701,1
    - Dst: ItemProperty::Colour
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3702,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3705,1
    - Dst: ItemProperty::Mirroring
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3709,1
    - Dst: read_imir
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3709,1
    - Dst: ItemProperty::Rotation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3710,1
    - Dst: read_irot
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3710,1
    - Dst: ItemProperty::ImageSpatialExtents
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3712,1
    - Dst: read_ispe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3712,1
    - Dst: ItemProperty::PixelAspectRatio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3714,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3714,1
    - Dst: ItemProperty::Channels
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3715,1
    - Dst: read_pixi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3715,1
    - Dst: ItemProperty::LayerSelection
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3716,1
    - Dst: read_lsel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3716,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3721,1
    - Dst: ItemProperty::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3728,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3735,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3737,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3738,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3738,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3741,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3744,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3747,1
    CyclomaticComplexity: 19
    EdgeCount: 19
    ICount: 86
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3748
      start: 3687
    functionDepth: 4
    functionLinenumber: 3687
    functionLinenumberEnd: 3748
    functionName: read_ipco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - ItemProperty::PixelAspectRatio
    - Error::from
    - read_pasp
    - read_imir
    - read_pixi
    - read_av1c
    - Ok
    - ok_or_else
    - ItemProperty::Channels
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - checked_add
    - read_colr
    - insert
    - check_parser_state
    - ItemProperty::Mirroring
    - read_irot
    - read_auxc
    - ItemProperty::Rotation
    - TryHashMap::with_capacity
    - read_lsel
    - ItemProperty::ImageSpatialExtents
    - into
    - to_be_bytes
    - ItemProperty::AuxiliaryType
    - SampleToChunkIterator::next_box
    - PropertyIndex
    - ItemProperty::Unsupported
    - read_ispe
    - ItemProperty::Colour
    - ItemProperty::AV1Config
    - ItemProperty::LayerSelection
    linkageType: ''
    returnType: Result
    signature: 'fn read_ipco<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<TryHashMap<PropertyIndex, ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3754,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3756
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3756
    functionName: read_lsel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u16
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_lsel<T: Read>(src: &mut BMFFBox<T>) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3769,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3770,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3770,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3773,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3774,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3776,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3780
      start: 3768
    functionDepth: 3
    functionLinenumber: 3768
    functionLinenumberEnd: 3780
    functionName: read_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - be_u32
    - Error::Unsupported
    - Err
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_ispe<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageSpatialExtentsProperty>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3794,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3795,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3797,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3801
      start: 3793
    functionDepth: 1
    functionLinenumber: 3793
    functionLinenumberEnd: 3801
    functionName: read_pasp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - be_u32
    linkageType: ''
    returnType: Result
    signature: 'fn read_pasp<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelAspectRatio>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1728,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1729,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1743,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1744,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1744,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1744,1
    - Dst: super::read_mdcv
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1749,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1756
      start: 1725
    functionDepth: 4
    functionLinenumber: 1725
    functionLinenumberEnd: 1756
    functionName: read_mdcv
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::read_mdcv
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_mdcv()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1760,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1760,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1760,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1761,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1762,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1762,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1762,1
    - Dst: super::read_clli
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1764,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1767
      start: 1759
    functionDepth: 4
    functionLinenumber: 1759
    functionLinenumberEnd: 1767
    functionName: read_clli
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - super::read_clli
    - make_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_clli()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3841,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3843,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3843,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3846,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3847,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3847,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3848,1
    - Dst: u8::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3850,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3851,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3854,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3855,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3856
      start: 3840
    functionDepth: 3
    functionLinenumber: 3840
    functionLinenumberEnd: 3856
    functionName: read_pixi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - u8::try_from
    - check_parser_state
    - Ok
    - '&mut BMFFBox<T>::read_u8'
    - to_usize
    - '&mut BMFFBox<T>::try_read_to_end'
    - into
    - Error::Unsupported
    - Err
    - read_fullbox_version_no_flags
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_pixi<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelInformation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3882,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3882,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3882,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 3885
      start: 3881
    functionDepth: 1
    functionLinenumber: 3881
    functionLinenumberEnd: 3885
    functionName: IccColourInformation::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - debug_struct
    - field
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3898,1
    - Dst: FourCC::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3899,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3901
      start: 3896
    functionDepth: 1
    functionLinenumber: 3896
    functionLinenumberEnd: 3901
    functionName: ColourInformation::colour_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - FourCC::clone
    - FourCC::from
    linkageType: ''
    returnType: FourCC
    signature: fn colour_type(&self) -> FourCC
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3920,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3920,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3921,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3921,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3922,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3922,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3923,1
    - Dst: Cursor::is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3926,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3928,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3931,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3932,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3933,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3933,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3939,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3941,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3942,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3950,1
    - Dst: ParsedColourInformation::Supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3950,1
    - Dst: ColourInformation::Nclx
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3950,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3959,1
    - Dst: ParsedColourInformation::Supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3959,1
    - Dst: ColourInformation::Icc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3959,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3961,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3963,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3966,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3968,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3969,1
    - Dst: ParsedColourInformation::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3969,1
    CyclomaticComplexity: 17
    EdgeCount: 17
    ICount: 75
    argCount: 3
    argNames:
    - src
    - colour_type
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '[u8; 4]'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3972
      start: 3912
    functionDepth: 5
    functionLinenumber: 3912
    functionLinenumberEnd: 3972
    functionName: read_colr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - skip_box_remain
    - Cursor::is_empty
    - Ok
    - Mp4parseStatus::remaining
    - ColourInformation::Icc
    - be_u16
    - Mp4parseStatus::read_bool
    - ColourInformation::Nclx
    - fail_with_status_if
    - try_into
    - BitReader::new
    - into
    - Mp4parseStatus::read_u8
    - ParsedColourInformation::Supported
    - ParsedColourInformation::Unsupported
    - FourCC::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_colr<T: Read>(src: &mut BMFFBox<T>,colour_type: [u8; 4],strictness:
      ParseStrictness,) -> Result<ParsedColourInformation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3993,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3994,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3995,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3996,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4004,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4006,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4007
      start: 3992
    functionDepth: 5
    functionLinenumber: 3992
    functionLinenumberEnd: 4007
    functionName: read_irot
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - check_parser_state
    - Ok
    - Result::read_u8
    - BitReader::new
    linkageType: ''
    returnType: Result
    signature: 'fn read_irot<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageRotation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4042,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4043,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4044,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4045,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4051,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4053,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4054
      start: 4041
    functionDepth: 5
    functionLinenumber: 4041
    functionLinenumberEnd: 4054
    functionName: read_imir
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - check_parser_state
    - Ok
    - Result::read_u8
    - BitReader::new
    linkageType: ''
    returnType: Result
    signature: 'fn read_imir<T: Read>(src: &mut BMFFBox<T>) -> Result<ImageMirror>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4066,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4068,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4068,1
    - Dst: TryString::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4071,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4072,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4075,1
    - Dst: SampleToChunkIterator::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4075,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4076,1
    - Dst: '&''a [u8]::split_at'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4076,1
    - Dst: Self::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4077,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4078,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4081,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4084,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4088
      start: 4065
    functionDepth: 8
    functionLinenumber: 4065
    functionLinenumberEnd: 4088
    functionName: read_auxc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::iter
    - Ok
    - '&''a [u8]::split_at'
    - SampleToChunkIterator::position
    - '&mut BMFFBox<T>::try_read_to_end'
    - TryString::new
    - try_into
    - Error::Unsupported
    - Err
    - Mp4parseStatus::as_slice
    - read_fullbox_version_no_flags
    - TryVec::new
    - Self::try_into
    linkageType: ''
    returnType: Result
    signature: 'fn read_auxc<T: Read>(src: &mut BMFFBox<T>) -> Result<AuxiliaryTypeProperty>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4093,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4093,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4095,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4096,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4098,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4098,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4099,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4099,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4100,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4100,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4103,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4103,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4103,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4105,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4111,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4112,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4115,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4115,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4118,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4119,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4120,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4131,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4132,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4136,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4141,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4143,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4143,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4147,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4147,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4148,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4151,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4159,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4162,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4162,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4178,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4178,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4179,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4179,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4179,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4183,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4183,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4185,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4195,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4203,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4203,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4204,1
    - Dst: remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4208,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4209,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4211,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 174
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4213
      start: 4092
    functionDepth: 5
    functionLinenumber: 4092
    functionLinenumberEnd: 4213
    functionName: read_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Error::from
    - read_u64
    - BitReader::new
    - as_bits
    - Error::Unsupported
    - read_u16
    - Ok
    - ok_or_else
    - ItemId
    - read_u32
    - checked_add
    - Err
    - remaining
    - TryVec::with_capacity
    - insert
    - Some
    - read_u8
    - to_usize
    - is_some
    - TryHashMap::with_capacity
    - into
    - push
    - try_into
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_iloc<T: Read>(src: &mut BMFFBox<T>) -> Result<TryHashMap<ItemId,
      ItemLocationBoxItem>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4221,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4222,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4240,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4245,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4245,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4250,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4250,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4253,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4255,1
    - Dst: '&MediaContext::is_some'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4256,1
    - Dst: '&MediaContext::ok_or'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4271,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4272
      start: 4216
    functionDepth: 4
    functionLinenumber: 4216
    functionLinenumberEnd: 4272
    functionName: read_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 20
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Some
    - '&MediaContext::is_some'
    - read_ftyp
    - skip_box_content
    - BoxIter::new
    - '&MediaContext::ok_or'
    - read_meta
    - read_moov
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_mp4<T: Read>(f: &mut T, strictness: ParseStrictness) ->
      Result<MediaContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4277,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4280,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4282,1
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4282,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4282,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4284
      start: 4276
    functionDepth: 1
    functionLinenumber: 4276
    functionLinenumberEnd: 4284
    functionName: parse_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - Ok
    - read_mvhd
    - MediaTimeScale
    - into
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn parse_mvhd<T: Read>(f: &mut BMFFBox<T>) -> Result<Option<MediaTimeScale>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&MediaContext::unwrap_or_default'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4304,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4306,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4307,1
    - Dst: parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4310,1
    - Dst: Track::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: read_trak
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4314,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4315,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4318,1
    - Dst: read_mvex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4318,1
    - Dst: read_pssh
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4322,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4324,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4327,1
    - Dst: read_udta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4327,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4332,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4335,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4337,1
    - Dst: HashSet::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4342,1
    - Dst: Mp4parseStatus::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4345,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4347,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4347,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4356,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 3
    argNames:
    - f
    - context
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - Option<MediaContext>
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4365
      start: 4291
    functionDepth: 4
    functionLinenumber: 4291
    functionLinenumberEnd: 4365
    functionName: read_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_mvex
    - skip_box_remain
    - HashSet::new
    - Error::from
    - Track::new
    - Ok
    - box_iter
    - read_trak
    - read_udta
    - read_pssh
    - Err
    - Mp4parseStatus::insert
    - '&MediaContext::unwrap_or_default'
    - check_parser_state
    - Some
    - push
    - SampleToChunkIterator::next_box
    - skip_box_content
    - len
    - parse_mvhd
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_moov<T: Read>(f: &mut BMFFBox<T>,context: Option<MediaContext>,strictness:
      ParseStrictness,) -> Result<MediaContext>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4368,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4369,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4371,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4373,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4375,1
    - Dst: TryVec::<ByteData>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4377,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4380,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4380,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4381,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4382,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4382,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4384,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4387,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4387,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4388,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4392,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4393,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4393,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4398,1
    - Dst: write_be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4399,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4399,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4400,1
    - Dst: Mp4parseStatus::append
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4401,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4403,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4409
      start: 4367
    functionDepth: 5
    functionLinenumber: 4367
    functionLinenumberEnd: 4409
    functionName: read_pssh
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Error::from
    - Mp4parseStatus::append
    - '&mut BMFFBox<T>::bytes_left'
    - write_be_u32
    - Ok
    - ok_or_else
    - read_buf
    - be_u32
    - Mp4parseStatus::reserve
    - TryVec::<ByteData>::new
    - to_usize
    - to_u64
    - Mp4parseStatus::push
    - into
    - TryVec::new
    - Mp4parseStatus::extend_from_slice
    - Cursor::new
    - read_fullbox_extra
    - try_into
    - checked_mul
    linkageType: ''
    returnType: Result
    signature: 'fn read_pssh<T: Read>(src: &mut BMFFBox<T>) -> Result<ProtectionSystemSpecificHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4414,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4416,1
    - Dst: read_mehd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4419,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4420,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4422,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4426
      start: 4413
    functionDepth: 4
    functionLinenumber: 4413
    functionLinenumberEnd: 4426
    functionName: read_mvex
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - Some
    - Ok
    - read_mehd
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_mvex<T: Read>(src: &mut BMFFBox<T>) -> Result<MovieExtendsBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4429,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4431,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4432,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4432,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4433,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4435,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4435,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4436
      start: 4428
    functionDepth: 2
    functionLinenumber: 4428
    functionLinenumberEnd: 4436
    functionName: read_mehd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - MediaScaledTime
    - Ok
    - read_fullbox_extra
    - be_u32
    - into
    - be_u64
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_mehd<T: Read>(src: &mut BMFFBox<T>) -> Result<MediaScaledTime>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4445,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4446,1
    - Dst: read_tkhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4449,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4450,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4451,1
    - Dst: Result::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4451,1
    - Dst: read_edts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4454,1
    - Dst: read_mdia
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4455,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4456,1
    - Dst: read_tref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4456,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4457,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4459,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4461,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4462
      start: 4440
    functionDepth: 4
    functionLinenumber: 4440
    functionLinenumberEnd: 4462
    functionName: read_trak
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Some
    - Ok
    - read_tkhd
    - box_iter
    - read_tref
    - read_edts
    - Result::clone
    - skip_box_content
    - read_mdia
    linkageType: ''
    returnType: Result
    signature: 'fn read_trak<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4465,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4466,1
    - Dst: read_elst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4469,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4470,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4471,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4478,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4485,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4485,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4491,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4491,1
    - Dst: std::cmp::max
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4492,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4495,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4500,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4502,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4504,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    constantsTouched: []
    func_position:
      end: 4505
      start: 4464
    functionDepth: 4
    functionLinenumber: 4464
    functionLinenumberEnd: 4505
    functionName: read_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - MediaScaledTime
    - check_parser_state
    - Some
    - Ok
    - box_iter
    - read_elst
    - TrackScaledTime::<u64>
    - std::cmp::max
    - skip_box_content
    - len
    - is_empty
    linkageType: ''
    returnType: Result
    signature: 'fn read_edts<T: Read>(f: &mut BMFFBox<T>, track: &mut Track) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4516,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4519,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4519,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4522,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4524,1
    - Dst: TrackTimeScale::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4524,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4524,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4525,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    constantsTouched: []
    func_position:
      end: 4526
      start: 4508
    functionDepth: 1
    functionLinenumber: 4508
    functionLinenumberEnd: 4526
    functionName: parse_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - TrackTimeScale::<u64>
    - read_mdhd
    - Ok
    - TrackScaledTime::<u64>
    - into
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn parse_mdhd<T: Read>(f: &mut BMFFBox<T>,track: &Track,) -> Result<(MediaHeaderBox,Option<TrackScaledTime<u64>>,Option<TrackTimeScale<u64>>,)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4533,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4534,1
    - Dst: parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4537,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4543,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4545,1
    - Dst: read_minf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4555,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4556,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4558,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4560,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4561
      start: 4528
    functionDepth: 4
    functionLinenumber: 4528
    functionLinenumberEnd: 4561
    functionName: read_mdia
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_minf
    - check_parser_state
    - Ok
    - box_iter
    - parse_mdhd
    - read_hdlr
    - skip_box_content
    - as_ref
    linkageType: ''
    returnType: Result
    signature: 'fn read_mdia<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4565,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4566,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4567,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4570,1
    - Dst: TrackReferenceEntry::Auxiliary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4570,1
    - Dst: read_tref_auxl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4570,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4572,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4574,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4576,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4577
      start: 4563
    functionDepth: 4
    functionLinenumber: 4563
    functionLinenumberEnd: 4577
    functionName: read_tref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Ok
    - box_iter
    - TryVec::with_capacity
    - skip_box_content
    - read_tref_auxl
    - TrackReferenceEntry::Auxiliary
    - push
    linkageType: ''
    returnType: Result
    signature: 'fn read_tref<T: Read>(f: &mut BMFFBox<T>) -> Result<TrackReferenceBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4580,1
    - Dst: std::mem::size_of::<u32>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4580,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4580,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4580,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4581,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4583,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4583,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4586,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4587
      start: 4579
    functionDepth: 2
    functionLinenumber: 4579
    functionLinenumberEnd: 4587
    functionName: read_tref_auxl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - bytes_left
    - std::mem::size_of::<u32>
    - to_u64
    - be_u32
    - try_into
    - push
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_tref_auxl<T: Read>(f: &mut BMFFBox<T>) -> Result<TrackReference>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4594,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4595,1
    - Dst: read_stbl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4597,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4598,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4600,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4602,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4603
      start: 4589
    functionDepth: 4
    functionLinenumber: 4589
    functionLinenumberEnd: 4603
    functionName: read_minf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Ok
    - read_stbl
    - box_iter
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_minf<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4610,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4611,1
    - Dst: read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4614,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4616,1
    - Dst: read_stts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4619,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4621,1
    - Dst: read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4624,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4626,1
    - Dst: read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4629,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4631,1
    - Dst: read_stco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4634,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4636,1
    - Dst: read_co64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4639,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4641,1
    - Dst: read_stss
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4644,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4646,1
    - Dst: read_ctts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4649,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4651,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4653,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4655,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4657,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4658
      start: 4605
    functionDepth: 4
    functionLinenumber: 4605
    functionLinenumberEnd: 4658
    functionName: read_stbl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - read_stsd
    - Some
    - read_stsc
    - Ok
    - box_iter
    - read_stsz
    - read_stts
    - read_stss
    - skip_box_content
    - read_stco
    - read_co64
    - read_ctts
    linkageType: ''
    returnType: Result
    signature: 'fn read_stbl<T: Read>(f: &mut BMFFBox<T>,track: &mut Track,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:186,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:186,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:187,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:192,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:193,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:196,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:196,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 185
    functionDepth: 4
    functionLinenumber: 185
    functionLinenumberEnd: 202
    functionName: read_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    - super::read_ftyp
    linkageType: ''
    returnType: void
    signature: fn read_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4685,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4689,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4693,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4697,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4699,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4701,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4705,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4711,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4714,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4715,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4719
      start: 4684
    functionDepth: 3
    functionLinenumber: 4684
    functionLinenumberEnd: 4719
    functionName: read_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - be_u32
    - skip
    - into
    - be_u64
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_mvhd<T: Read>(src: &mut BMFFBox<T>) -> Result<MovieHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4723,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4728,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4732,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4734,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4736,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4737,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4739,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4740,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4740,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4744,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4747,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4748,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4749,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4750,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4751,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4752,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4753,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4754,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4755,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4758,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4759,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4760,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4768
      start: 4722
    functionDepth: 2
    functionLinenumber: 4722
    functionLinenumberEnd: 4768
    functionName: read_tkhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - read_fullbox_extra
    - be_u32
    - skip
    - be_i32
    - into
    - be_u64
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_tkhd<T: Read>(src: &mut BMFFBox<T>) -> Result<TrackHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4773,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4774,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4775,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4775,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4780,1
    - Dst: be_i64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4780,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4786,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4788,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4789,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4790,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4799,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4801,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4805
      start: 4772
    functionDepth: 3
    functionLinenumber: 4772
    functionLinenumberEnd: 4805
    functionName: read_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - u64::from
    - Ok
    - read_fullbox_extra
    - to_usize
    - i64::from
    - be_u32
    - be_i32
    - into
    - push
    - be_i16
    - be_i64
    - be_u64
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_elst<T: Read>(src: &mut BMFFBox<T>) -> Result<EditListBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4809,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4813,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4816,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4816,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4820,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4823,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4828,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4832,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4837,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4841,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4843,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4847
      start: 4808
    functionDepth: 2
    functionLinenumber: 4808
    functionLinenumberEnd: 4847
    functionName: read_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - read_fullbox_extra
    - be_u32
    - skip
    - into
    - be_u64
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_mdhd<T: Read>(src: &mut BMFFBox<T>) -> Result<MediaHeaderBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4852,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4853,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4854,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4854,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4856,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4856,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4856,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4860,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4862,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4863
      start: 4851
    functionDepth: 3
    functionLinenumber: 4851
    functionLinenumberEnd: 4863
    functionName: read_stco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - push
    - into
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stco<T: Read>(src: &mut BMFFBox<T>) -> Result<ChunkOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4868,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4869,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4870,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4870,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4872,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4872,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4876,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4878,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4879
      start: 4867
    functionDepth: 3
    functionLinenumber: 4867
    functionLinenumberEnd: 4879
    functionName: read_co64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - push
    - be_u64
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_co64<T: Read>(src: &mut BMFFBox<T>) -> Result<ChunkOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4884,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4885,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4886,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4886,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4888,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4888,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4892,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4894,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4895
      start: 4883
    functionDepth: 3
    functionLinenumber: 4883
    functionLinenumberEnd: 4895
    functionName: read_stss
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - push
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stss<T: Read>(src: &mut BMFFBox<T>) -> Result<SyncSampleBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4900,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4901,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4902,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4902,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4904,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4905,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4906,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4907,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4915,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4917,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4918
      start: 4899
    functionDepth: 3
    functionLinenumber: 4899
    functionLinenumberEnd: 4918
    functionName: read_stsc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - push
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsc<T: Read>(src: &mut BMFFBox<T>) -> Result<SampleToChunkBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4926,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4928,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4930,1
    - Dst: is_none_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4930,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4932,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4932,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4934,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4937,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4937,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4944,1
    - Dst: TimeOffsetVersion::Version1
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4945,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4945,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4949,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4952,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4959,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4962,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4965,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4966
      start: 4922
    functionDepth: 2
    functionLinenumber: 4922
    functionLinenumberEnd: 4966
    functionName: read_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - check_parser_state
    - checked_mul
    - TimeOffsetVersion::Version1
    - read_fullbox_extra
    - skip_box_remain
    - Ok
    - to_usize
    - be_u32
    - TryVec::with_capacity
    - be_i32
    - into
    - push
    - is_none_or
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_ctts<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<CompositionOffsetBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4971,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4972,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4973,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4974,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4976,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4976,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4978,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4978,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4983,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4985,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4989
      start: 4970
    functionDepth: 5
    functionLinenumber: 4970
    functionLinenumberEnd: 4989
    functionName: read_stsz
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - Mp4parseStatus::reserve
    - Mp4parseStatus::push
    - TryVec::new
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsz<T: Read>(src: &mut BMFFBox<T>) -> Result<SampleSizeBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4994,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4995,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4996,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4996,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4998,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4999,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5000,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5007,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5009,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5010
      start: 4993
    functionDepth: 3
    functionLinenumber: 4993
    functionLinenumberEnd: 5010
    functionName: read_stts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - to_usize
    - be_u32
    - push
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stts<T: Read>(src: &mut BMFFBox<T>) -> Result<TimeToSampleBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5014,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5016,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5017,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5017,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5020,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5021,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5031,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5036,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5049,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5052,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5053,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5054,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5061,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5066,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5067,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5067,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5070,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5081
      start: 5013
    functionDepth: 2
    functionLinenumber: 5013
    functionLinenumberEnd: 5081
    functionName: read_vpcc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - contains
    - Some
    - read_fullbox_extra
    - read_buf
    - Ok
    - '&mut BMFFBox<T>::read_u8'
    - be_u16
    - into
    - Error::Unsupported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn read_vpcc<T: Read>(src: &mut BMFFBox<T>) -> Result<VPxConfigBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5087,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5088,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5089,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5091,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5091,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5094,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5094,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5096,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5099,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5110,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5118,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5131
      start: 5084
    functionDepth: 7
    functionLinenumber: 5084
    functionLinenumberEnd: 5131
    functionName: read_av1c
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - as_slice
    - Ok
    - read_u8
    - Error::Unsupported
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn read_av1c<T: Read>(src: &mut BMFFBox<T>) -> Result<AV1ConfigBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5134,1
    - Dst: be_u24
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5136,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5136,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5137,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5138,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5140,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5141,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5142
      start: 5133
    functionDepth: 2
    functionLinenumber: 5133
    functionLinenumberEnd: 5142
    functionName: read_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - Ok
    - read_buf
    - be_u24
    - '&mut BMFFBox<T>::read_u8'
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read_flac_metadata<T: Read>(src: &mut BMFFBox<T>) -> Result<FLACMetadataBlock>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5158,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5159,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5160,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5167,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5167,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5167,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5170,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5173,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5174,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5176,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5181,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5181,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5181,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5181,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5182,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5185,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5185,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5185,1
    - Dst: read_es_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5189,1
    - Dst: read_dc_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5192,1
    - Dst: read_ds_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5194,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5202,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5210,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5210,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5214,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5215
      start: 5145
    functionDepth: 5
    functionLinenumber: 5145
    functionLinenumberEnd: 5215
    functionName: find_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Cursor::new
    - '&[u8]::len'
    - Ok
    - read_ds_descriptor
    - to_usize
    - to_u64
    - read_es_descriptor
    - try_into
    - u32::from
    - Mp4parseStatus::read_u8
    - Mp4parseStatus::position
    - into
    - Err
    - read_dc_descriptor
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn find_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5218,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5222,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5225,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bit_reader
    argTypes:
    - '&mut BitReader'
    constantsTouched: []
    func_position:
      end: 5226
      start: 5217
    functionDepth: 2
    functionLinenumber: 5217
    functionLinenumberEnd: 5226
    functionName: get_audio_object_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - ReadInto::read
    linkageType: ''
    returnType: Result
    signature: 'fn get_audio_object_type(bit_reader: &mut BitReader) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5240,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5241,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5245,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5251,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5252,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5272,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5274,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5276,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5281,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5281,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5282,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5282,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5282,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5288,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5291,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5299,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5301,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5301,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5302,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5302,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5302,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5307,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5309,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5320,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5321,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5321,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5335,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5356,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5357,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5358,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5359,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5359,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5368,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5370,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5372,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5373,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5376,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5377,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5379,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5381,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5383,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5388,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5389,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5390,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5391,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5392,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5393,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5394,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5395,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5396,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5398,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5400,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5403,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5405,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5408,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5410,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5411,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5414,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5415,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5416,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5417,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5419,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5420,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5423,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5425,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5425,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 240
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5427
      start: 5229
    functionDepth: 8
    functionLinenumber: 5229
    functionLinenumberEnd: 5427
    functionName: read_ds_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::skip
    - Ok
    - Some
    - iter
    - Error::Unsupported
    - read_surround_channel_count
    - map
    - extend_from_slice
    - BitReader::new
    - fail_with_status_if
    - Err
    - ReadInto::read
    - find
    - is_empty
    - is_none
    - unwrap
    - get_audio_object_type
    linkageType: ''
    returnType: Result
    signature: 'fn read_ds_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5432,1
    - Dst: '&mut BitReader::skip'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5434,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5436,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bit_reader
    - channels
    argTypes:
    - '&mut BitReader'
    - u8
    constantsTouched: []
    func_position:
      end: 5437
      start: 5429
    functionDepth: 2
    functionLinenumber: 5429
    functionLinenumberEnd: 5437
    functionName: read_surround_channel_count
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BitReader::skip'
    - Ok
    - ReadInto::read
    linkageType: ''
    returnType: Result
    signature: 'fn read_surround_channel_count(bit_reader: &mut BitReader, channels:
      u8) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5445,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5446,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5457,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5459,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5459,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5459,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5460,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5461,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5461,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5461,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5469,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5484,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5485
      start: 5440
    functionDepth: 10
    functionLinenumber: 5440
    functionLinenumberEnd: 5485
    functionName: read_dc_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Cursor::new
    - Some
    - Ok
    - find_descriptor
    - to_u64
    - skip
    - try_into
    - Mp4parseStatus::read_u8
    - Self::len
    - Mp4parseStatus::position
    linkageType: ''
    returnType: Result
    signature: 'fn read_dc_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5493,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5495,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5497,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5502,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5508,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5508,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5509,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5512,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5512,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5512,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5513,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5514,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5514,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5514,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5520,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5521
      start: 5488
    functionDepth: 10
    functionLinenumber: 5488
    functionLinenumberEnd: 5521
    functionName: read_es_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Cursor::new
    - Ok
    - find_descriptor
    - to_u64
    - skip
    - try_into
    - Mp4parseStatus::read_u8
    - Self::len
    - Mp4parseStatus::position
    - u64::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_es_descriptor(data: &[u8],esds: &mut ES_Descriptor,strictness:
      ParseStrictness,) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1179,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1181,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1183,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1184,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1184,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1184,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1186,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1186,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1195
      start: 1171
    functionDepth: 7
    functionLinenumber: 1171
    functionLinenumberEnd: 1195
    functionName: read_esds
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:762,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:765,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:768,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:769,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:769,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:769,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:771,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:771,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 776
      start: 761
    functionDepth: 4
    functionLinenumber: 761
    functionLinenumberEnd: 776
    functionName: read_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - make_dfla
    - Result::unwrap
    - super::BoxIter::new
    - super::read_dfla
    - unwrap
    - flac_streaminfo
    linkageType: ''
    returnType: void
    signature: fn read_dfla()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:890,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:891,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:892,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:892,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:892,1
    - Dst: super::read_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:894,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 896
      start: 889
    functionDepth: 4
    functionLinenumber: 889
    functionLinenumberEnd: 896
    functionName: read_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - make_dops
    - super::read_dops
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_dops()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:909,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:910,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:910,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:926,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:929,1
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:932,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:933,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 942
      start: 899
    functionDepth: 1
    functionLinenumber: 899
    functionLinenumberEnd: 942
    functionName: serialize_opus_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - Some
    - into
    - Vec::<u8>::new
    - super::serialize_opus_header
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn serialize_opus_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:946,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:947,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:957,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:961,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:962,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:962,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:962,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:963,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 965
      start: 945
    functionDepth: 4
    functionLinenumber: 945
    functionLinenumberEnd: 965
    functionName: read_alac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - make_box
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_alac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:494,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:494,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:495,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:503,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:504,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:507,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:507,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 509
      start: 493
    functionDepth: 4
    functionLinenumber: 493
    functionLinenumberEnd: 509
    functionName: read_hdlr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_hdlr
    - B8
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5756,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5773,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5775,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5778,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5780,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5781,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5784,1
    - Dst: TryVec::<FourCC>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5790,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5793,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5794,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5795,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5801,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5803,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5805,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5805,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5810,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5813,1
    - Dst: VideoCodecSpecific::AVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5813,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5816,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5817,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5819,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5819,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5824,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5827,1
    - Dst: VideoCodecSpecific::H263Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5827,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5834,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5836,1
    - Dst: read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5838,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5839,1
    - Dst: VideoCodecSpecific::VPxConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5839,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5843,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5845,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5846,1
    - Dst: VideoCodecSpecific::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5846,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5849,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5850,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5854,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5857,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5857,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5862,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5863,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5863,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5869,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5871,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5871,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5876,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5878,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5880,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5886,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5888,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5890,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5890,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5895,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5897,1
    - Dst: VideoCodecSpecific::HEVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5897,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5900,1
    - Dst: is_valid_aspect_ratio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5904,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5905,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5915,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5915,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5915,1
    - Dst: Mp4parseStatus::contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5916,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5920,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5924,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5926,1
    - Dst: FourCC::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5926,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5927,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5929,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5931,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5934,1
    - Dst: read_mdcv
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5939,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5941,1
    - Dst: read_clli
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5944,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5946,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5950,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5953,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5956,1
    - Dst: None::map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5957,1
    - Dst: SampleEntry::Video
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5958,1
    CyclomaticComplexity: 54
    EdgeCount: 54
    ICount: 308
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5972
      start: 5752
    functionDepth: 8
    functionLinenumber: 5752
    functionLinenumberEnd: 5972
    functionName: read_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - skip_box_remain
    - '&mut BMFFBox<T>::get_header'
    - read_pasp
    - be_u16
    - VideoCodecSpecific::H263Config
    - read_sinf
    - FourCC::from
    - read_av1c
    - VideoCodecSpecific::HEVCConfig
    - Ok
    - read_buf
    - VideoCodecSpecific::VPxConfig
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - is_valid_aspect_ratio
    - fail_with_status_if
    - read_colr
    - read_vpcc
    - VideoCodecSpecific::AVCConfig
    - check_parser_state
    - Some
    - FourCC::clone
    - VideoCodecSpecific::AV1Config
    - is_some
    - Mp4parseStatus::push
    - read_clli
    - skip
    - SampleEntry::Video
    - into
    - to_be_bytes
    - Mp4parseStatus::contains
    - None::is_some
    - checked_sub
    - TryVec::new
    - TryVec::<FourCC>::new
    - read_mdcv
    - SampleToChunkIterator::next_box
    - read_fullbox_extra
    - VideoCodecSpecific::ESDSConfig
    - None::map_or
    - skip_box_content
    - expect
    - read_esds
    linkageType: ''
    returnType: Result
    signature: 'fn read_video_sample_entry<T: Read>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,) -> Result<SampleEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1102,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1103,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1102,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1113,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1114,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1113,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1117,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1117,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1117,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1117,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1118,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1128,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1119,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1129,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1132,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1133,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1133,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1133,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1134,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1134,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1142
      start: 1101
    functionDepth: 7
    functionLinenumber: 1101
    functionLinenumberEnd: 1142
    functionName: read_qt_wave_atom
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - Result::expect
    - make_box
    - B8
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_qt_wave_atom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5999,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6002,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6004,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6010,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6013,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6015,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6015,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6016,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6019,1
    - Dst: f64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6021,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6021,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6028,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6032,1
    - Dst: f64::from_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6033,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6033,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6034,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6035,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6038,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6038,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6045,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6046,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6052,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6052,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6052,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6057,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6057,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6057,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6061,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6062,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6063,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6070,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6072,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6074,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6074,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6078,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6080,1
    - Dst: read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6082,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6084,1
    - Dst: AudioCodecSpecific::FLACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6084,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6088,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6090,1
    - Dst: read_dops
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6092,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6094,1
    - Dst: AudioCodecSpecific::OpusSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6094,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6097,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6098,1
    - Dst: read_alac
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6100,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6102,1
    - Dst: AudioCodecSpecific::ALACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6102,1
    - Dst: read_qt_wave_atom
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6105,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6107,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6107,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6111,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6113,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6116,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6121,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6123,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6123,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6128,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6130,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6130,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6134,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6137,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6140,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6141,1
    - Dst: SampleEntry::Audio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6142,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 226
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 6153
      start: 5995
    functionDepth: 8
    functionLinenumber: 5995
    functionLinenumberEnd: 6153
    functionName: read_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - AudioCodecSpecific::ALACSpecificBox
    - '&mut BMFFBox<T>::get_header'
    - be_u16
    - Error::Unsupported
    - read_sinf
    - Ok
    - read_buf
    - Default::default
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - SampleEntry::Audio
    - Err
    - be_u64
    - check_parser_state
    - map_or
    - Some
    - read_dops
    - f64::from
    - read_qt_wave_atom
    - is_some
    - AudioCodecSpecific::ES_Descriptor
    - Mp4parseStatus::push
    - skip
    - read_alac
    - into
    - TryVec::new
    - checked_sub
    - AudioCodecSpecific::OpusSpecificBox
    - SampleToChunkIterator::next_box
    - f64::from_bits
    - read_dfla
    - AudioCodecSpecific::AMRSpecificBox
    - skip_box_content
    - expect
    - u32::from
    - AudioCodecSpecific::FLACSpecificBox
    - read_esds
    linkageType: ''
    returnType: Result
    signature: 'fn read_audio_sample_entry<T: Read>(src: &mut BMFFBox<T>,strictness:
      ParseStrictness,) -> Result<SampleEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6163,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6169,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6169,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6170,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6172,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6173,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6174,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6177,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6178,1
    - Dst: read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6179,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6180,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6180,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6181,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6181,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6189,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6190,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6193,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6195,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6196,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6203,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6205,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - src
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 6206
      start: 6158
    functionDepth: 9
    functionLinenumber: 6158
    functionLinenumberEnd: 6206
    functionName: read_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_audio_sample_entry
    - check_parser_state
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - bytes_left
    - to_usize
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - skip
    - read_video_sample_entry
    - Error::Unsupported
    - Err
    - len
    - push
    - TryVec::with_capacity
    linkageType: ''
    returnType: Result
    signature: 'fn read_stsd<T: Read>(src: &mut BMFFBox<T>,track: &Track,strictness:
      ParseStrictness,) -> Result<SampleDescriptionBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ProtectionSchemeInfoBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6209,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6211,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6212,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6215,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6215,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6218,1
    - Dst: read_schm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6218,1
    - Dst: read_schi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6222,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6224,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6226,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6229,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6230
      start: 6208
    functionDepth: 4
    functionLinenumber: 6208
    functionLinenumberEnd: 6230
    functionName: read_sinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Some
    - Ok
    - read_schi
    - read_schm
    - be_u32
    - '&mut BMFFBox<T>::box_iter'
    - ProtectionSchemeInfoBox::default
    - skip_box_content
    - FourCC::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_sinf<T: Read>(src: &mut BMFFBox<T>) -> Result<ProtectionSchemeInfoBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6234,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6235,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6238,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6239,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: read_tenc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6243,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6247,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6248
      start: 6232
    functionDepth: 4
    functionLinenumber: 6232
    functionLinenumberEnd: 6248
    functionName: read_schi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - Some
    - Ok
    - is_some
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    - read_tenc
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read_schi<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TrackEncryptionBox>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6251,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6254,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6258,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6262,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6265,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6265,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6268,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6269,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6270,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6274,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6275,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6280,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6288
      start: 6250
    functionDepth: 2
    functionLinenumber: 6250
    functionLinenumberEnd: 6288
    functionName: read_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - read_fullbox_extra
    - read_buf
    - Ok
    - '&mut BMFFBox<T>::read_u8'
    - skip
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read_tenc<T: Read>(src: &mut BMFFBox<T>) -> Result<TrackEncryptionBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6293,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6294,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6294,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6295,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6297,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6298,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6302
      start: 6290
    functionDepth: 3
    functionLinenumber: 6290
    functionLinenumberEnd: 6302
    functionName: read_schm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_remain
    - Ok
    - read_fullbox_extra
    - be_u32
    - FourCC::from
    linkageType: ''
    returnType: Result
    signature: 'fn read_schm<T: Read>(src: &mut BMFFBox<T>) -> Result<SchemeTypeBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6307,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6310,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6313,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6314,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6316,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6318,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6320,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6321
      start: 6306
    functionDepth: 4
    functionLinenumber: 6306
    functionLinenumberEnd: 6321
    functionName: read_udta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Some
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    - read_meta
    linkageType: ''
    returnType: Result
    signature: 'fn read_udta<T: Read>(src: &mut BMFFBox<T>) -> Result<UserdataBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6326,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6327,1
    - Dst: MetadataBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6328,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6329,1
    - Dst: read_ilst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6331,1
    - Dst: read_xml_
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6333,1
    - Dst: read_bxml
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6335,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6336,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6338,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6340,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6341
      start: 6325
    functionDepth: 4
    functionLinenumber: 6325
    functionLinenumberEnd: 6341
    functionName: read_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - SampleToChunkIterator::next_box
    - read_bxml
    - check_parser_state
    - Ok
    - read_fullbox_extra
    - read_ilst
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    - MetadataBox::default
    - read_xml_
    linkageType: ''
    returnType: Result
    signature: 'fn read_meta<T: Read>(src: &mut BMFFBox<T>) -> Result<MetadataBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6347,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6348,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6348,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6350,1
    - Dst: XmlBox::StringXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6350,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6350,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6351,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6352
      start: 6346
    functionDepth: 3
    functionLinenumber: 6346
    functionLinenumberEnd: 6352
    functionName: read_xml_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Some
    - Ok
    - XmlBox::StringXmlBox
    - Error::Unsupported
    - Err
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_xml_<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6358,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6359,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6359,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6361,1
    - Dst: XmlBox::BinaryXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6361,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6361,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6362,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6363
      start: 6357
    functionDepth: 3
    functionLinenumber: 6357
    functionLinenumberEnd: 6363
    functionName: read_bxml
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Some
    - XmlBox::BinaryXmlBox
    - Ok
    - Error::Unsupported
    - Err
    - read_fullbox_version_no_flags
    linkageType: ''
    returnType: Result
    signature: 'fn read_bxml<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6367,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6368,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6370,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6372,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6374,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6375,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6376,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6377,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6379,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6379,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6382,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6382,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    - Dst: Genre::StandardGenre
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6383,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6385,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6386,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6387,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6388,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6389,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6390,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6391,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6392,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6393,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6394,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6395,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6396,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6397,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6398,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6399,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6400,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6401,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6402,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6403,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6404,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6405,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6406,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6408,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6410,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6412,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6413,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6413,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6414,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6414,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6418,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6419,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6419,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6420,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6420,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6425,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6425,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6425,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6425,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6427,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6429,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6429,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6430,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6430,1
    - Dst: AdvisoryRating::Explicit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6433,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6438,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6438,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6439,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6439,1
    - Dst: MediaType::Unknown
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6448,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6452,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6454,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6454,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6454,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6454,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6458,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6458,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6458,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6458,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6460,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6461,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6461,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6462,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6464,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6466,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 314
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6467
      start: 6366
    functionDepth: 6
    functionLinenumber: 6366
    functionLinenumberEnd: 6467
    functionName: read_ilst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - and_then
    - Genre::StandardGenre
    - Ok
    - map
    - read_ilst_multiple_u8_data
    - '&mut BMFFBox<T>::box_iter'
    - AdvisoryRating::Explicit
    - read_ilst_u8_data
    - MediaType::Unknown
    - first
    - check_parser_state
    - read_ilst_string_data
    - Some
    - copied
    - read_ilst_bool_data
    - get
    - SampleToChunkIterator::next_box
    - Result::ok
    - skip_box_content
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst<T: Read>(src: &mut BMFFBox<T>, meta: &mut MetadataBox)
      -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6470,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6470,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6470,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6470,1
    - Dst: isize::first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6470,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6471
      start: 6469
    functionDepth: 1
    functionLinenumber: 6469
    functionLinenumberEnd: 6471
    functionName: read_ilst_bool_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - Ok
    - and_then
    - read_ilst_u8_data
    - isize::first
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_bool_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<bool>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6474,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6475
      start: 6473
    functionDepth: 1
    functionLinenumber: 6473
    functionLinenumberEnd: 6475
    functionName: read_ilst_string_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_ilst_u8_data
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_string_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TryString>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6479,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6479,1
    - Dst: pop
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6479,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6480
      start: 6477
    functionDepth: 1
    functionLinenumber: 6477
    functionLinenumberEnd: 6480
    functionName: read_ilst_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - pop
    - Ok
    - read_ilst_multiple_u8_data
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_u8_data<T: Read>(src: &mut BMFFBox<T>) -> Result<Option<TryVec<u8>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6483,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6484,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6485,1
    - Dst: Self::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6488,1
    - Dst: read_ilst_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6488,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6490,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6492,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6494,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6495
      start: 6482
    functionDepth: 5
    functionLinenumber: 6482
    functionLinenumberEnd: 6495
    functionName: read_ilst_multiple_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - SampleToChunkIterator::next_box
    - check_parser_state
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    - read_ilst_data
    - Self::push
    - TryVec::new
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_multiple_u8_data<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<TryVec<u8>>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6499,1
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6500,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6501,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6502
      start: 6497
    functionDepth: 1
    functionLinenumber: 6497
    functionLinenumberEnd: 6502
    functionName: read_ilst_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip
    - limit
    - read_buf
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_data<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::copy
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6506,1
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6506,1
    - Dst: std::io::sink
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6506,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6507,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - src
    - bytes
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6508
      start: 6505
    functionDepth: 0
    functionLinenumber: 6505
    functionLinenumberEnd: 6508
    functionName: skip
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 15
    functionsReached:
    - std::io::copy
    - '&mut T::take'
    - Ok
    - std::io::sink
    linkageType: ''
    returnType: Result
    signature: 'fn skip<T: Read>(src: &mut T, bytes: u64) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::copy
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6513,1
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6513,1
    - Dst: std::io::sink
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6513,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6515,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6517,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 2
    argNames:
    - src
    - bytes
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6518
      start: 6512
    functionDepth: 0
    functionLinenumber: 6512
    functionLinenumberEnd: 6518
    functionName: skip_exact
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - std::io::sink
    - '&mut T::take'
    - std::io::copy
    - Err
    linkageType: ''
    returnType: Result
    signature: 'fn skip_exact<T: Read>(src: &mut T, bytes: u64) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6522,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6522,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6523,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6523,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6524,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6527,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6528
      start: 6521
    functionDepth: 1
    functionLinenumber: 6521
    functionLinenumberEnd: 6528
    functionName: read_buf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 7
    functionsReached:
    - Ok
    - to_u64
    - read_into_try_vec
    - '&mut T::take'
    - Result::len
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read_buf<T: Read>(src: &mut T, size: u64) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i16::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6531,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6531,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6532
      start: 6530
    functionDepth: 0
    functionLinenumber: 6530
    functionLinenumberEnd: 6532
    functionName: be_i16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_i16::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_i16<T: ReadBytesExt>(src: &mut T) -> Result<i16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6535,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6535,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6536
      start: 6534
    functionDepth: 0
    functionLinenumber: 6534
    functionLinenumberEnd: 6536
    functionName: be_i32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - read_i32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_i32<T: ReadBytesExt>(src: &mut T) -> Result<i32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i64::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6539,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6539,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6540
      start: 6538
    functionDepth: 0
    functionLinenumber: 6538
    functionLinenumberEnd: 6540
    functionName: be_i64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - map_err
    - read_i64::<byteorder::BigEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn be_i64<T: ReadBytesExt>(src: &mut T) -> Result<i64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u16::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6543,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6544
      start: 6542
    functionDepth: 0
    functionLinenumber: 6542
    functionLinenumberEnd: 6544
    functionName: be_u16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 10
    functionsReached:
    - map_err
    - read_u16::<byteorder::BigEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn be_u16<T: ReadBytesExt>(src: &mut T) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u24::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6547,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6547,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6548
      start: 6546
    functionDepth: 0
    functionLinenumber: 6546
    functionLinenumberEnd: 6548
    functionName: be_u24
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_u24::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_u24<T: ReadBytesExt>(src: &mut T) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6551,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6552
      start: 6550
    functionDepth: 0
    functionLinenumber: 6550
    functionLinenumberEnd: 6552
    functionName: be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 28
    functionsReached:
    - map_err
    - read_u32::<byteorder::BigEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn be_u32<T: ReadBytesExt>(src: &mut T) -> Result<u32>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u64::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6555,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6555,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6556
      start: 6554
    functionDepth: 0
    functionLinenumber: 6554
    functionLinenumberEnd: 6556
    functionName: be_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 8
    functionsReached:
    - read_u64::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn be_u64<T: ReadBytesExt>(src: &mut T) -> Result<u64>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_u32::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6559,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6559,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - des
    - num
    argTypes:
    - '&mut T'
    - u32
    constantsTouched: []
    func_position:
      end: 6561
      start: 6558
    functionDepth: 0
    functionLinenumber: 6558
    functionLinenumberEnd: 6561
    functionName: write_be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - write_u32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn write_be_u32<T: WriteBytesExt>(des: &mut T, num: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6578,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6582
      start: 6577
    functionDepth: 0
    functionLinenumber: 6577
    functionLinenumberEnd: 6582
    functionName: media_data_box_tests::extent_with_length_before_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_before_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6586,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6590
      start: 6585
    functionDepth: 0
    functionLinenumber: 6585
    functionLinenumberEnd: 6590
    functionName: media_data_box_tests::extent_to_end_before_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_before_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6594,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6598
      start: 6593
    functionDepth: 0
    functionLinenumber: 6593
    functionLinenumberEnd: 6598
    functionName: media_data_box_tests::extent_with_length_crossing_front_mdat_boundary_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_crossing_front_mdat_boundary_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6602,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6609
      start: 6601
    functionDepth: 0
    functionLinenumber: 6601
    functionLinenumberEnd: 6609
    functionName: media_data_box_tests::extent_with_length_which_is_subset_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_is_subset_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6617
      start: 6612
    functionDepth: 0
    functionLinenumber: 6612
    functionLinenumberEnd: 6617
    functionName: media_data_box_tests::extent_to_end_which_is_subset_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_is_subset_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6621,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6628
      start: 6620
    functionDepth: 0
    functionLinenumber: 6620
    functionLinenumberEnd: 6628
    functionName: media_data_box_tests::extent_with_length_which_is_all_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_is_all_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6632,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6636
      start: 6631
    functionDepth: 0
    functionLinenumber: 6631
    functionLinenumberEnd: 6636
    functionName: media_data_box_tests::extent_to_end_which_is_all_of_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_is_all_of_mdat()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6640,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6647
      start: 6639
    functionDepth: 0
    functionLinenumber: 6639
    functionLinenumberEnd: 6647
    functionName: media_data_box_tests::extent_with_length_crossing_back_mdat_boundary_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_crossing_back_mdat_boundary_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6651,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6658
      start: 6650
    functionDepth: 0
    functionLinenumber: 6650
    functionLinenumberEnd: 6658
    functionName: media_data_box_tests::extent_with_length_after_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_after_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6662,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6666
      start: 6661
    functionDepth: 0
    functionLinenumber: 6661
    functionLinenumberEnd: 6666
    functionName: media_data_box_tests::extent_to_end_after_mdat_returns_none
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_after_mdat_returns_none()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6670,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6677
      start: 6669
    functionDepth: 0
    functionLinenumber: 6669
    functionLinenumberEnd: 6677
    functionName: media_data_box_tests::extent_with_length_which_overflows_usize
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_with_length_which_overflows_usize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6683,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6687
      start: 6682
    functionDepth: 0
    functionLinenumber: 6682
    functionLinenumberEnd: 6687
    functionName: media_data_box_tests::extent_to_end_which_overflows_usize
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - DataBox::at_offset
    linkageType: ''
    returnType: void
    signature: fn extent_to_end_which_overflows_usize()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: UnknownBox
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:13,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 45
      start: 16
    functionDepth: 0
    functionLinenumber: 16
    functionLinenumberEnd: 45
    functionName: box_database
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - UnknownBox
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:49,1
    - Dst: Self::fmt
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:50,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 51
      start: 48
    functionDepth: 1
    functionLinenumber: 48
    functionLinenumberEnd: 51
    functionName: BoxType::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - From::from
    - Self::fmt
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - v
    argTypes:
    - '[u8; 4]'
    constantsTouched: []
    func_position:
      end: 77
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 77
    functionName: FourCC::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: FourCC
    signature: 'fn from(v: [u8; 4]) -> FourCC'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    - Dst: std::str::from_utf8
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:91,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 92
      start: 90
    functionDepth: 0
    functionLinenumber: 90
    functionLinenumberEnd: 92
    functionName: FourCC::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - std::str::from_utf8
    - unwrap_or
    - write_str
    linkageType: ''
    returnType: fmt::Result
    signature: 'fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: eq
      Src: /src/mp4parse-rust/mp4parse/src/boxes.rs:97,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - other
    argTypes:
    - '&&[u8; 4]'
    constantsTouched: []
    func_position:
      end: 98
      start: 96
    functionDepth: 1
    functionLinenumber: 96
    functionLinenumberEnd: 98
    functionName: FourCC::eq
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/boxes.rs
    functionUses: 0
    functionsReached:
    - eq
    linkageType: ''
    returnType: bool
    signature: 'fn eq(&self, other: &&[u8; 4]) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Section::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:33,1
    - Dst: Label::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:34,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:36,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:37,1
    - Dst: Mp4parseStatus::B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:38,1
    - Dst: Mp4parseStatus::append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:40,1
    - Dst: Mp4parseStatus::B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:47,1
    - Dst: Mp4parseStatus::B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:49,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:52,1
    - Dst: Mp4parseStatus::set_const
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:63,1
    - Dst: Mp4parseStatus::size
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:63,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    - Dst: Mp4parseStatus::get_contents
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:68,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 42
    argCount: 3
    argNames:
    - size
    - name
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - F
    constantsTouched: []
    func_position:
      end: 69
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 69
    functionName: make_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 6
    functionsReached:
    - Mp4parseStatus::set_const
    - Cursor::new
    - Mp4parseStatus::get_contents
    - Mp4parseStatus::append_bytes
    - Mp4parseStatus::B64
    - Mp4parseStatus::B32
    - func
    - Mp4parseStatus::size
    - Label::new
    - unwrap
    - Section::new
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_box<F>(size: BoxSize, name: &[u8; 4], func: F) -> Cursor<Vec<u8>>whereF:
      Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:75,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:77,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:79,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - size
    - uuid
    - func
    argTypes:
    - BoxSize
    - '&[u8; 16]'
    - F
    constantsTouched: []
    func_position:
      end: 81
      start: 71
    functionDepth: 6
    functionLinenumber: 71
    functionLinenumberEnd: 81
    functionName: make_uuid_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - func
    - make_box
    - B8
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_uuid_box<F>(size: BoxSize, uuid: &[u8; 16], func: F) -> Cursor<Vec<u8>>whereF:
      Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - size
    - name
    - version
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - u8
    - F
    constantsTouched: []
    func_position:
      end: 89
      start: 84
    functionDepth: 6
    functionLinenumber: 84
    functionLinenumberEnd: 89
    functionName: make_fullbox
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - func
    - make_box
    - B8
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_fullbox<F>(size: BoxSize, name: &[u8; 4], version: u8, func:
      F) -> Cursor<Vec<u8>>whereF: Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:93,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:93,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:94,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:94,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 98
      start: 92
    functionDepth: 6
    functionLinenumber: 92
    functionLinenumberEnd: 98
    functionName: read_box_header_short
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - BoxSize::Short
    - make_box
    - super::read_box_header
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:102,1
    - Dst: BoxSize::Long
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:102,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:103,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 107
      start: 101
    functionDepth: 6
    functionLinenumber: 101
    functionLinenumberEnd: 107
    functionName: read_box_header_long
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Result::unwrap
    - make_box
    - super::read_box_header
    - BoxSize::Long
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:111,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:111,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:112,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 116
      start: 110
    functionDepth: 6
    functionLinenumber: 110
    functionLinenumberEnd: 116
    functionName: read_box_header_short_unknown_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - BoxSize::Short
    - make_box
    - super::read_box_header
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short_unknown_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:120,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:120,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 125
      start: 119
    functionDepth: 6
    functionLinenumber: 119
    functionLinenumberEnd: 125
    functionName: read_box_header_short_invalid_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_box
    - BoxSize::UncheckedShort
    - super::read_box_header
    linkageType: ''
    returnType: void
    signature: fn read_box_header_short_invalid_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:129,1
    - Dst: BoxSize::UncheckedLong
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:129,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 134
      start: 128
    functionDepth: 6
    functionLinenumber: 128
    functionLinenumberEnd: 134
    functionName: read_box_header_long_invalid_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - BoxSize::UncheckedLong
    - make_box
    - super::read_box_header
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long_invalid_size()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uuid_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:143,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:143,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:144,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 150
      start: 137
    functionDepth: 7
    functionLinenumber: 137
    functionLinenumberEnd: 150
    functionName: read_box_header_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - make_uuid_box
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uuid_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:159,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:159,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:160,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 153
    functionDepth: 7
    functionLinenumber: 153
    functionLinenumberEnd: 165
    functionName: read_box_header_truncated_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - make_uuid_box
    - BoxSize::UncheckedShort
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_box_header_truncated_uuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:175,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:176,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:177,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 182
      start: 168
    functionDepth: 5
    functionLinenumber: 168
    functionLinenumberEnd: 182
    functionName: read_box_header_uuid_past_eof
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::BoxIter::new
    - Cursor::new
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid_past_eof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:207,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:207,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:208,1
    - Dst: super::read_mp4
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:212,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 217
      start: 205
    functionDepth: 16
    functionLinenumber: 205
    functionLinenumberEnd: 217
    functionName: read_truncated_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - BoxSize::UncheckedShort
    - append_bytes
    - super::read_mp4
    - make_box
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_truncated_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:227,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:228,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:233,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:234,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:237,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:237,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 243
      start: 220
    functionDepth: 6
    functionLinenumber: 220
    functionLinenumberEnd: 243
    functionName: read_ftyp_case
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    - super::read_ftyp
    linkageType: ''
    returnType: void
    signature: fn read_ftyp_case()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:247,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:247,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:248,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:255,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:256,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:259,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 265
      start: 246
    functionDepth: 7
    functionLinenumber: 246
    functionLinenumberEnd: 265
    functionName: read_elst_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::read_elst
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_elst_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:269,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:269,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:270,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:282,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:283,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:286,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 292
      start: 268
    functionDepth: 7
    functionLinenumber: 268
    functionLinenumberEnd: 292
    functionName: read_elst_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::read_elst
    - B64
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_elst_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:296,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:296,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:297,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:303,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:304,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:307,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 310
      start: 295
    functionDepth: 7
    functionLinenumber: 295
    functionLinenumberEnd: 310
    functionName: read_mdhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::read_mdhd
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:314,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:314,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:315,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:321,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:322,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:325,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:325,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 328
      start: 313
    functionDepth: 7
    functionLinenumber: 313
    functionLinenumberEnd: 328
    functionName: read_mdhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::read_mdhd
    - B64
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:332,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:332,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:333,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:339,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:340,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:343,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:343,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 346
      start: 331
    functionDepth: 7
    functionLinenumber: 331
    functionLinenumberEnd: 346
    functionName: read_mdhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::read_mdhd
    - Result::unwrap
    - super::BoxIter::new
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:350,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:350,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:351,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:357,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:358,1
    - Dst: super::parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:361,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:361,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 7
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: read_mdhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - super::parse_mdhd
    - B64
    - Result::unwrap
    - super::BoxIter::new
    - super::Track::new
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:367,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:367,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:368,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:371,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:374,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:374,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 377
      start: 366
    functionDepth: 7
    functionLinenumber: 366
    functionLinenumberEnd: 377
    functionName: read_mvhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - super::read_mvhd
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:381,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:381,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:382,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:385,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:388,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:388,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 391
      start: 380
    functionDepth: 7
    functionLinenumber: 380
    functionLinenumberEnd: 391
    functionName: read_mvhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - append_repeated
    - B64
    - Result::unwrap
    - super::BoxIter::new
    - super::read_mvhd
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:395,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:395,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:396,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:399,1
    - Dst: super::parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 404
      start: 394
    functionDepth: 7
    functionLinenumber: 394
    functionLinenumberEnd: 404
    functionName: read_mvhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - append_repeated
    - B64
    - Result::unwrap
    - super::BoxIter::new
    - super::parse_mvhd
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:408,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:408,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:409,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:415,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:416,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:419,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:419,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 422
      start: 407
    functionDepth: 7
    functionLinenumber: 407
    functionLinenumberEnd: 422
    functionName: read_mvhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - super::read_mvhd
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:426,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:426,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:427,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:434,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:435,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:438,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:438,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 441
      start: 425
    functionDepth: 7
    functionLinenumber: 425
    functionLinenumberEnd: 441
    functionName: read_mvhd_v0_trailing_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - super::read_mvhd
    - B16
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v0_trailing_data()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:446,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:447,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:454,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:455,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 459
      start: 444
    functionDepth: 7
    functionLinenumber: 444
    functionLinenumberEnd: 459
    functionName: read_vpcc_version_0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::read_vpcc
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - B8
    - unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:466,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:467,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:477,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:478,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:480,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 490
      start: 464
    functionDepth: 7
    functionLinenumber: 464
    functionLinenumberEnd: 490
    functionName: read_vpcc_version_1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::read_vpcc
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - B8
    - unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:513,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:513,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:514,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:522,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 530
      start: 512
    functionDepth: 7
    functionLinenumber: 512
    functionLinenumberEnd: 530
    functionName: read_hdlr_multiple_nul_in_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - B8
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_multiple_nul_in_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:534,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:534,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:535,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:538,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:541,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 543
      start: 533
    functionDepth: 7
    functionLinenumber: 533
    functionLinenumberEnd: 543
    functionName: read_hdlr_short_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_hdlr
    - B8
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_short_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:547,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:547,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:548,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 558
      start: 546
    functionDepth: 7
    functionLinenumber: 546
    functionLinenumberEnd: 558
    functionName: read_hdlr_unsupported_version
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_unsupported_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:562,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:562,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:563,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:566,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 573
      start: 561
    functionDepth: 7
    functionLinenumber: 561
    functionLinenumberEnd: 573
    functionName: read_hdlr_invalid_pre_defined_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_invalid_pre_defined_field()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:577,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:577,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:578,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:581,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 588
      start: 576
    functionDepth: 7
    functionLinenumber: 576
    functionLinenumberEnd: 588
    functionName: read_hdlr_invalid_reserved_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_invalid_reserved_field()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:592,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:592,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:593,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:596,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 603
      start: 591
    functionDepth: 7
    functionLinenumber: 591
    functionLinenumberEnd: 603
    functionName: read_hdlr_zero_length_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_zero_length_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:607,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:607,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:608,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:611,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:614,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:614,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 616
      start: 606
    functionDepth: 7
    functionLinenumber: 606
    functionLinenumberEnd: 616
    functionName: read_hdlr_zero_length_name_permissive
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - BoxSize::Short
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_hdlr
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_zero_length_name_permissive()
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 0
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 624
      start: 618
    functionDepth: 0
    functionLinenumber: 618
    functionLinenumberEnd: 624
    functionName: flac_streaminfo
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: fn flac_streaminfo() -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 1
    argNames:
    - sample_rate
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 633
      start: 626
    functionDepth: 1
    functionLinenumber: 626
    functionLinenumberEnd: 633
    functionName: flac_streaminfo_with_sample_rate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - flac_streaminfo
    linkageType: ''
    returnType: Vec
    signature: 'fn flac_streaminfo_with_sample_rate(sample_rate: u32) -> Vec<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:637,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:638,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:648,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:651,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:648,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:657,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:658,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:658,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:658,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:659,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 661
      start: 636
    functionDepth: 9
    functionLinenumber: 636
    functionLinenumberEnd: 661
    functionName: read_flac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - make_dfla
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - flac_streaminfo
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_flac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:665,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:666,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:676,1
    - Dst: flac_streaminfo_with_sample_rate
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:679,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:676,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:685,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:686,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:686,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:686,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:688,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:688,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 700
      start: 664
    functionDepth: 9
    functionLinenumber: 664
    functionLinenumberEnd: 700
    functionName: read_high_rate_flac_preserves_sample_entry_rate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - make_dfla
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - flac_streaminfo_with_sample_rate
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_high_rate_flac_preserves_sample_entry_rate()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:727,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:728,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:737,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 4
    argNames:
    - block_type
    - last
    - data
    - data_length
    argTypes:
    - FlacBlockType
    - bool
    - '&[u8]'
    - FlacBlockLength
    constantsTouched: []
    func_position:
      end: 740
      start: 720
    functionDepth: 7
    functionLinenumber: 720
    functionLinenumberEnd: 740
    functionName: make_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - append_bytes
    - u32::from
    - Self::len
    - B32
    - make_fullbox
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_dfla(block_type: FlacBlockType,last: bool,data: &[u8],data_length:
      FlacBlockLength,) -> Cursor<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:743,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:744,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:744,1
    - Dst: Vec::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:744,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:744,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:745,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:744,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 1
    argNames:
    - trailing
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 748
      start: 742
    functionDepth: 7
    functionLinenumber: 742
    functionLinenumberEnd: 748
    functionName: make_dfla_with_trailing_bytes
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Vec::len
    - append_bytes
    - B32
    - flac_streaminfo
    - make_fullbox
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_dfla_with_trailing_bytes(trailing: &[u8]) -> Cursor<Vec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:754,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:755,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:755,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:757,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - stream
    - strictness
    argTypes:
    - Cursor<Vec<u8>>
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 758
      start: 750
    functionDepth: 8
    functionLinenumber: 750
    functionLinenumberEnd: 758
    functionName: read_test_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::BoxIter::new
    - super::read_dfla
    - unwrap
    linkageType: ''
    returnType: super::Result
    signature: 'fn read_test_dfla(mut stream: Cursor<Vec<u8>>,strictness: ParseStrictness,)
      -> super::Result<super::FLACSpecificBox>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:780,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:786,1
    - Dst: FlacBlockLength::Incorrect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:790,1
    - Dst: Vec::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 797
      start: 779
    functionDepth: 8
    functionLinenumber: 779
    functionLinenumberEnd: 797
    functionName: long_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_dfla
    - FlacBlockLength::Incorrect
    - Vec::len
    - flac_streaminfo
    linkageType: ''
    returnType: void
    signature: fn long_flac_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_test_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:805,1
    - Dst: make_dfla_with_trailing_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:805,1
    - Dst: super::Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:805,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 817
      start: 800
    functionDepth: 9
    functionLinenumber: 800
    functionLinenumberEnd: 817
    functionName: oversized_trailing_flac_metadata_respects_strictness
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::Result::unwrap
    - make_dfla_with_trailing_bytes
    - read_test_dfla
    linkageType: ''
    returnType: void
    signature: fn oversized_trailing_flac_metadata_respects_strictness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_test_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    - Dst: make_dfla_with_trailing_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    - Dst: super::Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:825,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 837
      start: 820
    functionDepth: 9
    functionLinenumber: 820
    functionLinenumberEnd: 837
    functionName: short_trailing_flac_metadata_header_respects_strictness
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::Result::unwrap
    - make_dfla_with_trailing_bytes
    - read_test_dfla
    linkageType: ''
    returnType: void
    signature: fn short_trailing_flac_metadata_header_respects_strictness()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dfla_with_trailing_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:850,1
    - Dst: u32::from_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:851,1
    - Dst: Cursor::get_ref
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:851,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:851,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:851,1
    - Dst: Cursor::get_mut
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    - Dst: copy_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 855
      start: 840
    functionDepth: 8
    functionLinenumber: 840
    functionLinenumberEnd: 855
    functionName: physically_truncated_trailing_flac_metadata_is_rejected
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Cursor::get_ref
    - Cursor::get_mut
    - copy_from_slice
    - u32::from_be_bytes
    - try_into
    - to_be_bytes
    - unwrap
    - make_dfla_with_trailing_bytes
    linkageType: ''
    returnType: void
    signature: fn physically_truncated_trailing_flac_metadata_is_rejected()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:859,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:860,1
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:869,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:869,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:871,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:872,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:872,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:872,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:873,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 875
      start: 858
    functionDepth: 9
    functionLinenumber: 858
    functionLinenumberEnd: 875
    functionName: read_opus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - make_dops
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_opus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:878,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:879,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 886
      start: 877
    functionDepth: 6
    functionLinenumber: 877
    functionLinenumberEnd: 886
    functionName: make_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - make_box
    - B8
    - B32
    - B16
    linkageType: ''
    returnType: Cursor
    signature: fn make_dops() -> Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:969,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:970,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:983,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:984,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:984,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:984,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:985,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 990
      start: 968
    functionDepth: 9
    functionLinenumber: 968
    functionLinenumberEnd: 990
    functionName: esds_limit
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn esds_limit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:994,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:994,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:994,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:994,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:995,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:996,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:996,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:996,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:997,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1001
      start: 993
    functionDepth: 13
    functionLinenumber: 993
    functionLinenumberEnd: 1001
    functionName: read_elst_zero_entries
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - super::read_elst
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn read_elst_zero_entries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1004,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1005,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1005,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1005,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1005,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1005,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 1003
    functionDepth: 7
    functionLinenumber: 1003
    functionLinenumberEnd: 1012
    functionName: make_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - B16
    - B32
    - B64
    - make_fullbox
    linkageType: ''
    returnType: Cursor
    signature: fn make_elst() -> Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1019,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1020,1
    - Dst: make_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1020,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1020,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1022,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1023,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1023,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1023,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1024,1
    - Dst: super::read_edts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1025,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1032
      start: 1015
    functionDepth: 14
    functionLinenumber: 1015
    functionLinenumberEnd: 1032
    functionName: read_edts_bogus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - super::read_edts
    - append_bytes
    - super::Track::new
    - make_elst
    - make_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_edts_bogus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1041,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1042,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1044,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1045,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1045,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1045,1
    - Dst: super::read_stts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1048,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1048,1
    - Dst: super::read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1051,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1051,1
    - Dst: super::read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: super::read_stco
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1057,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1057,1
    - Dst: super::read_co64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1060,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1060,1
    - Dst: super::read_stss
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1063,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1063,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1068
      start: 1035
    functionDepth: 13
    functionLinenumber: 1035
    functionLinenumberEnd: 1068
    functionName: skip_padding_in_boxes
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - super::read_stss
    - super::read_stsz
    - Result::unwrap
    - super::BoxIter::new
    - super::read_stco
    - super::read_co64
    - super::read_stsc
    - Result::expect
    - super::read_stts
    - unwrap
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_boxes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1074,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1075,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1074,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1088,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1089,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1089,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1090,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1089,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1094,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1095,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1095,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1095,1
    - Dst: super::read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1096,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1096,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1096,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1098
      start: 1071
    functionDepth: 11
    functionLinenumber: 1071
    functionLinenumberEnd: 1098
    functionName: skip_padding_in_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - append_repeated
    - super::read_stsd
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::Track::new
    - B16
    - Result::expect
    - make_box
    - unwrap
    - B32
    - make_fullbox
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1152,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1153,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1153,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1154,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1156,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1157,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1157,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1157,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1159,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1159,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1168
      start: 1145
    functionDepth: 7
    functionLinenumber: 1145
    functionLinenumberEnd: 1168
    functionName: read_descriptor_80
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_descriptor_80()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1208,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1209,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1209,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1210,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1213,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1213,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1213,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1215,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1215,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1198
    functionDepth: 7
    functionLinenumber: 1198
    functionLinenumberEnd: 1224
    functionName: read_esds_aac_type5
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_aac_type5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1239,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1241,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1242,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1242,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1242,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1244,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1244,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1227
    functionDepth: 7
    functionLinenumber: 1227
    functionLinenumberEnd: 1253
    functionName: read_esds_mpeg2_aac_lc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_mpeg2_aac_lc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1287,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1288,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1288,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1289,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1291,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1294,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1303
      start: 1256
    functionDepth: 7
    functionLinenumber: 1256
    functionLinenumberEnd: 1303
    functionName: read_esds_truncated_dsi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_truncated_dsi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1330,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1331,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1331,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1332,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1334,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1335,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1335,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1335,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1337,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1337,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1347
      start: 1306
    functionDepth: 7
    functionLinenumber: 1306
    functionLinenumberEnd: 1347
    functionName: read_esds_duplicate_dsi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_duplicate_dsi()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1359,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1360,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1360,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1361,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1363,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1364,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1364,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1364,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1366,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1373
      start: 1350
    functionDepth: 7
    functionLinenumber: 1350
    functionLinenumberEnd: 1373
    functionName: read_esds_duplicate_dsi_strict
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_duplicate_dsi_strict()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1395,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1396,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1396,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1397,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1399,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1400,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1400,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1400,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1402,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1402,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1411
      start: 1376
    functionDepth: 7
    functionLinenumber: 1376
    functionLinenumberEnd: 1411
    functionName: read_esds_duplicate_dsi_disagreeing
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_duplicate_dsi_disagreeing()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1435,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1436,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1436,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1437,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1439,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1440,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1440,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1440,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1442,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1414
    functionDepth: 7
    functionLinenumber: 1414
    functionLinenumberEnd: 1452
    functionName: read_esds_truncated_dsi_pce
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_truncated_dsi_pce()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1475,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1475,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1475,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1476,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1477,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1477,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1477,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1480,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1480,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1496
      start: 1455
    functionDepth: 11
    functionLinenumber: 1455
    functionLinenumberEnd: 1496
    functionName: read_stsd_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_video_sample_entry
    - make_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_stsd_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1506,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1507,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1507,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1508,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1510,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1511,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1511,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1511,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1513,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1520
      start: 1499
    functionDepth: 7
    functionLinenumber: 1499
    functionLinenumberEnd: 1520
    functionName: read_esds_one_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_one_byte_extension_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1524,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1525,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1525,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1525,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1525,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1530,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1531,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1531,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1531,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1533,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1537
      start: 1523
    functionDepth: 8
    functionLinenumber: 1523
    functionLinenumberEnd: 1537
    functionName: read_esds_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_byte_extension_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1541,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1542,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1552,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1553,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1553,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1553,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1554,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1554,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1562
      start: 1540
    functionDepth: 9
    functionLinenumber: 1540
    functionLinenumberEnd: 1562
    functionName: read_f4v_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - super::BoxIter::new
    - super::read_audio_sample_entry
    - B16
    - Result::expect
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_f4v_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1566,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1566,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1566,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1567,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1568,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1576,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1578,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1579,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1579,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1579,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1580,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1565
    functionDepth: 11
    functionLinenumber: 1565
    functionLinenumberEnd: 1584
    functionName: unknown_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_video_sample_entry
    - B16
    - make_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn unknown_video_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1588,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1588,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1588,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1589,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1590,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1599,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1601,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1602,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1602,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1602,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1603,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1587
    functionDepth: 7
    functionLinenumber: 1587
    functionLinenumberEnd: 1607
    functionName: unknown_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - append_repeated
    - Result::unwrap
    - Cursor::into_inner
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - B16
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn unknown_audio_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1618,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1619,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1619,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1620,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1622,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1623,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1623,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1623,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1625,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1610
    functionDepth: 7
    functionLinenumber: 1610
    functionLinenumberEnd: 1629
    functionName: read_esds_invalid_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_invalid_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1638,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1639,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1639,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1640,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1642,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1643,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1643,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1643,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1645,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1649
      start: 1632
    functionDepth: 7
    functionLinenumber: 1632
    functionLinenumberEnd: 1649
    functionName: read_esds_redundant_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_redundant_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1662,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1663,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1663,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1664,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1666,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1667,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1667,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1667,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1669,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1673
      start: 1652
    functionDepth: 7
    functionLinenumber: 1652
    functionLinenumberEnd: 1673
    functionName: read_esds_multiple_descriptors
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - super::read_esds
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - make_box
    - unwrap
    - B32
    linkageType: ''
    returnType: void
    signature: fn read_esds_multiple_descriptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1688,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1688,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1688,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1689,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1690,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1690,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1690,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1693,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1693,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1676
    functionDepth: 7
    functionLinenumber: 1676
    functionLinenumberEnd: 1708
    functionName: read_stsd_lpcm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - append_bytes
    - super::read_audio_sample_entry
    - make_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_stsd_lpcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::take'
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1712,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1713,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1713,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1716
      start: 1711
    functionDepth: 0
    functionLinenumber: 1711
    functionLinenumberEnd: 1716
    functionName: read_to_end_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - '&str::take'
    - unwrap
    - read_into_try_vec
    linkageType: ''
    returnType: void
    signature: fn read_to_end_()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::take'
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1720,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1720,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1720,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1719
    functionDepth: 0
    functionLinenumber: 1719
    functionLinenumberEnd: 1722
    functionName: read_to_end_oom
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - '&str::take'
    - try_into
    - expect
    linkageType: ''
    returnType: void
    signature: fn read_to_end_oom()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1771,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1772,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1772,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1772,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1772,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1772,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1774,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1775,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1775,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1775,1
    - Dst: super::be_u32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1777,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1777,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1777,1
    - Dst: super::read_colr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1778,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1778,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1787
      start: 1770
    functionDepth: 13
    functionLinenumber: 1770
    functionLinenumberEnd: 1787
    functionName: read_colr_nclx
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - super::be_u32
    - append_bytes
    - super::read_colr
    - B16
    - to_be_bytes
    - make_box
    - B8
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_colr_nclx()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1795,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1796,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1796,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1796,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1796,1
    - Dst: make_stream
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1801,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1802,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1803,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1803,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1803,1
    - Dst: super::be_u32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1804,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1804,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1804,1
    - Dst: super::read_colr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1805,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1805,1
    - Dst: make_stream
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1818,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1819,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1820,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1820,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1820,1
    - Dst: super::be_u32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1821,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1821,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1821,1
    - Dst: super::read_colr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1822,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1827
      start: 1790
    functionDepth: 13
    functionLinenumber: 1790
    functionLinenumberEnd: 1827
    functionName: read_colr_nclx_missing_full_range_flag
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::BoxIter::new
    - super::be_u32
    - append_bytes
    - super::read_colr
    - Result::expect
    - B16
    - to_be_bytes
    - make_box
    - unwrap
    - make_stream
    linkageType: ''
    returnType: void
    signature: fn read_colr_nclx_missing_full_range_flag()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: bench_function
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:9,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:9,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - '&mut Criterion'
    constantsTouched: []
    func_position:
      end: 10
      start: 8
    functionDepth: 8
    functionLinenumber: 8
    functionLinenumberEnd: 10
    functionName: criterion_benchmark
    functionSourceFile: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
    functionUses: 0
    functionsReached:
    - iter
    - bench_function
    linkageType: ''
    returnType: void
    signature: 'fn criterion_benchmark(c: &mut Criterion)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:16,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs:16,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 21
      start: 15
    functionDepth: 0
    functionLinenumber: 15
    functionLinenumberEnd: 21
    functionName: avif_largest
    functionSourceFile: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
    functionUses: 0
    functionsReached:
    - expect
    - File::open
    linkageType: ''
    returnType: void
    signature: fn avif_largest()
Fuzzer filename: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
Fuzzing method: fuzz_target
report: name
sources:
- function_names:
  - buf_read
  - test_xhe_aac_codec_detection
  - test_xhe_aac_vs_regular_aac
  - test_xhe_aac_codec_not_unknown
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
- function_names:
  - buf_read
  - test_afconvert_aac_duration
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs
- function_names:
  - buf_read
  - open_parser
  - video_colr_nclx_hdr10
  - video_colr_nclx_hdr10_full_range
  - video_colr_nclx_hlg
  - video_colr_nclx_hlg_full_range
  - video_colr_nclx_rgb_identity_matrix
  - video_colr_nclx_two_colr
  - video_no_colr_box
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_colour_info.rs
- function_names:
  - buf_read
  - parse_rotation
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs
- function_names:
  - buf_read
  - parse_fragment
  - parse_opus_fragment
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
- function_names:
  - buf_read
  - parse_out_of_chunk_range
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_chunk_out_of_range.rs
- function_names:
  - buf_read
  - parse_invalid_stsc_table
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs
- function_names:
  - buf_read
  - parse_sample_table
  - repeated_get_indice_table_returns_stable_pointer
  - parse_sample_table_with_elst
  - parse_sample_table_with_negative_ctts
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
- function_names:
  - buf_read
  - parse_cenc
  - repeated_get_pssh_info_returns_stable_pointer
  - parse_cbcs
  - parse_unencrypted
  - parse_encrypted_av1
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
- function_names:
  - buf_read
  - default_avif_info
  - default_avif_image
  - parse_file
  - parse_file_and_get_info
  - assert_slice_pointer_is_readable
  - check_loop_count
  - check_timescale
  - loop_once
  - loop_twice
  - loop_four_times_due_to_ceiling
  - loop_forever
  - no_edts
  - check_timescales
  - repeated_get_info_returns_stable_pointers
  - repeated_get_image_returns_stable_pointers
  - repeated_get_indice_table_returns_stable_pointer
  - empty_avif_byte_slices_use_null_pointers
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
- function_names:
  - Mp4parseByteData::with_data
  - Mp4parseByteData::default
  - Mp4parseByteData::set_data
  - Mp4parseByteData::set_indices
  - Mp4parseTrackAudioInfo::default
  - Mp4parseTrackVideoInfo::default
  - Mp4parseParser::context
  - Mp4parseParser::context_mut
  - Mp4parseParser::with_context
  - Mp4parseParser::read
  - TryHashMap::insert_cache_entry
  - Mp4parseAvifParser::context
  - Mp4parseAvifParser::with_context
  - Mp4parseAvifParser::read
  - Mp4parseIo::read
  - mp4parse_new
  - mp4parse_avif_new
  - mp4parse_new_common
  - mp4parse_new_common_safe
  - mp4parse_free
  - mp4parse_avif_free
  - mp4parse_get_track_count
  - mp4parse_get_track_info
  - mp4parse_get_track_audio_info
  - apply_flac_stream_info
  - get_track_audio_info
  - mp4parse_get_track_video_info
  - mp4parse_get_track_video_info_safe
  - mp4parse_avif_get_info
  - m::p::4::p::a::r::s::e::_::a::v::i::f::_::g::e::t::_::i::n::f::o::_::s::a::f::e::get_bit_depth
  - mp4parse_avif_get_info_safe
  - mp4parse_avif_get_image
  - mp4parse_avif_get_image_safe
  - mp4parse_get_indice_table
  - mp4parse_avif_get_indice_table
  - get_indice_table
  - mp4parse_get_fragment_info
  - mp4parse_is_fragmented
  - mp4parse_get_pssh_info
  - get_pssh_info
  - error_read
  - valid_read
  - get_track_count_null_parser
  - arg_validation
  - parser_input_must_be_null
  - arg_validation_with_parser
  - parse_minimal_mp4
  - minimal_mp4_parse_ok
  - minimal_mp4_get_track_cout
  - minimal_mp4_get_track_info
  - minimal_mp4_get_track_video_info
  - minimal_mp4_get_track_audio_info
  - flac_streaminfo_sample_rate_overrides_sample_entry_rate
  - minimal_mp4_get_track_info_invalid_track_number
  - repeated_get_track_audio_info_returns_stable_pointer
  - multi_opus_description_codec_specific_pointers_are_valid
  - repeated_get_track_video_info_returns_stable_pointer
  - parse_no_timescale
  source_file: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
- function_names:
  - buf_read
  - dump_avif
  - dump_file
  - main
  source_file: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
- function_names:
  - overflow_protection
  source_file: /src/mp4parse-rust/mp4parse/tests/overflow.rs
- function_names:
  - public_api
  - public_metadata
  - public_metadata_gnre
  - public_invalid_metadata
  - public_audio_tenc
  - public_video_cenc
  - public_audio_cbcs
  - public_video_cbcs
  - public_video_av1
  - public_mp4_bug_1185230
  - public_mp4_ctts_overflow
  - assert_video_nclx_colour_info
  - public_video_two_nclx_colr_boxes
  - public_video_nclx_and_icc_colr_boxes
  - public_avif_primary_item
  - public_avif_primary_item_split_extents
  - public_avif_alpha_item
  - public_avif_alpha_non_premultiplied
  - public_avif_alpha_premultiplied
  - public_avif_unknown_mdat
  - public_avif_unknown_mdat_in_oversized_meta
  - public_avif_bug_1655846
  - public_avif_bug_1661347
  - for_strictness_result
  - assert_avif_should
  - assert_avif_shall
  - public_avif_av1c_missing_essential
  - public_avif_clap_missing_essential
  - public_avif_imir_missing_essential
  - public_avif_irot_missing_essential
  - public_avif_ipma_bad_version
  - public_avif_ipma_bad_flags
  - public_avif_ipma_duplicate_version_and_flags
  - public_avif_ipma_duplicate_item_id
  - public_avif_ipma_invalid_property_index
  - public_avif_hdlr_first_in_meta
  - public_avif_hdlr_is_pict
  - public_avif_hdlr_nonzero_reserved
  - public_avif_hdlr_multiple_nul
  - public_avif_no_mif1
  - public_avif_no_pitm
  - public_avif_pixi_present_for_displayable_images
  - public_avif_av1c_present_for_av01
  - public_avif_ispe_present
  - public_avif_transform_before_ispe
  - public_avif_transform_order
  - assert_unsupported_nonfatal
  - assert_unsupported
  - assert_unsupported_nonessential
  - assert_unsupported_essential
  - public_avif_a1lx
  - public_avif_a1lx_marked_essential
  - public_avif_a1op
  - public_avif_a1op_missing_essential
  - public_avif_lsel
  - public_avif_lsel_missing_essential
  - public_avif_lsel_no_layer_selection
  - public_avif_clap
  - public_avif_grid
  - public_avis_major_no_pitm
  - public_avis_major_with_pitm_and_alpha
  - public_avif_avis_major_no_moov
  - public_avif_avis_with_no_pitm_no_iloc
  - public_avif_avis_with_pitm_no_iloc
  - public_avif_valid_with_garbage_overread_at_end
  - public_avif_valid_with_garbage_byte_at_end
  - public_avif_bad_video_sample_entry
  - public_avis_loop_impl
  - public_avif_avis_no_loop
  - public_avif_avis_loop_forever
  - public_avif_read_samples
  - public_avif_read_samples_strict
  - to_canonical_paths
  - public_avif_read_samples_impl
  - public_video_h263
  - public_video_hevc
  - public_parse_pasp_h264
  - public_audio_amrnb
  - public_audio_amrwb
  - public_video_mp4v
  - public_audio_xhe_aac
  source_file: /src/mp4parse-rust/mp4parse/tests/public.rs
- function_names:
  - CheckedInteger::from
  - i64::from
  - CheckedInteger::add
  - CheckedInteger::sub
  - CheckedInteger::sub
  - u64_subtraction_returning_i64
  - CheckedInteger::eq
  - create_sample_table
  - TimeOffsetIterator::next
  - TimeOffsetIterator::next_offset_time
  - TimeToSampleIterator::next
  - TimeToSampleIterator::next_delta
  - sample_to_chunk_iter
  - SampleToChunkIterator::next
  - SampleToChunkIterator::locate
  - rational_scale
  - media_time_to_us
  - track_time_to_us
  - rational_scale_overflow
  - media_time_overflow
  - track_time_overflow
  source_file: /src/mp4parse-rust/mp4parse/src/unstable.rs
- function_names:
  - check_parser_state
  source_file: /src/mp4parse-rust/mp4parse/src/macros.rs
- function_names:
  - usize::to_u64
  - impl_to_usize_from
  - OffsetReader::new
  - OffsetReader::offset
  - OffsetReader::read
  - Feature::supported
  - Feature::try_from
  - UnsupportedFeatures::new
  - UnsupportedFeatures::into_bitfield
  - UnsupportedFeatures::feature_to_bitfield
  - UnsupportedFeatures::insert
  - UnsupportedFeatures::contains
  - UnsupportedFeatures::is_empty
  - Result::from
  - Error::from
  - '&str::from'
  - Status::from
  - Status::from
  - Status::from
  - Status::from
  - Status::from
  - Error::fmt
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - Error::from
  - std::io::Error::from
  - Error::from
  - FileTypeBox::contains
  - TrackReferenceBox::has_auxl_reference
  - AV1ConfigBox::config_obus
  - FLACStreamInfo::parse
  - IsobmffItem::fmt
  - AvifItem::with_inline_data
  - AvifContext::primary_item_is_present
  - AvifContext::primary_item_coded_data
  - AvifContext::primary_item_bits_per_channel
  - AvifContext::alpha_item_is_present
  - AvifContext::alpha_item_coded_data
  - AvifContext::alpha_item_bits_per_channel
  - AvifContext::image_bits_per_channel
  - AvifContext::spatial_extents_ptr
  - AvifContext::nclx_colour_information_ptr
  - AvifContext::icc_colour_information
  - AvifContext::image_rotation
  - AvifContext::image_mirror_ptr
  - AvifContext::pixel_aspect_ratio_ptr
  - AvifContext::item_as_slice
  - DataBox::fmt
  - u64_to_usize_logged
  - DataBox::from_mdat
  - DataBox::from_idat
  - DataBox::data
  - DataBox::start
  - DataBox::location
  - DataBox::get
  - ItemId::read
  - IlocFieldSize::as_bits
  - IlocFieldSize::try_from
  - IlocVersion::try_from
  - fail_with_status_if
  - TrackScaledTime::add
  - Track::new
  - BoxIter::new
  - BoxIter::next_box
  - BMFFBox::read
  - BMFFBox::try_read_to_end
  - BMFFBox::offset
  - BMFFBox::bytes_left
  - BMFFBox::get_header
  - BMFFBox::box_iter
  - BMFFBox::drop
  - read_box_header
  - read_fullbox_extra
  - read_fullbox_version_no_flags
  - skip_box_content
  - skip_box_remain
  - AvifImageType::has_primary
  - AvifImageType::has_sequence
  - read_avif
  - read_avif_meta
  - read_pitm
  - read_iinf
  - U32BE::fmt
  - read_infe
  - read_iref
  - read_iprp
  - BoxType::from
  - ItemPropertiesBox::is_alpha
  - ItemPropertiesBox::get
  - ItemPropertiesBox::get_multiple
  - impl_bounded
  - impl_bounded_product
  - impl_mul
  - U32MulU8::add
  - calculate_ipma_total_associations
  - read_ipma
  - read_ipco
  - read_lsel
  - read_ispe
  - read_pasp
  - read_mdcv
  - read_clli
  - read_pixi
  - IccColourInformation::fmt
  - ColourInformation::colour_type
  - read_colr
  - read_irot
  - read_imir
  - read_auxc
  - read_iloc
  - read_mp4
  - parse_mvhd
  - read_moov
  - read_pssh
  - read_mvex
  - read_mehd
  - read_trak
  - read_edts
  - parse_mdhd
  - read_mdia
  - read_tref
  - read_tref_auxl
  - read_minf
  - read_stbl
  - read_ftyp
  - read_mvhd
  - read_tkhd
  - read_elst
  - read_mdhd
  - read_stco
  - read_co64
  - read_stss
  - read_stsc
  - read_ctts
  - read_stsz
  - read_stts
  - read_vpcc
  - read_av1c
  - read_flac_metadata
  - find_descriptor
  - get_audio_object_type
  - read_ds_descriptor
  - read_surround_channel_count
  - read_dc_descriptor
  - read_es_descriptor
  - read_esds
  - read_dfla
  - read_dops
  - serialize_opus_header
  - read_alac
  - read_hdlr
  - read_video_sample_entry
  - read_qt_wave_atom
  - read_audio_sample_entry
  - read_stsd
  - read_sinf
  - read_schi
  - read_tenc
  - read_schm
  - read_udta
  - read_meta
  - read_xml_
  - read_bxml
  - read_ilst
  - read_ilst_bool_data
  - read_ilst_string_data
  - read_ilst_u8_data
  - read_ilst_multiple_u8_data
  - read_ilst_data
  - skip
  - skip_exact
  - read_buf
  - be_i16
  - be_i32
  - be_i64
  - be_u16
  - be_u24
  - be_u32
  - be_u64
  - write_be_u32
  - media_data_box_tests::extent_with_length_before_mdat_returns_none
  - media_data_box_tests::extent_to_end_before_mdat_returns_none
  - media_data_box_tests::extent_with_length_crossing_front_mdat_boundary_returns_none
  - media_data_box_tests::extent_with_length_which_is_subset_of_mdat
  - media_data_box_tests::extent_to_end_which_is_subset_of_mdat
  - media_data_box_tests::extent_with_length_which_is_all_of_mdat
  - media_data_box_tests::extent_to_end_which_is_all_of_mdat
  - media_data_box_tests::extent_with_length_crossing_back_mdat_boundary_returns_none
  - media_data_box_tests::extent_with_length_after_mdat_returns_none
  - media_data_box_tests::extent_to_end_after_mdat_returns_none
  - media_data_box_tests::extent_with_length_which_overflows_usize
  - media_data_box_tests::extent_to_end_which_overflows_usize
  source_file: /src/mp4parse-rust/mp4parse/src/lib.rs
- function_names:
  - box_database
  - BoxType::fmt
  - FourCC::from
  - FourCC::from
  - FourCC::from
  - FourCC::fmt
  - FourCC::fmt
  - FourCC::eq
  source_file: /src/mp4parse-rust/mp4parse/src/boxes.rs
- function_names:
  - make_box
  - make_uuid_box
  - make_fullbox
  - read_box_header_short
  - read_box_header_long
  - read_box_header_short_unknown_size
  - read_box_header_short_invalid_size
  - read_box_header_long_invalid_size
  - read_box_header_uuid
  - read_box_header_truncated_uuid
  - read_box_header_uuid_past_eof
  - read_ftyp
  - read_truncated_ftyp
  - read_ftyp_case
  - read_elst_v0
  - read_elst_v1
  - read_mdhd_v0
  - read_mdhd_v1
  - read_mdhd_unknown_duration
  - read_mdhd_invalid_timescale
  - read_mvhd_v0
  - read_mvhd_v1
  - read_mvhd_invalid_timescale
  - read_mvhd_unknown_duration
  - read_mvhd_v0_trailing_data
  - read_vpcc_version_0
  - read_vpcc_version_1
  - read_hdlr
  - read_hdlr_multiple_nul_in_name
  - read_hdlr_short_name
  - read_hdlr_unsupported_version
  - read_hdlr_invalid_pre_defined_field
  - read_hdlr_invalid_reserved_field
  - read_hdlr_zero_length_name
  - read_hdlr_zero_length_name_permissive
  - flac_streaminfo
  - flac_streaminfo_with_sample_rate
  - read_flac
  - read_high_rate_flac_preserves_sample_entry_rate
  - make_dfla
  - make_dfla_with_trailing_bytes
  - read_test_dfla
  - read_dfla
  - long_flac_metadata
  - oversized_trailing_flac_metadata_respects_strictness
  - short_trailing_flac_metadata_header_respects_strictness
  - physically_truncated_trailing_flac_metadata_is_rejected
  - read_opus
  - make_dops
  - read_dops
  - serialize_opus_header
  - read_alac
  - esds_limit
  - read_elst_zero_entries
  - make_elst
  - read_edts_bogus
  - skip_padding_in_boxes
  - skip_padding_in_stsd
  - read_qt_wave_atom
  - read_descriptor_80
  - read_esds
  - read_esds_aac_type5
  - read_esds_mpeg2_aac_lc
  - read_esds_truncated_dsi
  - read_esds_duplicate_dsi
  - read_esds_duplicate_dsi_strict
  - read_esds_duplicate_dsi_disagreeing
  - read_esds_truncated_dsi_pce
  - read_stsd_mp4v
  - read_esds_one_byte_extension_descriptor
  - read_esds_byte_extension_descriptor
  - read_f4v_stsd
  - unknown_video_sample_entry
  - unknown_audio_sample_entry
  - read_esds_invalid_descriptor
  - read_esds_redundant_descriptor
  - read_esds_multiple_descriptors
  - read_stsd_lpcm
  - read_to_end_
  - read_to_end_oom
  - read_mdcv
  - read_clli
  - read_colr_nclx
  - read_colr_nclx_missing_full_range_flag
  source_file: /src/mp4parse-rust/mp4parse/src/tests.rs
- function_names:
  - criterion_benchmark
  - avif_largest
  source_file: /src/mp4parse-rust/mp4parse/benches/avif_benchmark.rs
