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:
    - read
    - std::slice::from_raw_parts_mut
    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: 5
    functionLinenumber: 19
    functionLinenumberEnd: 60
    functionName: test_xhe_aac_codec_detection
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs
    functionUses: 0
    functionsReached:
    - File::open
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - Some
    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: 5
    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:
    - File::open
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - Some
    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: 5
    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:
    - File::open
    - mp4parse_new
    - std::ptr::null_mut
    - mp4parse_free
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - Some
    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: 5
    functionLinenumber: 20
    functionLinenumberEnd: 63
    functionName: test_afconvert_aac_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_afconvert.rs
    functionUses: 0
    functionsReached:
    - File::open
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    - expect
    - Some
    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_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: 5
    functionLinenumber: 14
    functionLinenumberEnd: 40
    functionName: parse_rotation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_rotation.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - Mp4parseTrackVideoInfo::default
    - expect
    - mp4parse_get_track_video_info
    - Some
    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: 5
    functionLinenumber: 14
    functionLinenumberEnd: 66
    functionName: parse_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_fragment_info
    - mp4parse_is_fragmented
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - Default::default
    - mp4parse_get_track_info
    - Mp4parseFragmentInfo::default
    - expect
    - mp4parse_get_track_audio_info
    - Some
    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:109,1
    - Dst: Mp4parseFragmentInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:113,1
    - Dst: mp4parse_get_fragment_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:114,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs:117,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 60
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 119
      start: 69
    functionDepth: 5
    functionLinenumber: 69
    functionLinenumberEnd: 119
    functionName: parse_opus_fragment
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_fragment.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_fragment_info
    - mp4parse_is_fragmented
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - Default::default
    - mp4parse_get_track_info
    - Mp4parseFragmentInfo::default
    - expect
    - mp4parse_get_track_audio_info
    - Some
    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: 5
    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_new
    - Mp4parseByteData::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - expect
    - Some
    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: 5
    functionLinenumber: 14
    functionLinenumberEnd: 45
    functionName: parse_invalid_stsc_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_workaround_stsc.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseByteData::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - expect
    - Some
    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: 5
    functionLinenumber: 15
    functionLinenumberEnd: 132
    functionName: parse_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - into
    - mp4parse_get_indice_table
    - mp4parse_get_track_info
    - expect
    - mp4parse_is_fragmented
    - Some
    linkageType: ''
    returnType: void
    signature: fn parse_sample_table()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:136,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:136,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:138,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:143,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:144,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:149,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:153,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:154,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:160,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:164,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:165,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:172,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:173,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:174,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:175,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:176,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:180,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:181,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:182,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:183,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:184,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:188,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:189,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:190,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:191,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:192,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:200,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 202
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 202
    functionName: parse_sample_table_with_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - into
    - mp4parse_get_indice_table
    - mp4parse_get_track_info
    - expect
    - mp4parse_is_fragmented
    - Some
    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:206,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:206,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:208,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:213,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:214,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:219,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:223,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:224,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:229,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:233,1
    - Dst: mp4parse_get_indice_table
      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: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: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:247,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:248,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:249,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:250,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:251,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:255,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:256,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:258,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:259,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:263,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:264,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:265,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:266,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:267,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:276,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 278
      start: 205
    functionDepth: 5
    functionLinenumber: 205
    functionLinenumberEnd: 278
    functionName: parse_sample_table_with_negative_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - Mp4parseByteData::default
    - std::fs::File::open
    - mp4parse_free
    - mp4parse_get_track_count
    - into
    - mp4parse_get_indice_table
    - mp4parse_get_track_info
    - expect
    - mp4parse_is_fragmented
    - Some
    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:75,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:76,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:95,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:95,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 97
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 102
      start: 14
    functionDepth: 5
    functionLinenumber: 14
    functionLinenumberEnd: 102
    functionName: parse_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - iter
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_get_track_count
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_info
    - expect
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_video_info
    - Mp4parseTrackAudioInfo::default
    - Some
    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:106,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:106,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:108,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:113,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:114,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:118,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:123,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:124,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:129,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:130,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:152,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:152,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:162,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:162,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 166
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 166
    functionName: parse_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - iter
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_get_track_count
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_info
    - expect
    - mp4parse_get_track_video_info
    - Some
    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:172,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:172,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:174,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:179,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:180,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:185,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:189,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:190,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:194,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:195,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 211
      start: 169
    functionDepth: 5
    functionLinenumber: 169
    functionLinenumberEnd: 211
    functionName: parse_unencrypted
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - Some
    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:223,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:223,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:225,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:230,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:231,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:235,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:240,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:241,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:246,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:247,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:261,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:261,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:281,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:281,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:291,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:291,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 295
      start: 214
    functionDepth: 5
    functionLinenumber: 214
    functionLinenumberEnd: 295
    functionName: parse_encrypted_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - iter
    - enumerate
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_get_track_count
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_info
    - expect
    - mp4parse_get_track_video_info
    - Some
    linkageType: ''
    returnType: void
    signature: fn parse_encrypted_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:15,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:15,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:17,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:21,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:22,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: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:30,1
    - Dst: std::ptr::null
      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: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:34,1
    - Dst: std::ptr::null
      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
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:37,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:38,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:39,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:40,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:41,1
    - 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
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:44,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:45,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:46,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:48,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 1
    argNames:
    - path
    argTypes:
    - '&str'
    constantsTouched: []
    func_position:
      end: 51
      start: 14
    functionDepth: 18
    functionLinenumber: 14
    functionLinenumberEnd: 51
    functionName: parse_file_and_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 2
    functionsReached:
    - mp4parse_avif_get_info
    - std::ptr::null_mut
    - std::fs::File::open
    - std::ptr::null
    - mp4parse_avif_new
    - Default::default
    - expect
    - Some
    linkageType: ''
    returnType: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)
    signature: 'unsafe fn parse_file_and_get_info(path: &str) -> (*mut Mp4parseAvifParser,
      Mp4parseAvifInfo)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_file_and_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:54,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:63,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 2
    argNames:
    - path
    - expected_loop_count
    argTypes:
    - '&str'
    - i64
    constantsTouched: []
    func_position:
      end: 64
      start: 53
    functionDepth: 19
    functionLinenumber: 53
    functionLinenumberEnd: 64
    functionName: check_loop_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 5
    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:67,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:69,1
    - Dst: mp4parse_avif_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:72,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:78,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - path
    - expected_timescale
    argTypes:
    - '&str'
    - u64
    constantsTouched: []
    func_position:
      end: 79
      start: 66
    functionDepth: 19
    functionLinenumber: 66
    functionLinenumberEnd: 79
    functionName: check_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs
    functionUses: 1
    functionsReached:
    - mp4parse_avif_free
    - parse_file_and_get_info
    - mp4parse_avif_get_indice_table
    - Mp4parseByteData::default
    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:83,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 84
      start: 82
    functionDepth: 20
    functionLinenumber: 82
    functionLinenumberEnd: 84
    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:88,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 89
      start: 87
    functionDepth: 20
    functionLinenumber: 87
    functionLinenumberEnd: 89
    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:93,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 94
      start: 92
    functionDepth: 20
    functionLinenumber: 92
    functionLinenumberEnd: 94
    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:98,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 99
      start: 97
    functionDepth: 20
    functionLinenumber: 97
    functionLinenumberEnd: 99
    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:103,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 104
      start: 102
    functionDepth: 20
    functionLinenumber: 102
    functionLinenumberEnd: 104
    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:108,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:109,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:110,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:111,1
    - Dst: check_timescale
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_avis.rs:112,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 113
      start: 107
    functionDepth: 20
    functionLinenumber: 107
    functionLinenumberEnd: 113
    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: '&''a [u8]::len'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:147,1
    - Dst: '&''a [u8]::is_empty'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:148,1
    - Dst: '&''a [u8]::as_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:149,1
    - Dst: std::ptr::null
      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
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - slice
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 155
      start: 145
    functionDepth: 1
    functionLinenumber: 145
    functionLinenumberEnd: 155
    functionName: Mp4parseByteData::with_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - '&''a [u8]::is_empty'
    - '&''a [u8]::len'
    - '&''a [u8]::as_ptr'
    - std::ptr::null
    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:162,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 165
      start: 159
    functionDepth: 0
    functionLinenumber: 159
    functionLinenumberEnd: 165
    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:170,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:171,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 172
      start: 169
    functionDepth: 0
    functionLinenumber: 169
    functionLinenumberEnd: 172
    functionName: Mp4parseByteData::set_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::as_ptr
    - Self::len
    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:175,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[Indice]'
    constantsTouched: []
    func_position:
      end: 177
      start: 174
    functionDepth: 0
    functionLinenumber: 174
    functionLinenumberEnd: 177
    functionName: Mp4parseByteData::set_indices
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::as_ptr
    - Self::len
    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:235,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 237
      start: 232
    functionDepth: 0
    functionLinenumber: 232
    functionLinenumberEnd: 237
    functionName: Mp4parseTrackAudioInfo::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: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 271
      start: 262
    functionDepth: 0
    functionLinenumber: 262
    functionLinenumberEnd: 271
    functionName: Mp4parseTrackVideoInfo::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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 373
      start: 371
    functionDepth: 0
    functionLinenumber: 371
    functionLinenumberEnd: 373
    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: 377
      start: 375
    functionDepth: 0
    functionLinenumber: 375
    functionLinenumberEnd: 377
    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:386,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 388
      start: 383
    functionDepth: 1
    functionLinenumber: 383
    functionLinenumberEnd: 388
    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:391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 394
      start: 390
    functionDepth: 13
    functionLinenumber: 390
    functionLinenumberEnd: 394
    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: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 404
    functionDepth: 0
    functionLinenumber: 404
    functionLinenumberEnd: 406
    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:415,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 417
      start: 412
    functionDepth: 1
    functionLinenumber: 412
    functionLinenumberEnd: 417
    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:420,1
    - Dst: is_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:421,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 426
      start: 419
    functionDepth: 13
    functionLinenumber: 419
    functionLinenumberEnd: 426
    functionName: Mp4parseAvifParser::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse::read_avif
    - is_err
    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:440,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:441,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:441,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:445,1
    - Dst: Result::as_mut_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:445,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:445,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:447,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:449,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:449,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 451
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 451
    functionName: Mp4parseIo::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Err
    - Result::as_mut_ptr
    - unwrap
    - std::io::Error::other
    - Result::len
    - Ok
    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:478,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - '*mut *mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 479
      start: 474
    functionDepth: 4
    functionLinenumber: 474
    functionLinenumberEnd: 479
    functionName: mp4parse_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 22
    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:496,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: 497
      start: 491
    functionDepth: 4
    functionLinenumber: 491
    functionLinenumberEnd: 497
    functionName: mp4parse_avif_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    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:505,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:506,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:507,1
    - Dst: '*mut *mut P::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:508,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:509,1
    - Dst: mp4parse_new_common_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:513,1
    - Dst: clone
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:513,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: 521
      start: 499
    functionDepth: 3
    functionLinenumber: 499
    functionLinenumberEnd: 521
    functionName: mp4parse_new_common
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - '*mut *mut P::is_null'
    - is_null
    - '*const Mp4parseIo::is_null'
    - mp4parse_new_common_safe
    - is_none
    - clone
    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:527,1
    - Dst: isize::map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:527,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:527,1
    - Dst: TryBox::try_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:529,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:529,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:527,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:527,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 532
      start: 523
    functionDepth: 2
    functionLinenumber: 523
    functionLinenumberEnd: 532
    functionName: mp4parse_new_common_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryBox::try_new
    - and_then
    - isize::map
    - map_err
    - P::read
    - 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:544,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 545
      start: 542
    functionDepth: 0
    functionLinenumber: 542
    functionLinenumberEnd: 545
    functionName: mp4parse_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 19
    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:557,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 558
      start: 555
    functionDepth: 0
    functionLinenumber: 555
    functionLinenumberEnd: 558
    functionName: mp4parse_avif_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryBox::from_raw
    linkageType: ''
    returnType: void
    signature: 'pub unsafe extern "C" fn mp4parse_avif_free(parser: *mut Mp4parseAvifParser)'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:574,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:574,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:577,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:580,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:583,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - parser
    - count
    argTypes:
    - '*const Mp4parseParser'
    - '*mut u32'
    constantsTouched: []
    func_position:
      end: 585
      start: 569
    functionDepth: 1
    functionLinenumber: 569
    functionLinenumberEnd: 585
    functionName: mp4parse_get_track_count
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 16
    functionsReached:
    - context
    - is_null
    - len
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:601,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:601,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:606,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:608,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:612,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:629,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:631,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:631,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:636,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:636,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:637,1
    - Dst: mp4parse::unstable::CheckedInteger
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:639,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:653,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 104
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackInfo'
    constantsTouched: []
    func_position:
      end: 675
      start: 596
    functionDepth: 1
    functionLinenumber: 596
    functionLinenumberEnd: 675
    functionName: mp4parse_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 13
    functionsReached:
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - is_null
    - into
    - mp4parse::unstable::rational_scale
    - Default::default
    - map_or
    - context_mut
    - len
    - mp4parse::unstable::CheckedInteger
    - Some
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:691,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:691,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:696,1
    - Dst: get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:698,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:698,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 699
      start: 686
    functionDepth: 6
    functionLinenumber: 686
    functionLinenumberEnd: 699
    functionName: mp4parse_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 8
    functionsReached:
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - 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:
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:712,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:713,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:719,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:725,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:728,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:729,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:732,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:732,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:733,1
    - Dst: Mp4parseTrackAudioSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:734,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:737,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:776,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:777,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:779,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:780,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:781,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:782,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:800,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:801,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:803,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:804,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:807,1
    - Dst: mp4parse::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:808,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:810,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:813,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:814,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:815,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:816,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:818,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:819,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:825,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:826,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:833,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:833,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:836,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:839,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:842,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:856,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:858,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:860,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:862,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:863,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:865,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:869,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:872,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:875,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:877,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:880,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:882,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:883,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:885,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:888,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 345
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 889
      start: 701
    functionDepth: 5
    functionLinenumber: 701
    functionLinenumberEnd: 889
    functionName: get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    functionsReached:
    - as_ptr
    - find
    - insert
    - is_some
    - Mp4parseTrackAudioSampleInfo::default
    - iter
    - Err
    - TryVec::with_capacity
    - get
    - mp4parse::serialize_opus_header
    - as_ref
    - Self::as_ptr
    - OptionalFourCc::Some
    - unwrap_or
    - TryVec::new
    - Self::len
    - Ok
    - is_empty
    - push
    - len
    - set_data
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:905,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:905,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:910,1
    - Dst: mp4parse_get_track_video_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:912,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:912,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 913
      start: 900
    functionDepth: 4
    functionLinenumber: 900
    functionLinenumberEnd: 913
    functionName: mp4parse_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - mp4parse_get_track_video_info_safe
    - is_null
    - Default::default
    - 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: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:920,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: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:929,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:949,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:955,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:958,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:959,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:962,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:962,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:963,1
    - Dst: Mp4parseTrackVideoSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:964,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:967,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:994,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:999,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1004,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1004,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1007,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1010,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1013,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1027,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1029,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1031,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1033,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1034,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1036,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1040,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1043,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1046,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1048,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1051,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1053,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1054,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1056,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1058,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 235
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1059
      start: 915
    functionDepth: 3
    functionLinenumber: 915
    functionLinenumberEnd: 1059
    functionName: mp4parse_get_track_video_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - find
    - context
    - insert
    - is_some
    - iter
    - Err
    - TryVec::with_capacity
    - get
    - Self::as_ptr
    - as_ref
    - OptionalFourCc::Some
    - unwrap_or
    - Mp4parseTrackVideoSampleInfo::default
    - Ok
    - Self::len
    - is_empty
    - push
    - len
    - set_data
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1078,1
    - Dst: '*mut Mp4parseAvifInfo::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1078,1
    - Dst: mp4parse_avif_get_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1082,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1082,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - avif_info
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifInfo'
    constantsTouched: []
    func_position:
      end: 1088
      start: 1074
    functionDepth: 17
    functionLinenumber: 1074
    functionLinenumberEnd: 1088
    functionName: mp4parse_avif_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '*mut Mp4parseAvifInfo::is_null'
    - is_null
    - mp4parse_avif_get_info_safe
    - 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:1121,1
    - Dst: Self::iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1121,1
    - Dst: SampleToChunkIterator::all
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1126
      start: 1120
    functionDepth: 15
    functionLinenumber: 1120
    functionLinenumberEnd: 1126
    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:
    - Self::is_empty
    - Self::iter
    - SampleToChunkIterator::all
    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:1094,1
    - Dst: '&MediaContext::spatial_extents_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1095,1
    - Dst: '&MediaContext::nclx_colour_information_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1096,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1096,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1098,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1098,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1099,1
    - Dst: '&MediaContext::icc_colour_information'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1100,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1100,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1100,1
    - Dst: '&MediaContext::image_rotation'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1102,1
    - Dst: '&MediaContext::image_mirror_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1103,1
    - Dst: '&MediaContext::pixel_aspect_ratio_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1104,1
    - Dst: '&MediaContext::primary_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1106,1
    - Dst: '&MediaContext::alpha_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1108,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1128,1
    - Dst: '&MediaContext::primary_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1128,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1128,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1128,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1130,1
    - Dst: '&MediaContext::alpha_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1130,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1130,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1130,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1138,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1138,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1139,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1144,1
    - Dst: pred
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1147,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1150,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1150,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1158,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1160,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1164,1
    - Dst: Result::has_auxl_reference
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1165,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1165,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1174,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1183,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1184,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1186,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1191,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1192,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1194,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1200,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1200,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1205,1
    - Dst: checked_div
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1207,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1207,1
    - Dst: checked_rem
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1208,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1209,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1209,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1210,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1226,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1240,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 212
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&AvifContext'
    constantsTouched: []
    func_position:
      end: 1241
      start: 1090
    functionDepth: 16
    functionLinenumber: 1090
    functionLinenumberEnd: 1241
    functionName: mp4parse_avif_get_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - into_bitfield
    - find
    - checked_rem
    - unwrap
    - is_none
    - iter
    - pred
    - checked_div
    - '&MediaContext::nclx_colour_information_ptr'
    - '&MediaContext::primary_item_is_present'
    - as_ref
    - saturating_sub
    - Option::unwrap_or
    - Result::has_auxl_reference
    - '&MediaContext::alpha_item_bits_per_channel'
    - any
    - and_then
    - '&MediaContext::alpha_item_is_present'
    - get_bit_depth
    - '&MediaContext::spatial_extents_ptr'
    - map
    - Mp4parseByteData::with_data
    - Ok
    - Some
    - get_track
    - '&MediaContext::image_rotation'
    - std::ptr::null
    - '&MediaContext::primary_item_bits_per_channel'
    - '&MediaContext::image_mirror_ptr'
    - is_empty
    - '&MediaContext::icc_colour_information'
    - '&MediaContext::pixel_aspect_ratio_ptr'
    - get_av1c
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'fn mp4parse_avif_get_info_safe(context: &AvifContext) -> mp4parse::Result<Mp4parseAvifInfo>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1260,1
    - Dst: '*mut Mp4parseAvifImage::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1260,1
    - Dst: mp4parse_avif_get_image_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1264,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - parser
    - avif_image
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifImage'
    constantsTouched: []
    func_position:
      end: 1270
      start: 1256
    functionDepth: 4
    functionLinenumber: 1256
    functionLinenumberEnd: 1270
    functionName: mp4parse_avif_get_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - is_null
    - '*mut 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: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1275,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1276,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1277,1
    - Dst: '&MediaContext::primary_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1278,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1278,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1280,1
    - Dst: '&MediaContext::alpha_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1280,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '&Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 1282
      start: 1272
    functionDepth: 3
    functionLinenumber: 1272
    functionLinenumberEnd: 1282
    functionName: mp4parse_avif_get_image_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - Option::unwrap_or
    - context
    - '&MediaContext::alpha_item_coded_data'
    - '&MediaContext::primary_item_coded_data'
    - Mp4parseByteData::with_data
    - Ok
    linkageType: ''
    returnType: mp4parse::Result
    signature: 'pub fn mp4parse_avif_get_image_safe(parser: &Mp4parseAvifParser,)
      -> mp4parse::Result<Mp4parseAvifImage>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1298,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1303,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1305,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1305,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - parser
    - track_id
    - indices
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1312
      start: 1293
    functionDepth: 8
    functionLinenumber: 1293
    functionLinenumberEnd: 1312
    functionName: mp4parse_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 6
    functionsReached:
    - get_indice_table
    - is_null
    - Default::default
    - 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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1329,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1333,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1337,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1342,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1351,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1351,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1354,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1366,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1366,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: 1376
      start: 1323
    functionDepth: 8
    functionLinenumber: 1323
    functionLinenumberEnd: 1376
    functionName: mp4parse_avif_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - iter
    - find
    - is_null
    - get_indice_table
    - Default::default
    - Result::into
    - Some
    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:1385,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1385,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1385,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1387,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::get'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1390,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1391,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1392,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1396,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1396,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1396,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1401,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1401,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1401,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1409,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1409,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1412,1
    - Dst: mp4parse::unstable::create_sample_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1415,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1416,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::insert'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1417,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1418,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1421,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: 1422
      start: 1378
    functionDepth: 7
    functionLinenumber: 1378
    functionLinenumberEnd: 1422
    functionName: get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    functionsReached:
    - '&mut TryHashMap<u32, TryVec<Indice>>::insert'
    - iter
    - Ok
    - mp4parse::unstable::create_sample_table
    - find
    - Err
    - Result::ok
    - set_indices
    - i64::try_from
    - ok_or
    - map
    - into
    - Some
    - '&mut TryHashMap<u32, TryVec<Indice>>::get'
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1437,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1437,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1442,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1444,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parseFragmentInfo'
    constantsTouched: []
    func_position:
      end: 1460
      start: 1433
    functionDepth: 1
    functionLinenumber: 1433
    functionLinenumberEnd: 1460
    functionName: mp4parse_get_fragment_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 3
    functionsReached:
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - 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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1477,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1481,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1485,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1490,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1491,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1491,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1491,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1495,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1496,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1497,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 3
    argNames:
    - parser
    - track_id
    - fragmented
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 1505
      start: 1472
    functionDepth: 3
    functionLinenumber: 1472
    functionLinenumberEnd: 1505
    functionName: mp4parse_is_fragmented
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - iter
    - is_null
    - is_empty
    - map_or
    - context_mut
    - is_none
    - SampleToChunkIterator::find
    - Some
    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: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1526,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1526,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1531,1
    - Dst: get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1533,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1533,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1534
      start: 1522
    functionDepth: 6
    functionLinenumber: 1522
    functionLinenumberEnd: 1534
    functionName: mp4parse_get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - get_pssh_info
    - 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: clear
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1544,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1546,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1546,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1546,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1551,1
    - Dst: write_u32::<byteorder::NativeEndian>
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1552,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1553,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1553,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1554,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1554,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1555,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1555,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1560,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - '&mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1561
      start: 1536
    functionDepth: 5
    functionLinenumber: 1536
    functionLinenumberEnd: 1561
    functionName: get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - as_slice
    - map_err
    - extend_from_slice
    - TryVec::new
    - try_into
    - write_u32::<byteorder::NativeEndian>
    - Mp4parseStatus::as_slice
    - len
    - clear
    - set_data
    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: 1566
      start: 1564
    functionDepth: 0
    functionLinenumber: 1564
    functionLinenumberEnd: 1566
    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:1572,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1573,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: 1577
      start: 1569
    functionDepth: 2
    functionLinenumber: 1569
    functionLinenumberEnd: 1577
    functionName: valid_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - read
    - std::slice::from_raw_parts_mut
    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:1583,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1583,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1583,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1585,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1585,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1588
      start: 1580
    functionDepth: 2
    functionLinenumber: 1580
    functionLinenumberEnd: 1588
    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:1593,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1593,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1593,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1597,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1598,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1598,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1602,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1609,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1610,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1619,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1620,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1626,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1633,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1639,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1645
      start: 1591
    functionDepth: 5
    functionLinenumber: 1591
    functionLinenumberEnd: 1645
    functionName: arg_validation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - Default::default
    - std::ptr::null
    - mp4parse_new
    linkageType: ''
    returnType: void
    signature: fn arg_validation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1651,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1655,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1657
      start: 1648
    functionDepth: 5
    functionLinenumber: 1648
    functionLinenumberEnd: 1657
    functionName: parser_input_must_be_null
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - mp4parse_new
    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:1664,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1667,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1668,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1688,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1695,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1701,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1660
    functionDepth: 5
    functionLinenumber: 1660
    functionLinenumberEnd: 1707
    functionName: arg_validation_with_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - Default::default
    - Some
    - mp4parse_new
    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:1711,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1711,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1713,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1716,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1717,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1720
      start: 1710
    functionDepth: 5
    functionLinenumber: 1710
    functionLinenumberEnd: 1720
    functionName: parse_minimal_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 6
    functionsReached:
    - mp4parse_new
    - std::ptr::null_mut
    - std::fs::File::open
    - unwrap
    - Some
    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:1724,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1729,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1731
      start: 1723
    functionDepth: 6
    functionLinenumber: 1723
    functionLinenumberEnd: 1731
    functionName: minimal_mp4_parse_ok
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - parse_minimal_mp4
    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:1735,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1744,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1746
      start: 1734
    functionDepth: 6
    functionLinenumber: 1734
    functionLinenumberEnd: 1746
    functionName: minimal_mp4_get_track_cout
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - parse_minimal_mp4
    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:1750,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1754,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1776
      start: 1749
    functionDepth: 6
    functionLinenumber: 1749
    functionLinenumberEnd: 1776
    functionName: minimal_mp4_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    - mp4parse_free
    - parse_minimal_mp4
    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:1780,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1782,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1796,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1798
      start: 1779
    functionDepth: 6
    functionLinenumber: 1779
    functionLinenumberEnd: 1798
    functionName: minimal_mp4_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - parse_minimal_mp4
    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:1802,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1804,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1817,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1801
    functionDepth: 6
    functionLinenumber: 1801
    functionLinenumberEnd: 1819
    functionName: minimal_mp4_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - Mp4parseTrackAudioInfo::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_audio_info()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1823,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1827,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1837,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1845,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1852,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1854
      start: 1822
    functionDepth: 6
    functionLinenumber: 1822
    functionLinenumberEnd: 1854
    functionName: minimal_mp4_get_track_info_invalid_track_number
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - Default::default
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info_invalid_track_number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1858,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1858,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1860,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1865,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1866,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1871,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1872,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1875
      start: 1857
    functionDepth: 5
    functionLinenumber: 1857
    functionLinenumberEnd: 1875
    functionName: parse_no_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - std::fs::File::open
    - mp4parse_get_track_info
    - expect
    - Some
    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:
    - read
    - expect
    - std::slice::from_raw_parts_mut
    - try_into
    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/avif.rs:2,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:4,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:8,1
    - Dst: mp4parse_avif_new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:9,1
    - Dst: MaybeUninit::zeroed
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:14,1
    - Dst: mp4parse_avif_get_info
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:15,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::as_mut_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:15,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::assume_init
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:16,1
    - Dst: mp4parse_avif_get_image_safe
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:19,1
    - Dst: mp4parse_avif_free
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs:21,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 43
      start: 21
    functionDepth: 18
    functionLinenumber: 21
    functionLinenumberEnd: 43
    functionName: fuzz_target
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
    functionUses: 0
    functionsReached:
    - mp4parse_avif_free
    - mp4parse_avif_get_image_safe
    - mp4parse_avif_get_info
    - std::ptr::null_mut
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::as_mut_ptr
    - mp4parse_avif_new
    - MaybeUninit::zeroed
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::assume_init
    - std::io::Cursor::new
    - Some
    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: 1
    functionsReached:
    - File::open
    - std::ptr::null_mut
    - mp4parse_avif_new
    - expect
    - Some
    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: 23
    functionLinenumber: 36
    functionLinenumberEnd: 159
    functionName: dump_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - File::open
    - mp4parse_get_fragment_info
    - mp4parse_new
    - Mp4parseByteData::default
    - std::ptr::null_mut
    - mp4parse_get_track_video_info
    - Mp4parseTrackVideoInfo::default
    - expect
    - mp4parse_get_track_count
    - Some
    - offset
    - mp4parse_free
    - mp4parse_get_indice_table
    - Mp4parseFragmentInfo::default
    - Default::default
    - mp4parse_get_track_info
    - dump_avif
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::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: 19
    functionLinenumber: 161
    functionLinenumberEnd: 199
    functionName: main
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 14
    functionsReached:
    - env_logger::Env::default
    - env_logger::Builder::from_env
    - Mp4parseStatus::is_empty
    - Vec::new
    - filter
    - skip
    - env::args
    - dump_func
    - Mp4parseStatus::push
    - init
    - as_str
    - get
    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:243,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:243,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:244,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:245,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:245,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:247,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:248,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:248,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:260,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:267,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:268,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:268,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:314,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:321,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:322,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:322,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 369
      start: 242
    functionDepth: 24
    functionLinenumber: 242
    functionLinenumberEnd: 369
    functionName: public_api
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - unwrap
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_api()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:373,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:373,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:374,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:375,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:375,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:377,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:378,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:378,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:379,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:379,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:383,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:428,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 435
      start: 372
    functionDepth: 24
    functionLinenumber: 372
    functionLinenumberEnd: 435
    functionName: public_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - unwrap
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:439,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:439,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:440,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:441,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:441,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:443,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:444,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:444,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:445,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:445,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:449,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:491,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 82
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 498
      start: 438
    functionDepth: 24
    functionLinenumber: 438
    functionLinenumberEnd: 498
    functionName: public_metadata_gnre
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - unwrap
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_metadata_gnre()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:504,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:504,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:505,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:506,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:506,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:508,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:509,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:509,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:521,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:529,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 538
      start: 501
    functionDepth: 24
    functionLinenumber: 501
    functionLinenumberEnd: 538
    functionName: public_invalid_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - unwrap
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_invalid_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:547,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:547,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:548,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:549,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:549,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:551,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:552,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:552,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:554,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:555,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:555,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:560,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 57
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 584
      start: 541
    functionDepth: 24
    functionLinenumber: 541
    functionLinenumberEnd: 584
    functionName: public_audio_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - iter
    - File::open
    - find
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    - is_some
    linkageType: ''
    returnType: void
    signature: fn public_audio_tenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:605,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:605,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:606,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:607,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:607,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:609,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:610,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:610,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:612,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:613,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:613,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:618,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 651
      start: 587
    functionDepth: 24
    functionLinenumber: 587
    functionLinenumberEnd: 651
    functionName: public_video_cenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - iter
    - File::open
    - find
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    - is_some
    linkageType: ''
    returnType: void
    signature: fn public_video_cenc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:677,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:677,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:678,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:679,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:679,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:681,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:682,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:682,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:684,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:690,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 69
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 732
      start: 654
    functionDepth: 24
    functionLinenumber: 654
    functionLinenumberEnd: 732
    functionName: public_audio_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - iter
    - File::open
    - find
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    - is_some
    linkageType: ''
    returnType: void
    signature: fn public_audio_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:758,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:758,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:759,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:760,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:760,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:762,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:763,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:763,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:765,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:773,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 71
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 735
    functionDepth: 24
    functionLinenumber: 735
    functionLinenumberEnd: 812
    functionName: public_video_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - iter
    - File::open
    - find
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    - is_some
    linkageType: ''
    returnType: void
    signature: fn public_video_cbcs()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:816,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:816,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:817,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:818,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:818,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:820,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:821,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:821,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:830,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:837,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:838,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 55
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 863
      start: 815
    functionDepth: 24
    functionLinenumber: 815
    functionLinenumberEnd: 863
    functionName: public_video_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - unwrap
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_video_av1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:867,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:867,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:868,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:868,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:869,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    - Dst: count
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:874,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 881
      start: 866
    functionDepth: 23
    functionLinenumber: 866
    functionLinenumberEnd: 881
    functionName: public_mp4_bug_1185230
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - iter
    - File::open
    - count
    - Result::expect
    - filter
    - mp4::read_mp4
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_mp4_bug_1185230()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:885,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 891
      start: 884
    functionDepth: 0
    functionLinenumber: 884
    functionLinenumberEnd: 891
    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: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:895,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:895,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:896,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:896,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 904
      start: 894
    functionDepth: 17
    functionLinenumber: 894
    functionLinenumberEnd: 904
    functionName: public_avif_primary_item
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - Result::expect
    - 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:908,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:908,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:909,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:909,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 911
      start: 907
    functionDepth: 17
    functionLinenumber: 907
    functionLinenumberEnd: 911
    functionName: public_avif_primary_item_split_extents
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - Result::expect
    - 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:915,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 918
      start: 914
    functionDepth: 17
    functionLinenumber: 914
    functionLinenumberEnd: 918
    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:922,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:923,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 928
      start: 921
    functionDepth: 17
    functionLinenumber: 921
    functionLinenumberEnd: 928
    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:932,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:933,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 931
    functionDepth: 17
    functionLinenumber: 931
    functionLinenumberEnd: 938
    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:942,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:942,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:943,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:943,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 951
      start: 941
    functionDepth: 17
    functionLinenumber: 941
    functionLinenumberEnd: 951
    functionName: public_avif_unknown_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - Result::expect
    - 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:956,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:956,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 961
      start: 954
    functionDepth: 0
    functionLinenumber: 954
    functionLinenumberEnd: 961
    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:965,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:965,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 967
      start: 964
    functionDepth: 0
    functionLinenumber: 964
    functionLinenumberEnd: 967
    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:971,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:971,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 973
      start: 970
    functionDepth: 0
    functionLinenumber: 970
    functionLinenumberEnd: 973
    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:979,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:979,1
    - Dst: rewind
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:986,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:986,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:987,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: 989
      start: 975
    functionDepth: 16
    functionLinenumber: 975
    functionLinenumberEnd: 989
    functionName: for_strictness_result
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 7
    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:993,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1000
      start: 992
    functionDepth: 17
    functionLinenumber: 992
    functionLinenumberEnd: 1000
    functionName: assert_avif_should
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 11
    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:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - path
    - expected
    argTypes:
    - '&str'
    - Status
    constantsTouched: []
    func_position:
      end: 1011
      start: 1003
    functionDepth: 17
    functionLinenumber: 1003
    functionLinenumberEnd: 1011
    functionName: assert_avif_shall
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 13
    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:1019,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1020
      start: 1018
    functionDepth: 18
    functionLinenumber: 1018
    functionLinenumberEnd: 1020
    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:1024,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1028,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1031
      start: 1023
    functionDepth: 17
    functionLinenumber: 1023
    functionLinenumberEnd: 1031
    functionName: public_avif_clap_missing_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - assert_unsupported_nonfatal
    - for_strictness_result
    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:1035,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1036
      start: 1034
    functionDepth: 18
    functionLinenumber: 1034
    functionLinenumberEnd: 1036
    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:1040,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1041
      start: 1039
    functionDepth: 18
    functionLinenumber: 1039
    functionLinenumberEnd: 1041
    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:1045,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1046
      start: 1044
    functionDepth: 18
    functionLinenumber: 1044
    functionLinenumberEnd: 1046
    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:1050,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1051
      start: 1049
    functionDepth: 18
    functionLinenumber: 1049
    functionLinenumberEnd: 1051
    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:1055,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1059
      start: 1054
    functionDepth: 18
    functionLinenumber: 1054
    functionLinenumberEnd: 1059
    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:1067,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1067,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1072
      start: 1066
    functionDepth: 0
    functionLinenumber: 1066
    functionLinenumberEnd: 1072
    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:1076,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1077
      start: 1075
    functionDepth: 18
    functionLinenumber: 1075
    functionLinenumberEnd: 1077
    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:1081,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1082,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1083
      start: 1080
    functionDepth: 18
    functionLinenumber: 1080
    functionLinenumberEnd: 1083
    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:1087,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1088
      start: 1086
    functionDepth: 18
    functionLinenumber: 1086
    functionLinenumberEnd: 1088
    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:1095,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1099
      start: 1091
    functionDepth: 18
    functionLinenumber: 1091
    functionLinenumberEnd: 1099
    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:1106,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1107
      start: 1102
    functionDepth: 18
    functionLinenumber: 1102
    functionLinenumberEnd: 1107
    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:1111,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1112
      start: 1110
    functionDepth: 18
    functionLinenumber: 1110
    functionLinenumberEnd: 1112
    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:1116,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1117
      start: 1115
    functionDepth: 18
    functionLinenumber: 1115
    functionLinenumberEnd: 1117
    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:1127,1
    - Dst: pixi_test
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1128,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1129
      start: 1120
    functionDepth: 0
    functionLinenumber: 1120
    functionLinenumberEnd: 1129
    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:1133,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1134,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1135
      start: 1132
    functionDepth: 18
    functionLinenumber: 1132
    functionLinenumberEnd: 1135
    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:1139,1
    - Dst: assert_avif_shall
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1140,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1141
      start: 1138
    functionDepth: 18
    functionLinenumber: 1138
    functionLinenumberEnd: 1141
    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:1145,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1146
      start: 1144
    functionDepth: 18
    functionLinenumber: 1144
    functionLinenumberEnd: 1146
    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:1150,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1151
      start: 1149
    functionDepth: 18
    functionLinenumber: 1149
    functionLinenumberEnd: 1151
    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: 1168
      start: 1154
    functionDepth: 0
    functionLinenumber: 1154
    functionLinenumberEnd: 1168
    functionName: assert_unsupported_nonfatal
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 3
    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:1175,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1176,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - path
    - feature
    - essential
    argTypes:
    - '&str'
    - mp4::Feature
    - bool
    constantsTouched: []
    func_position:
      end: 1186
      start: 1174
    functionDepth: 17
    functionLinenumber: 1174
    functionLinenumberEnd: 1186
    functionName: assert_unsupported
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 2
    functionsReached:
    - assert_unsupported_nonfatal
    - for_strictness_result
    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:1189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1190
      start: 1188
    functionDepth: 18
    functionLinenumber: 1188
    functionLinenumberEnd: 1190
    functionName: assert_unsupported_nonessential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 1
    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:1193,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - path
    - feature
    argTypes:
    - '&str'
    - mp4::Feature
    constantsTouched: []
    func_position:
      end: 1194
      start: 1192
    functionDepth: 18
    functionLinenumber: 1192
    functionLinenumberEnd: 1194
    functionName: assert_unsupported_essential
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 3
    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:1198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1199
      start: 1197
    functionDepth: 19
    functionLinenumber: 1197
    functionLinenumberEnd: 1199
    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:1203,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1204
      start: 1202
    functionDepth: 18
    functionLinenumber: 1202
    functionLinenumberEnd: 1204
    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:1208,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1209
      start: 1207
    functionDepth: 19
    functionLinenumber: 1207
    functionLinenumberEnd: 1209
    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:1213,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1214
      start: 1212
    functionDepth: 18
    functionLinenumber: 1212
    functionLinenumberEnd: 1214
    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:1218,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1219
      start: 1217
    functionDepth: 19
    functionLinenumber: 1217
    functionLinenumberEnd: 1219
    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:1223,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1224
      start: 1222
    functionDepth: 18
    functionLinenumber: 1222
    functionLinenumberEnd: 1224
    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: assert_unsupported_essential
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1228,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1229
      start: 1227
    functionDepth: 19
    functionLinenumber: 1227
    functionLinenumberEnd: 1229
    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:1234,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1234,1
    - Dst: assert_unsupported_nonfatal
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1235,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1240
      start: 1232
    functionDepth: 17
    functionLinenumber: 1232
    functionLinenumberEnd: 1240
    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:1244,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1244,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1245,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1253
      start: 1243
    functionDepth: 17
    functionLinenumber: 1243
    functionLinenumberEnd: 1253
    functionName: public_avis_major_no_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - 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:1257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1257,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1258,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1273
      start: 1256
    functionDepth: 17
    functionLinenumber: 1256
    functionLinenumberEnd: 1273
    functionName: public_avis_major_with_pitm_and_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - 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:1277,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1278
      start: 1276
    functionDepth: 18
    functionLinenumber: 1276
    functionLinenumberEnd: 1278
    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:1282,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1282,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1283,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1281
    functionDepth: 17
    functionLinenumber: 1281
    functionLinenumberEnd: 1296
    functionName: public_avif_avis_with_no_pitm_no_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - mp4::read_avif
    - expect
    - 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:1300,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1301
      start: 1299
    functionDepth: 18
    functionLinenumber: 1299
    functionLinenumberEnd: 1301
    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:1305,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1309
      start: 1304
    functionDepth: 18
    functionLinenumber: 1304
    functionLinenumberEnd: 1309
    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:1313,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1314
      start: 1312
    functionDepth: 18
    functionLinenumber: 1312
    functionLinenumberEnd: 1314
    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:1318,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1318,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1323
      start: 1317
    functionDepth: 0
    functionLinenumber: 1317
    functionLinenumberEnd: 1323
    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:1326,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1326,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1327,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 14
    argCount: 2
    argNames:
    - path
    - looped
    argTypes:
    - '&str'
    - bool
    constantsTouched: []
    func_position:
      end: 1343
      start: 1325
    functionDepth: 17
    functionLinenumber: 1325
    functionLinenumberEnd: 1343
    functionName: public_avis_loop_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 2
    functionsReached:
    - mp4::read_avif
    - expect
    - 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:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1348
      start: 1346
    functionDepth: 18
    functionLinenumber: 1346
    functionLinenumberEnd: 1348
    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:1352,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1353
      start: 1351
    functionDepth: 18
    functionLinenumber: 1351
    functionLinenumberEnd: 1353
    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:1357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1358
      start: 1356
    functionDepth: 23
    functionLinenumber: 1356
    functionLinenumberEnd: 1358
    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:1363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1364
      start: 1362
    functionDepth: 23
    functionLinenumber: 1362
    functionLinenumberEnd: 1364
    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:1367,1
    - Dst: SampleToChunkIterator::map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    - Dst: collect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 1
    argNames:
    - strs
    argTypes:
    - '&[&str]'
    constantsTouched: []
    func_position:
      end: 1371
      start: 1366
    functionDepth: 21
    functionLinenumber: 1366
    functionLinenumberEnd: 1371
    functionName: to_canonical_paths
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 1
    functionsReached:
    - '&[&str]::iter'
    - SampleToChunkIterator::map
    - collect
    - map
    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:1374,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1375,1
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1377,1
    - Dst: walkdir::WalkDir::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1382,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1383,1
    - Dst: path
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1384,1
    - Dst: extension
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1385,1
    - Dst: unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1385,1
    - Dst: is_file
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1386,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: parent
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1390,1
    - Dst: std::fs::canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1391,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1391,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1392,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1393,1
    - Dst: Vec::contains
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: canonicalize
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1395,1
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1402,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1402,1
    - Dst: mp4::read_avif
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1403,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 80
    argCount: 1
    argNames:
    - strictness
    argTypes:
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 1426
      start: 1373
    functionDepth: 22
    functionLinenumber: 1373
    functionLinenumberEnd: 1426
    functionName: public_avif_read_samples_impl
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 2
    functionsReached:
    - parent
    - File::open
    - extension
    - walkdir::WalkDir::new
    - is_file
    - mp4::read_avif
    - unwrap_or_default
    - std::fs::canonicalize
    - unwrap
    - path
    - contains
    - expect
    - canonicalize
    - Vec::contains
    - to_canonical_paths
    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:1430,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1430,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1431,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1432,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1432,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1434,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1435,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1435,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1437,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1438,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1438,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1452
      start: 1429
    functionDepth: 24
    functionLinenumber: 1429
    functionLinenumberEnd: 1452
    functionName: public_video_h263
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_video_h263()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1456,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1456,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1457,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1458,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1458,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1460,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1461,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1461,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1463,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1464,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1464,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1478
      start: 1455
    functionDepth: 24
    functionLinenumber: 1455
    functionLinenumberEnd: 1478
    functionName: public_video_hevc
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_video_hevc()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1482,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1482,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1483,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1484,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1486,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1487,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1487,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1489,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1490,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1490,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1507
      start: 1481
    functionDepth: 24
    functionLinenumber: 1481
    functionLinenumberEnd: 1507
    functionName: public_parse_pasp_h264
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_parse_pasp_h264()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1512,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1512,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1513,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1514,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1514,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1516,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1517,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1517,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1519,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1520,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1520,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1532
      start: 1511
    functionDepth: 24
    functionLinenumber: 1511
    functionLinenumberEnd: 1532
    functionName: public_audio_amrnb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrnb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1537,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1537,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1538,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1539,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1539,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1541,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1542,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1542,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1544,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1545,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1545,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1557
      start: 1536
    functionDepth: 24
    functionLinenumber: 1536
    functionLinenumberEnd: 1557
    functionName: public_audio_amrwb
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_audio_amrwb()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1562,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1562,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1563,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1564,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1564,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1566,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1567,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1567,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1569,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1570,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1570,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1584
      start: 1561
    functionDepth: 24
    functionLinenumber: 1561
    functionLinenumberEnd: 1584
    functionName: public_video_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    linkageType: ''
    returnType: void
    signature: fn public_video_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1588,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1588,1
    - Dst: Vec::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1589,1
    - Dst: read_to_end
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1590,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1590,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1592,1
    - Dst: mp4::read_mp4
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1593,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1593,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1609,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1609,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1616,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs:1616,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 62
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1587
    functionDepth: 24
    functionLinenumber: 1587
    functionLinenumberEnd: 1661
    functionName: public_audio_xhe_aac
    functionSourceFile: /src/mp4parse-rust/mp4parse/tests/public.rs
    functionUses: 0
    functionsReached:
    - first
    - File::open
    - Cursor::new
    - Result::expect
    - Vec::new
    - mp4::read_mp4
    - read_to_end
    - expect
    - as_ref
    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: 3
    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:
    - checked_add
    - U::into
    - map
    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
    - and_then
    - checked_sub
    - i64::try_from
    - map
    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:242,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:243,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:244,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:251,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:253,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:253,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:253,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:255,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:256,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:256,1
    - Dst: sort_by_key
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:259,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:259,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:261,1
    - Dst: windows
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:264,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:273,1
    CyclomaticComplexity: 25
    EdgeCount: 25
    ICount: 217
    argCount: 2
    argNames:
    - track
    - track_offset_time
    argTypes:
    - '&Track'
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 274
      start: 139
    functionDepth: 21
    functionLinenumber: 139
    functionLinenumberEnd: 274
    functionName: create_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - sample_to_chunk_iter
    - sort_by_key
    - SampleToChunkIterator::checked_sub
    - is_some
    - iter
    - TrackScaledTime::<i64>
    - get_mut
    - SampleToChunkIterator::map
    - ok
    - TryVec::with_capacity
    - windows
    - next_offset_time
    - get
    - into
    - next_delta
    - as_ref
    - next
    - as_slice
    - as_mut_slice
    - and_then
    - map
    - Some
    - to_usize
    - try_fold
    - Default::default
    - is_empty
    - CheckedInteger
    - push
    - len
    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:293,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:293,1
    - Dst: SampleToChunkIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:300,1
    - Dst: TimeOffsetVersion::Version0
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:306,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:312,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:313,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:316,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:319,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:319,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 320
      start: 292
    functionDepth: 3
    functionLinenumber: 292
    functionLinenumberEnd: 320
    functionName: TimeOffsetIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - next
    - SampleToChunkIterator::next
    - i64::from
    - and
    - TimeOffsetVersion::Version0
    - Some
    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:325,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:326,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 324
    functionDepth: 4
    functionLinenumber: 324
    functionLinenumberEnd: 329
    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:350,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:350,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:351,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:359,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:362,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:362,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 363
      start: 349
    functionDepth: 4
    functionLinenumber: 349
    functionLinenumberEnd: 363
    functionName: TimeToSampleIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - Some
    - next
    - 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:368,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:369,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:369,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:370,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 372
      start: 367
    functionDepth: 5
    functionLinenumber: 367
    functionLinenumberEnd: 372
    functionName: TimeToSampleIterator::next_delta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - i64::from
    - TrackScaledTime::<i64>
    - 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:393,1
    - Dst: '&''a [u8]::iter'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:393,1
    - Dst: SampleToChunkIterator::peekable
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:393,1
    - Dst: '&''a TryVec<u64>::len'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:394,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:394,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:394,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: 399
      start: 386
    functionDepth: 20
    functionLinenumber: 386
    functionLinenumberEnd: 399
    functionName: sample_to_chunk_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - SampleToChunkIterator::peekable
    - '&''a TryVec<u64>::len'
    - try_into
    - '&''a [u8]::iter'
    - '&''a TryVec<SampleToChunk>::as_slice'
    - expect
    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:412,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:412,1
    - Dst: SampleToChunkIterator::locate
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:413,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:414,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:416,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:416,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:416,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:414,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:423,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:427,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 428
      start: 411
    functionDepth: 2
    functionLinenumber: 411
    functionLinenumberEnd: 428
    functionName: SampleToChunkIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - next
    - and_then
    - checked_sub
    - try_into
    - map
    - SampleToChunkIterator::locate
    - expect
    - len
    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:435,1
    - Dst: peek
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:435,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:449,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 457
      start: 433
    functionDepth: 3
    functionLinenumber: 433
    functionLinenumberEnd: 457
    functionName: SampleToChunkIterator::locate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - checked_add
    - next
    - peek
    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:473,1
    - Dst: num_traits::cast
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:479,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:479,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:479,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:480,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:480,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:482,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - numerator
    - denominator
    - scale2
    argTypes:
    - T
    - T
    - S
    constantsTouched: []
    func_position:
      end: 485
      start: 468
    functionDepth: 0
    functionLinenumber: 468
    functionLinenumberEnd: 485
    functionName: rational_scale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 3
    functionsReached:
    - T::is_zero
    - and_then
    - checked_mul
    - checked_add
    - num_traits::cast
    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:494,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:494,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - MediaScaledTime
    - MediaTimeScale
    constantsTouched: []
    func_position:
      end: 495
      start: 492
    functionDepth: 1
    functionLinenumber: 492
    functionLinenumberEnd: 495
    functionName: media_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - rational_scale
    - Option::map
    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:508,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:508,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - TrackScaledTime<T>
    - TrackTimeScale<T>
    constantsTouched: []
    func_position:
      end: 509
      start: 499
    functionDepth: 1
    functionLinenumber: 499
    functionLinenumberEnd: 509
    functionName: track_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - rational_scale
    - Option::map
    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: 521
      start: 512
    functionDepth: 0
    functionLinenumber: 512
    functionLinenumberEnd: 521
    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:525,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:526,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 531
      start: 524
    functionDepth: 0
    functionLinenumber: 524
    functionLinenumberEnd: 531
    functionName: media_time_overflow
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - MediaTimeScale
    - MediaScaledTime
    linkageType: ''
    returnType: void
    signature: fn media_time_overflow()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: TrackTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:535,1
    - Dst: TrackScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:536,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 541
      start: 534
    functionDepth: 0
    functionLinenumber: 534
    functionLinenumberEnd: 541
    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: 22
    functionLinenumber: 5
    functionLinenumberEnd: 12
    functionName: check_parser_state
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/macros.rs
    functionUses: 27
    functionsReached:
    - limit
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:81,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 82
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 82
    functionName: usize::to_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - usize::try_into
    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: 108
      start: 94
    functionDepth: 0
    functionLinenumber: 94
    functionLinenumberEnd: 108
    functionName: impl_to_usize_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - impl_to_usize_from::try_into
    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: 128
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 128
    functionName: OffsetReader::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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: 134
      start: 132
    functionDepth: 0
    functionLinenumber: 132
    functionLinenumberEnd: 134
    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:139,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:141,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:143,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:141,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:145,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 146
      start: 138
    functionDepth: 2
    functionLinenumber: 138
    functionLinenumberEnd: 146
    functionName: OffsetReader::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - read
    - checked_add
    - to_u64
    - expect
    - Ok
    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: 310
      start: 297
    functionDepth: 0
    functionLinenumber: 297
    functionLinenumberEnd: 310
    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:317,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:332,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:332,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 335
      start: 316
    functionDepth: 0
    functionLinenumber: 316
    functionLinenumberEnd: 335
    functionName: Feature::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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:346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 347
      start: 345
    functionDepth: 0
    functionLinenumber: 345
    functionLinenumberEnd: 347
    functionName: UnsupportedFeatures::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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: 351
      start: 349
    functionDepth: 0
    functionLinenumber: 349
    functionLinenumberEnd: 351
    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: 362
      start: 353
    functionDepth: 0
    functionLinenumber: 353
    functionLinenumberEnd: 362
    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:366,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 367
      start: 364
    functionDepth: 1
    functionLinenumber: 364
    functionLinenumberEnd: 367
    functionName: UnsupportedFeatures::insert
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    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:370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 371
      start: 369
    functionDepth: 1
    functionLinenumber: 369
    functionLinenumberEnd: 371
    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: 375
      start: 373
    functionDepth: 0
    functionLinenumber: 373
    functionLinenumberEnd: 375
    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:395,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:395,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parse_status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 397
      start: 392
    functionDepth: 0
    functionLinenumber: 392
    functionLinenumberEnd: 397
    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: 908
      start: 906
    functionDepth: 0
    functionLinenumber: 906
    functionLinenumberEnd: 908
    functionName: Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 6
    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: 780
      start: 420
    functionDepth: 0
    functionLinenumber: 420
    functionLinenumberEnd: 780
    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: 829
      start: 827
    functionDepth: 0
    functionLinenumber: 827
    functionLinenumberEnd: 829
    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: 856
      start: 854
    functionDepth: 0
    functionLinenumber: 854
    functionLinenumberEnd: 856
    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:901,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 902
      start: 895
    functionDepth: 5
    functionLinenumber: 895
    functionLinenumberEnd: 902
    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:952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - brand
    argTypes:
    - '&FourCC'
    constantsTouched: []
    func_position:
      end: 953
      start: 951
    functionDepth: 2
    functionLinenumber: 951
    functionLinenumberEnd: 953
    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:1100,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1100,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1101,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - track_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1103
      start: 1099
    functionDepth: 21
    functionLinenumber: 1099
    functionLinenumberEnd: 1103
    functionName: TrackReferenceBox::has_auxl_reference
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - iter
    - any
    - contains
    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: 1235
      start: 1233
    functionDepth: 0
    functionLinenumber: 1233
    functionLinenumberEnd: 1235
    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: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1536,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1536,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1536,1
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1540,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1540,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1540,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1545
      start: 1534
    functionDepth: 1
    functionLinenumber: 1534
    functionLinenumberEnd: 1545
    functionName: IsobmffItem::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    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:1563,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1563,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1565
      start: 1560
    functionDepth: 5
    functionLinenumber: 1560
    functionLinenumberEnd: 1565
    functionName: AvifItem::with_inline_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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:1600,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1601
      start: 1599
    functionDepth: 0
    functionLinenumber: 1599
    functionLinenumberEnd: 1601
    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:1604,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1604,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1606,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1607
      start: 1603
    functionDepth: 20
    functionLinenumber: 1603
    functionLinenumberEnd: 1607
    functionName: AvifContext::primary_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - AvifContext::item_as_slice
    - map
    - as_ref
    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:1610,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1610,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1612,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1613
      start: 1609
    functionDepth: 20
    functionLinenumber: 1609
    functionLinenumberEnd: 1613
    functionName: AvifContext::primary_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - AvifContext::image_bits_per_channel
    - map
    - as_ref
    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:1616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1617
      start: 1615
    functionDepth: 0
    functionLinenumber: 1615
    functionLinenumberEnd: 1617
    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:1620,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1620,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1622,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1623
      start: 1619
    functionDepth: 20
    functionLinenumber: 1619
    functionLinenumberEnd: 1623
    functionName: AvifContext::alpha_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - AvifContext::item_as_slice
    - map
    - as_ref
    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:1626,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1626,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1628,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1629
      start: 1625
    functionDepth: 20
    functionLinenumber: 1625
    functionLinenumberEnd: 1629
    functionName: AvifContext::alpha_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - AvifContext::image_bits_per_channel
    - map
    - as_ref
    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:1632,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1636,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1636,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1638,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1640
      start: 1631
    functionDepth: 19
    functionLinenumber: 1631
    functionLinenumberEnd: 1640
    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:1644,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1648,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1651,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1655,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1655,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1659,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1659,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1642
    functionDepth: 19
    functionLinenumber: 1642
    functionLinenumberEnd: 1661
    functionName: AvifContext::spatial_extents_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - fail_with_status_if
    - get
    - std::ptr::null
    - 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:1666,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1669,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1672,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1675,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1675,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1679,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1679,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1684
      start: 1664
    functionDepth: 20
    functionLinenumber: 1664
    functionLinenumberEnd: 1684
    functionName: AvifContext::nclx_colour_information_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - as_slice
    - Err
    - len
    - get_multiple
    - Ok
    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:1689,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1692,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1695,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1698,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1698,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1698,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1702,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1702,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1707
      start: 1687
    functionDepth: 20
    functionLinenumber: 1687
    functionLinenumberEnd: 1707
    functionName: AvifContext::icc_colour_information
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Some
    - as_slice
    - Err
    - len
    - get_multiple
    - Ok
    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:1711,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1715,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1717,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1720,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1722
      start: 1709
    functionDepth: 19
    functionLinenumber: 1709
    functionLinenumberEnd: 1722
    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:1726,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1730,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1732,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1732,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: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1737
      start: 1724
    functionDepth: 19
    functionLinenumber: 1724
    functionLinenumberEnd: 1737
    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:1741,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1745,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1747,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1747,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1750,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1750,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1752
      start: 1739
    functionDepth: 19
    functionLinenumber: 1739
    functionLinenumberEnd: 1752
    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:1760,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1769,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1769,1
    - Dst: Self::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1771,1
    - Dst: unwrap_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1769,1
    - Dst: Self::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1774,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - item
    argTypes:
    - '&''a AvifItem'
    constantsTouched: []
    func_position:
      end: 1776
      start: 1756
    functionDepth: 19
    functionLinenumber: 1756
    functionLinenumberEnd: 1776
    functionName: AvifContext::item_as_slice
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - unwrap_or_else
    - Self::as_slice
    - Self::get
    - and_then
    - get
    - as_ref
    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:1810,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1810,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1810,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1810,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1814
      start: 1809
    functionDepth: 1
    functionLinenumber: 1809
    functionLinenumberEnd: 1814
    functionName: DataBox::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    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:1818,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1819,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1825
      start: 1817
    functionDepth: 0
    functionLinenumber: 1817
    functionLinenumberEnd: 1825
    functionName: u64_to_usize_logged
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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: 1833
      start: 1828
    functionDepth: 0
    functionLinenumber: 1828
    functionLinenumberEnd: 1833
    functionName: DataBox::from_mdat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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: 1840
      start: 1835
    functionDepth: 0
    functionLinenumber: 1835
    functionLinenumberEnd: 1840
    functionName: DataBox::from_idat
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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: 1844
      start: 1842
    functionDepth: 0
    functionLinenumber: 1842
    functionLinenumberEnd: 1844
    functionName: DataBox::data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    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:1851,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1853,1
    - Dst: Option::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1854,1
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1857,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1860
      start: 1849
    functionDepth: 1
    functionLinenumber: 1849
    functionLinenumberEnd: 1860
    functionName: DataBox::start
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Option::is_none
    - u64::checked_sub
    - u64_to_usize_logged
    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:1866,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1866,1
    - Dst: IsobmffItem::MdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1867,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&Extent'
    constantsTouched: []
    func_position:
      end: 1869
      start: 1864
    functionDepth: 0
    functionLinenumber: 1864
    functionLinenumberEnd: 1869
    functionName: DataBox::location
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - IsobmffItem::MdatLocation
    - IsobmffItem::IdatLocation
    - '&Extent::clone'
    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:1878,1
    - Dst: Option::checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1879,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1880,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1883,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1883,1
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1886,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1887,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1887,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&''a Extent'
    constantsTouched: []
    func_position:
      end: 1890
      start: 1875
    functionDepth: 19
    functionLinenumber: 1875
    functionLinenumberEnd: 1890
    functionName: DataBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Option::checked_add
    - DataBox::start
    - '&[u8]::get'
    - is_none
    - DataBox::data
    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:1900,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1900,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1901,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1901,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1903,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - version
    argTypes:
    - '&mut impl ReadBytesExt'
    - u8
    constantsTouched: []
    func_position:
      end: 1905
      start: 1899
    functionDepth: 1
    functionLinenumber: 1899
    functionLinenumberEnd: 1905
    functionName: ItemId::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - be_u16
    - ItemId
    - into
    - Ok
    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: 1941
      start: 1935
    functionDepth: 0
    functionLinenumber: 1935
    functionLinenumberEnd: 1941
    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:1949,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1950,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1951,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1952,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1954
      start: 1947
    functionDepth: 0
    functionLinenumber: 1947
    functionLinenumberEnd: 1954
    functionName: IlocFieldSize::try_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - into
    - Ok
    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:1969,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1970,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1971,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1972,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1972,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1974
      start: 1967
    functionDepth: 0
    functionLinenumber: 1967
    functionLinenumberEnd: 1974
    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:2038,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2040,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2043,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - violation
    - status
    argTypes:
    - bool
    - Status
    constantsTouched: []
    func_position:
      end: 2045
      start: 2037
    functionDepth: 1
    functionLinenumber: 2037
    functionLinenumberEnd: 2045
    functionName: fail_with_status_if
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 8
    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:2098,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2098,1
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2098,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrackScaledTime<T>
    constantsTouched: []
    func_position:
      end: 2099
      start: 2097
    functionDepth: 0
    functionLinenumber: 2097
    functionLinenumberEnd: 2099
    functionName: TrackScaledTime::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - checked_add
    - Self
    - map
    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:2128,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 2130
      start: 2125
    functionDepth: 1
    functionLinenumber: 2125
    functionLinenumberEnd: 2130
    functionName: Track::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 4
    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: 2146
      start: 2144
    functionDepth: 0
    functionLinenumber: 2144
    functionLinenumberEnd: 2146
    functionName: BoxIter::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 55
    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:2149,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2151,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2151,1
    - Dst: take
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2153,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2153,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2155,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2156,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2158
      start: 2148
    functionDepth: 3
    functionLinenumber: 2148
    functionLinenumberEnd: 2158
    functionName: BoxIter::next_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Ok
    - Some
    - Err
    - take
    - read_box_header
    - saturating_sub
    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:2163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2164
      start: 2162
    functionDepth: 2
    functionLinenumber: 2162
    functionLinenumberEnd: 2164
    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:2169,1
    - Dst: BMFFBox::bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2169,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut TryVec<u8>'
    constantsTouched: []
    func_position:
      end: 2170
      start: 2168
    functionDepth: 23
    functionLinenumber: 2168
    functionLinenumberEnd: 2170
    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:2175,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2175,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2176
      start: 2174
    functionDepth: 1
    functionLinenumber: 2174
    functionLinenumberEnd: 2176
    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:2181,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2182
      start: 2180
    functionDepth: 22
    functionLinenumber: 2180
    functionLinenumberEnd: 2182
    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: 2186
      start: 2184
    functionDepth: 0
    functionLinenumber: 2184
    functionLinenumberEnd: 2186
    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:2189,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2190
      start: 2188
    functionDepth: 1
    functionLinenumber: 2188
    functionLinenumberEnd: 2190
    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:2195,1
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2196,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2199
      start: 2194
    functionDepth: 22
    functionLinenumber: 2194
    functionLinenumberEnd: 2199
    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:2211,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2212,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2212,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2219,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2219,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2222,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2223,1
    - Dst: '&mut T::read'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2233,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2234,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2236,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2239,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2249,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2249,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2250,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2250,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2253,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2259
      start: 2210
    functionDepth: 2
    functionLinenumber: 2210
    functionLinenumberEnd: 2259
    functionName: read_box_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 6
    functionsReached:
    - Ok
    - be_u32
    - BoxType::from
    - Err
    - u64::from
    - to_u64
    - be_u64
    - '&mut T::read'
    - Error::Unsupported
    - Error::from
    - Some
    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:2263,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2264,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2265,1
    - Dst: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2266,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2267,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2269,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2269,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2269,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2271
      start: 2262
    functionDepth: 1
    functionLinenumber: 2262
    functionLinenumberEnd: 2271
    functionName: read_fullbox_extra
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 22
    functionsReached:
    - u32::from
    - '&mut T::read_u8'
    - Ok
    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:2275,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2278,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2278,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2281,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2282
      start: 2274
    functionDepth: 2
    functionLinenumber: 2274
    functionLinenumberEnd: 2282
    functionName: read_fullbox_version_no_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 10
    functionsReached:
    - Err
    - read_fullbox_extra
    - Ok
    - 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:2288,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2290,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2290,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2293,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2296,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2297
      start: 2285
    functionDepth: 1
    functionLinenumber: 2285
    functionLinenumberEnd: 2297
    functionName: skip_box_content
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 19
    functionsReached:
    - checked_sub
    - '&mut BMFFBox<T>::get_header'
    - skip
    - ok_or
    - Error::Unsupported
    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:2302,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2303,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2307,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2308
      start: 2300
    functionDepth: 23
    functionLinenumber: 2300
    functionLinenumberEnd: 2308
    functionName: skip_box_remain
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 14
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - '&mut BMFFBox<T>::get_header'
    - skip
    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: 2323
      start: 2318
    functionDepth: 0
    functionLinenumber: 2318
    functionLinenumberEnd: 2323
    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: 2330
      start: 2325
    functionDepth: 0
    functionLinenumber: 2325
    functionLinenumberEnd: 2330
    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:2337,1
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2338,1
    - Dst: UnsupportedFeatures::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2340,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2343,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2345,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2347,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2348,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2349,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2350,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2362,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2367,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2374,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2382,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2385,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2390,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2393,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2398,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2402,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2408,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2409,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2411,1
    - Dst: read_avif_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2411,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2417,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2418,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2419,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2421,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2421,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2424,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2428,1
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2430,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2431,1
    - Dst: set_limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2437,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2443,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2445,1
    - Dst: DataBox::from_mdat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2445,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2448,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2450,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2457,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2467,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2467,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2470,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2470,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2470,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2470,1
    - Dst: is_alpha
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2480,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2481,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2482,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2482,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2483,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2486,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2506,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2508,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2519,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2520,1
    - Dst: AvifItem::with_inline_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2520,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2532,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2536,1
    - Dst: location
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2538,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2549,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2553,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2555,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2563,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2564,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2571,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2578,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2580,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2584,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2588,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2598,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2598,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2599,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2599,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2601,1
    - Dst: has_primary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2607,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2607,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2608,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2616,1
    - Dst: None::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2616,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2617,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2625,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2626,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2626,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2628,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2634,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2634,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2635,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2642,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2642,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2644,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2645,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2651,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2656,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2666,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2667,1
    - Dst: Self::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2675,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2678,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2680,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2681,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2687,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2693,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2696,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2697,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2699,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 473
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 2711
      start: 2334
    functionDepth: 16
    functionLinenumber: 2334
    functionLinenumberEnd: 2711
    functionName: read_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 11
    functionsReached:
    - find
    - None::is_none
    - location
    - Self::insert
    - map_or
    - has_sequence
    - is_none
    - Error::from
    - has_primary
    - fail_with_status_if
    - ok_or_else
    - is_some
    - Mp4parseStatus::iter
    - bytes_left
    - iter
    - get_mut
    - skip_box_content
    - Err
    - SampleToChunkIterator::next_box
    - read_moov
    - fallible_collections::try_read_up_to
    - extend_from_slice
    - TryVec::with_capacity
    - DataBox::from_mdat
    - get
    - into
    - set_limit
    - as_ref
    - check_parser_state
    - AvifItem::with_inline_data
    - next
    - check_image_item
    - BoxIter::new
    - and_then
    - any
    - TryVec::new
    - None::is_some
    - contains
    - read_into_try_vec
    - map
    - Some
    - offset
    - Ok
    - OffsetReader::new
    - find_and_add_to_item
    - missing_property_for
    - UnsupportedFeatures::new
    - filter
    - is_some_and
    - Mp4parseStatus::push
    - read_ftyp
    - read_avif_meta
    - len
    - is_alpha
    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:2722,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2725,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2725,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2736,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2737,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2741,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2750,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2752,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2754,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2762,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2763,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2765,1
    - Dst: read_iinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2765,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2768,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2769,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2771,1
    - Dst: read_iloc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2771,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2774,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2775,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2777,1
    - Dst: read_pitm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2777,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2780,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2781,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2783,1
    - Dst: read_iref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2783,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2786,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2787,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2789,1
    - Dst: read_iprp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2789,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2797,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2798,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2800,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2801,1
    - Dst: DataBox::from_idat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2801,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2803,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2806,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2809,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2810,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2811,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2813,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2814,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: 2817
      start: 2717
    functionDepth: 26
    functionLinenumber: 2717
    functionLinenumberEnd: 2817
    functionName: read_avif_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::box_iter'
    - fail_with_status_if
    - None::unwrap_or_default
    - skip_box_content
    - Err
    - SampleToChunkIterator::next_box
    - read_fullbox_version_no_flags
    - read_iprp
    - read_iref
    - Error::Unsupported
    - DataBox::from_idat
    - into
    - check_parser_state
    - None::is_some
    - read_into_try_vec
    - read_iinf
    - Some
    - Ok
    - read_hdlr
    - read_pitm
    - read_iloc
    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:2822,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2824,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2825,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2825,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2827,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2827,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2830,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2831
      start: 2821
    functionDepth: 3
    functionLinenumber: 2821
    functionLinenumberEnd: 2831
    functionName: read_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - Err
    - be_u16
    - read_fullbox_version_no_flags
    - ItemId
    - Error::Unsupported
    - into
    - Ok
    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:2840,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2844,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2844,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2848,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2848,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2850,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2850,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2852,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2854,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2855,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2857,1
    - Dst: read_infe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2860,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2861,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2864,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2867,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: 2868
      start: 2835
    functionDepth: 25
    functionLinenumber: 2835
    functionLinenumberEnd: 2868
    functionName: read_iinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - be_u32
    - Err
    - SampleToChunkIterator::next_box
    - to_usize
    - be_u16
    - read_fullbox_version_no_flags
    - TryVec::with_capacity
    - read_infe
    - '&mut BMFFBox<T>::box_iter'
    - Error::Unsupported
    - push
    - into
    - Ok
    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:2876,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2876,1
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2877,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2880
      start: 2875
    functionDepth: 0
    functionLinenumber: 2875
    functionLinenumberEnd: 2880
    functionName: U32BE::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::str::from_utf8
    - write_str
    - to_be_bytes
    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:2890,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2896,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2903,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2904,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2904,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2905,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2906,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2906,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2909,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2911,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2915,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2918,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2919,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2921,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2921,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: 2923
      start: 2885
    functionDepth: 24
    functionLinenumber: 2885
    functionLinenumberEnd: 2923
    functionName: read_infe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut UnsupportedFeatures::insert'
    - Some
    - be_u32
    - Err
    - read_fullbox_extra
    - be_u16
    - ItemId
    - Error::Unsupported
    - fail_with_status_if
    - into
    - Ok
    - skip_box_remain
    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:2928,1
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2929,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2931,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2931,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2934,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2935,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2937,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2938,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2939,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2939,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2941,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2943,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2945,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2946,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2951,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2956,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2957
      start: 2927
    functionDepth: 23
    functionLinenumber: 2927
    functionLinenumberEnd: 2957
    functionName: read_iref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - Err
    - SampleToChunkIterator::next_box
    - Mp4parseStatus::reserve
    - ItemId::read
    - read_fullbox_version_no_flags
    - be_u16
    - TryVec::new
    - to_usize
    - Mp4parseStatus::push
    - '&mut BMFFBox<T>::box_iter'
    - Error::Unsupported
    - into
    - Ok
    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:2976,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2978,1
    - Dst: read_ipco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2980,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2982,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2983,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2986,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2987,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2988,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2990,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2992,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2995,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2996,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2997,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3002,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3003,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3008,1
    - Dst: read_ipma
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3009,1
    - Dst: Mp4parseStatus::contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3010,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3016,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3016,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3026,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3038,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3041,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3043,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3051,1
    - Dst: Feature::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3054,1
    - Dst: Result::supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3057,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3060,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3070,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3095,1
    - Dst: Result::colour_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3105,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3106,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3114,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3119,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3128,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3143,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3158,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3170,1
    - Dst: position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3170,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3172,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3180,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3192,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3199,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3205,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3208,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3217,1
    CyclomaticComplexity: 55
    EdgeCount: 55
    ICount: 235
    argCount: 4
    argNames:
    - src
    - brand
    - strictness
    - unsupported_features
    argTypes:
    - '&mut BMFFBox<T>'
    - FourCC
    - ParseStrictness
    - '&mut UnsupportedFeatures'
    constantsTouched: []
    func_position:
      end: 3218
      start: 2970
    functionDepth: 26
    functionLinenumber: 2970
    functionLinenumberEnd: 3218
    functionName: read_iprp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryHashMap::with_capacity
    - BoxType::from
    - read_fullbox_extra
    - TryVec::<ItemPropertyAssociationEntry>::new
    - '&mut BMFFBox<T>::box_iter'
    - insert
    - fail_with_status_if
    - Mp4parseStatus::iter
    - position
    - iter
    - Err
    - SampleToChunkIterator::next_box
    - Feature::try_from
    - TryVec::with_capacity
    - PropertyIndex
    - read_ipco
    - get
    - into
    - check_parser_state
    - TryVec::new
    - contains
    - SampleToChunkIterator::find
    - Result::supported
    - Some
    - Ok
    - '&mut UnsupportedFeatures::insert'
    - Result::colour_type
    - Mp4parseStatus::contains
    - read_ipma
    - Mp4parseStatus::push
    - push
    - 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: 3258
      start: 3242
    functionDepth: 0
    functionLinenumber: 3242
    functionLinenumberEnd: 3258
    functionName: BoxType::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    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:3300,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3302,1
    - Dst: '&str::as_bytes'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3302,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 3311
      start: 3299
    functionDepth: 21
    functionLinenumber: 3299
    functionLinenumberEnd: 3311
    functionName: ItemPropertiesBox::is_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - ItemPropertiesBox::get
    - '&str::as_bytes'
    - as_slice
    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:3314,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3315,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3314,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3318,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3319,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3319,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3323,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - item_id
    - property_type
    argTypes:
    - ItemId
    - BoxType
    constantsTouched: []
    func_position:
      end: 3326
      start: 3313
    functionDepth: 20
    functionLinenumber: 3313
    functionLinenumberEnd: 3326
    functionName: ItemPropertiesBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - BoxType::from
    - as_slice
    - ItemPropertiesBox::get_multiple
    - into
    - Some
    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:3333,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3337,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3339,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3346,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - item_id
    - filter
    argTypes:
    - ItemId
    - impl Fn(&ItemProperty) -> bool
    constantsTouched: []
    func_position:
      end: 3347
      start: 3328
    functionDepth: 19
    functionLinenumber: 3328
    functionLinenumberEnd: 3347
    functionName: ItemPropertiesBox::get_multiple
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::new
    - get
    - Mp4parseStatus::push
    - Ok
    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: 3377
      start: 3357
    functionDepth: 0
    functionLinenumber: 3357
    functionLinenumberEnd: 3377
    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: 3401
      start: 3381
    functionDepth: 0
    functionLinenumber: 3381
    functionLinenumberEnd: 3401
    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: 3444
      start: 3424
    functionDepth: 19
    functionLinenumber: 3424
    functionLinenumberEnd: 3444
    functionName: impl_mul
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::Output::new
    - impl_mul::get
    - checked_mul
    - expect
    - get
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U32MulU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3455,1
    - Dst: U32MulU16::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3456,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3457,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3457,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3457,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - U32MulU16
    constantsTouched: []
    func_position:
      end: 3458
      start: 3453
    functionDepth: 19
    functionLinenumber: 3453
    functionLinenumberEnd: 3458
    functionName: U32MulU8::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - U32MulU16::get
    - U32MulU8::get
    - checked_add
    - expect
    - Self::Output::new
    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:3478,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3478,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3483,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3483,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3487,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3494,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3495,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3498,1
    - Dst: std::num::NonZeroU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3498,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3500,1
    - Dst: Result::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3500,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: 3501
      start: 3471
    functionDepth: 19
    functionLinenumber: 3471
    functionLinenumberEnd: 3501
    functionName: calculate_ipma_total_associations
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Result::try_into
    - Mp4parseStatus::unwrap
    - std::num::NonZeroU8::new
    - u64::from
    - u64::checked_sub
    - std::num::NonZeroU8::get
    - get
    - into
    - Ok
    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:3512,1
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3514,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3514,1
    - Dst: calculate_ipma_total_associations
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3516,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3518,1
    - Dst: U32::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3519,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3527,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3532,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3534,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3537,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3539,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3543,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3544,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3544,1
    - Dst: '&mut BMFFBox<T>::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3546,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3547,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3547,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3546,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3549,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3549,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3550,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3552,1
    - Dst: Mp4parseStatus::read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3552,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3552,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3552,1
    - Dst: Result::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3559,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3565,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3571,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3573,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3573,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3574,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3584,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: 3585
      start: 3506
    functionDepth: 20
    functionLinenumber: 3506
    functionLinenumberEnd: 3585
    functionName: read_ipma
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::unwrap
    - '&mut BMFFBox<T>::take'
    - BitReader::new
    - ItemId
    - fail_with_status_if
    - Mp4parseStatus::read_bool
    - be_u32
    - std::num::NonZeroU8::new
    - '&mut BMFFBox<T>::read_u8'
    - ItemId::read
    - TryVec::with_capacity
    - PropertyIndex
    - try_into
    - Mp4parseStatus::as_slice
    - get
    - into
    - Mp4parseStatus::read_u16
    - check_parser_state
    - read_into_try_vec
    - calculate_ipma_total_associations
    - Ok
    - Result::push
    - to_usize
    - last
    - Mp4parseStatus::remaining
    - TryVec::<ItemPropertyAssociationEntry>::with_capacity
    - push
    - U32::new
    - '&mut BMFFBox<T>::bytes_left'
    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:3594,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3596,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3597,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3598,1
    - Dst: ItemProperty::AuxiliaryType
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3600,1
    - Dst: read_auxc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3600,1
    - Dst: ItemProperty::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3601,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3601,1
    - Dst: ItemProperty::Colour
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3602,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3602,1
    - Dst: ItemProperty::Mirroring
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3603,1
    - Dst: read_imir
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3603,1
    - Dst: ItemProperty::Rotation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3604,1
    - Dst: read_irot
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3604,1
    - Dst: ItemProperty::ImageSpatialExtents
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3606,1
    - Dst: read_ispe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3606,1
    - Dst: ItemProperty::PixelAspectRatio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3608,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3608,1
    - Dst: ItemProperty::Channels
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3609,1
    - Dst: read_pixi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3609,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3614,1
    - Dst: ItemProperty::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3622,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3629,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3631,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3632,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3632,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3635,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3638,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3641,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3642
      start: 3590
    functionDepth: 25
    functionLinenumber: 3590
    functionLinenumberEnd: 3642
    functionName: read_ipco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryHashMap::with_capacity
    - read_auxc
    - read_av1c
    - insert
    - '&mut BMFFBox<T>::box_iter'
    - read_irot
    - read_imir
    - ItemProperty::Rotation
    - ItemProperty::AV1Config
    - ok_or_else
    - Error::from
    - ItemProperty::Unsupported
    - SampleToChunkIterator::next_box
    - checked_add
    - PropertyIndex
    - ItemProperty::Mirroring
    - ItemProperty::Colour
    - check_parser_state
    - ItemProperty::ImageSpatialExtents
    - ItemProperty::AuxiliaryType
    - ItemProperty::Channels
    - ItemProperty::PixelAspectRatio
    - read_ispe
    - read_colr
    - skip_box_remain
    - Ok
    - read_pixi
    - read_pasp
    linkageType: ''
    returnType: Result
    signature: 'fn read_ipco<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<TryHashMap<PropertyIndex, ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3655,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3656,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3656,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3659,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3660,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3662,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3666
      start: 3654
    functionDepth: 3
    functionLinenumber: 3654
    functionLinenumberEnd: 3666
    functionName: read_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - Err
    - read_fullbox_version_no_flags
    - Error::Unsupported
    - Ok
    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:3680,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3681,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3683,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3687
      start: 3679
    functionDepth: 1
    functionLinenumber: 3679
    functionLinenumberEnd: 3687
    functionName: read_pasp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn read_pasp<T: Read>(src: &mut BMFFBox<T>) -> Result<PixelAspectRatio>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3697,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3699,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3699,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3702,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3703,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3703,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3704,1
    - Dst: u8::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3706,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3707,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3710,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3711,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3712
      start: 3696
    functionDepth: 24
    functionLinenumber: 3696
    functionLinenumberEnd: 3712
    functionName: read_pixi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - u8::try_from
    - check_parser_state
    - Err
    - '&mut BMFFBox<T>::read_u8'
    - to_usize
    - read_fullbox_version_no_flags
    - '&mut BMFFBox<T>::try_read_to_end'
    - TryVec::with_capacity
    - Error::Unsupported
    - into
    - Ok
    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:3738,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3738,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3738,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 3741
      start: 3737
    functionDepth: 1
    functionLinenumber: 3737
    functionLinenumberEnd: 3741
    functionName: IccColourInformation::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - field
    - debug_struct
    - finish
    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:3754,1
    - Dst: FourCC::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3755,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3757
      start: 3752
    functionDepth: 1
    functionLinenumber: 3752
    functionLinenumberEnd: 3757
    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_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3766,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3766,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3771,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3771,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3772,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3772,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3773,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3773,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3774,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3775,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3776,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3777,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3777,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3783,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3785,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3786,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3792,1
    - Dst: ColourInformation::Nclx
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3792,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3799,1
    - Dst: ColourInformation::Icc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3799,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3801,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3803,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3807,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3810
      start: 3762
    functionDepth: 5
    functionLinenumber: 3762
    functionLinenumberEnd: 3810
    functionName: read_colr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ColourInformation::Icc
    - Mp4parseStatus::read_bool
    - be_u32
    - ColourInformation::Nclx
    - FourCC::from
    - into
    - be_u16
    - Mp4parseStatus::remaining
    - try_into
    - BitReader::new
    - Mp4parseStatus::read_u8
    - fail_with_status_if
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - to_be_bytes
    linkageType: ''
    returnType: Result
    signature: 'fn read_colr<T: Read>(src: &mut BMFFBox<T>,strictness: ParseStrictness,)
      -> Result<ColourInformation>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3831,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3832,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3833,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3834,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3842,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3844,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3845
      start: 3830
    functionDepth: 23
    functionLinenumber: 3830
    functionLinenumberEnd: 3845
    functionName: read_irot
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - Result::read_u8
    - BitReader::new
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    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:3880,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3881,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3882,1
    - Dst: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3883,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3889,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3891,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3892
      start: 3879
    functionDepth: 23
    functionLinenumber: 3879
    functionLinenumberEnd: 3892
    functionName: read_imir
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - Result::read_u8
    - BitReader::new
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    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:3904,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3906,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3906,1
    - Dst: TryString::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3909,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3910,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3913,1
    - Dst: SampleToChunkIterator::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3913,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3914,1
    - Dst: '&''a [u8]::split_at'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3914,1
    - Dst: Self::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3915,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3916,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3919,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3922,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3926
      start: 3903
    functionDepth: 24
    functionLinenumber: 3903
    functionLinenumberEnd: 3926
    functionName: read_auxc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Err
    - '&mut BMFFBox<T>::try_read_to_end'
    - read_fullbox_version_no_flags
    - '&''a [u8]::split_at'
    - TryVec::new
    - TryString::new
    - try_into
    - SampleToChunkIterator::position
    - Self::try_into
    - Error::Unsupported
    - Mp4parseStatus::as_slice
    - Mp4parseStatus::iter
    - Ok
    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:3931,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3931,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3933,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3934,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3936,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3936,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3937,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3937,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3938,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3938,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3941,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3941,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3941,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3943,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3949,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3950,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3953,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3953,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3956,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3957,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3958,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3969,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3970,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3974,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3979,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3981,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3981,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3985,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3985,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3986,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3989,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3997,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4000,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4000,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4008,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4008,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4008,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4016,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4016,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4017,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4017,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4017,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4021,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4021,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4023,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4033,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4041,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4041,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4042,1
    - Dst: remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4046,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4047,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4049,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 174
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4051
      start: 3930
    functionDepth: 5
    functionLinenumber: 3930
    functionLinenumberEnd: 4051
    functionName: read_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryHashMap::with_capacity
    - read_u64
    - as_bits
    - read_u16
    - BitReader::new
    - insert
    - ItemId
    - Error::from
    - ok_or_else
    - is_some
    - Err
    - remaining
    - read_fullbox_version_no_flags
    - checked_add
    - TryVec::with_capacity
    - try_into
    - Error::Unsupported
    - into
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Some
    - Ok
    - to_usize
    - read_u8
    - push
    - read_u32
    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:4059,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4060,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4078,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4083,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4083,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4088,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4088,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4091,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4093,1
    - Dst: '&MediaContext::is_some'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4094,1
    - Dst: '&MediaContext::ok_or'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4109,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4110
      start: 4054
    functionDepth: 22
    functionLinenumber: 4054
    functionLinenumberEnd: 4110
    functionName: read_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 19
    functionsReached:
    - check_parser_state
    - skip_box_content
    - SampleToChunkIterator::next_box
    - BoxIter::new
    - read_moov
    - read_meta
    - '&MediaContext::ok_or'
    - read_ftyp
    - '&MediaContext::is_some'
    - Some
    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:4115,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4118,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4120,1
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4120,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4120,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4121,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4122
      start: 4114
    functionDepth: 25
    functionLinenumber: 4114
    functionLinenumberEnd: 4122
    functionName: parse_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - u64::from
    - MediaTimeScale
    - read_mvhd
    - into
    - Some
    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:4142,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4144,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4145,1
    - Dst: parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4148,1
    - Dst: Track::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4151,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4151,1
    - Dst: read_trak
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4152,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4153,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4156,1
    - Dst: read_mvex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4156,1
    - Dst: read_pssh
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4160,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4162,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4165,1
    - Dst: read_udta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4165,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4170,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4173,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4175,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4178,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 64
    argCount: 3
    argNames:
    - f
    - context
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - Option<MediaContext>
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4187
      start: 4129
    functionDepth: 21
    functionLinenumber: 4129
    functionLinenumberEnd: 4187
    functionName: read_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_udta
    - Ok
    - check_parser_state
    - read_pssh
    - skip_box_content
    - Track::new
    - SampleToChunkIterator::next_box
    - '&MediaContext::unwrap_or_default'
    - box_iter
    - read_trak
    - skip_box_remain
    - read_mvex
    - push
    - len
    - Some
    - 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:4190,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4191,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4193,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4195,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4197,1
    - Dst: TryVec::<ByteData>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4199,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4202,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4202,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4203,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4204,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4204,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4206,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4209,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4209,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4210,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4214,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4215,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4215,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4220,1
    - Dst: write_be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4221,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4221,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4222,1
    - Dst: Mp4parseStatus::append
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4223,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4225,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4231
      start: 4189
    functionDepth: 23
    functionLinenumber: 4189
    functionLinenumberEnd: 4231
    functionName: read_pssh
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_fullbox_extra
    - Error::from
    - ok_or_else
    - Mp4parseStatus::extend_from_slice
    - be_u32
    - Cursor::new
    - Mp4parseStatus::reserve
    - checked_mul
    - try_into
    - into
    - read_buf
    - TryVec::new
    - TryVec::<ByteData>::new
    - write_be_u32
    - Mp4parseStatus::append
    - Ok
    - to_usize
    - to_u64
    - Mp4parseStatus::push
    - '&mut BMFFBox<T>::bytes_left'
    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:4236,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4238,1
    - Dst: read_mehd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4241,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4242,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4244,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4247,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4248
      start: 4235
    functionDepth: 4
    functionLinenumber: 4235
    functionLinenumberEnd: 4248
    functionName: read_mvex
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - skip_box_content
    - SampleToChunkIterator::next_box
    - '&mut BMFFBox<T>::box_iter'
    - read_mehd
    - Some
    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:4251,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4253,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4254,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4254,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4255,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4257,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4257,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4258
      start: 4250
    functionDepth: 2
    functionLinenumber: 4250
    functionLinenumberEnd: 4258
    functionName: read_mehd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - u64::from
    - be_u64
    - into
    - Ok
    - MediaScaledTime
    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:4267,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4268,1
    - Dst: read_tkhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4271,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4272,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4273,1
    - Dst: Result::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4273,1
    - Dst: read_edts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4276,1
    - Dst: read_mdia
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4277,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4278,1
    - Dst: read_tref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4278,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4279,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4281,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4283,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4284
      start: 4262
    functionDepth: 24
    functionLinenumber: 4262
    functionLinenumberEnd: 4284
    functionName: read_trak
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - check_parser_state
    - read_mdia
    - skip_box_content
    - SampleToChunkIterator::next_box
    - Result::clone
    - box_iter
    - read_tkhd
    - read_tref
    - read_edts
    - Some
    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:4287,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4288,1
    - Dst: read_elst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4291,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4292,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4293,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4300,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4307,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4307,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4312,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4312,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4313,1
    - Dst: std::cmp::max
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4314,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4317,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4322,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4324,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4326,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    constantsTouched: []
    func_position:
      end: 4327
      start: 4286
    functionDepth: 25
    functionLinenumber: 4286
    functionLinenumberEnd: 4327
    functionName: read_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - check_parser_state
    - skip_box_content
    - SampleToChunkIterator::next_box
    - TrackScaledTime::<u64>
    - read_elst
    - box_iter
    - is_empty
    - std::cmp::max
    - len
    - Some
    - MediaScaledTime
    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:4338,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4341,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4341,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4344,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4346,1
    - Dst: TrackTimeScale::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4346,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4346,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4347,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    constantsTouched: []
    func_position:
      end: 4348
      start: 4330
    functionDepth: 3
    functionLinenumber: 4330
    functionLinenumberEnd: 4348
    functionName: parse_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_mdhd
    - Ok
    - TrackScaledTime::<u64>
    - u64::from
    - TrackTimeScale::<u64>
    - into
    - Some
    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:4355,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4356,1
    - Dst: parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4359,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4365,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4367,1
    - Dst: read_minf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4377,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4378,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4380,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4382,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4383
      start: 4350
    functionDepth: 24
    functionLinenumber: 4350
    functionLinenumberEnd: 4383
    functionName: read_mdia
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_hdlr
    - Ok
    - check_parser_state
    - parse_mdhd
    - skip_box_content
    - SampleToChunkIterator::next_box
    - read_minf
    - box_iter
    - 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:4387,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4388,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4389,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4392,1
    - Dst: TrackReferenceEntry::Auxiliary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4392,1
    - Dst: read_tref_auxl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4392,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4394,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4396,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4398,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4399
      start: 4385
    functionDepth: 24
    functionLinenumber: 4385
    functionLinenumberEnd: 4399
    functionName: read_tref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - skip_box_content
    - SampleToChunkIterator::next_box
    - TrackReferenceEntry::Auxiliary
    - TryVec::with_capacity
    - box_iter
    - read_tref_auxl
    - push
    - Ok
    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:4402,1
    - Dst: std::mem::size_of::<u32>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4402,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4402,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4402,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4403,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4405,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4405,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4408,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4409
      start: 4401
    functionDepth: 23
    functionLinenumber: 4401
    functionLinenumberEnd: 4409
    functionName: read_tref_auxl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - std::mem::size_of::<u32>
    - be_u32
    - to_u64
    - TryVec::with_capacity
    - try_into
    - push
    - bytes_left
    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:4416,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4417,1
    - Dst: read_stbl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4419,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4420,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4422,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4424,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4425
      start: 4411
    functionDepth: 23
    functionLinenumber: 4411
    functionLinenumberEnd: 4425
    functionName: read_minf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - check_parser_state
    - skip_box_content
    - read_stbl
    - SampleToChunkIterator::next_box
    - box_iter
    - Ok
    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:4432,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4433,1
    - Dst: read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4436,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4438,1
    - Dst: read_stts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4441,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4443,1
    - Dst: read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4446,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4448,1
    - Dst: read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4451,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4453,1
    - Dst: read_stco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4456,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4458,1
    - Dst: read_co64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4461,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4463,1
    - Dst: read_stss
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4466,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4468,1
    - Dst: read_ctts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4471,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4473,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4475,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4477,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4479,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4480
      start: 4427
    functionDepth: 22
    functionLinenumber: 4427
    functionLinenumberEnd: 4480
    functionName: read_stbl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - read_stsd
    - read_co64
    - check_parser_state
    - skip_box_content
    - read_stts
    - SampleToChunkIterator::next_box
    - read_stsc
    - box_iter
    - read_stsz
    - read_stss
    - read_ctts
    - Some
    - read_stco
    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:188,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:188,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:189,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:189,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:189,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:189,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:194,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:195,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:195,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:195,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:198,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:198,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 204
      start: 187
    functionDepth: 6
    functionLinenumber: 187
    functionLinenumberEnd: 204
    functionName: read_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 4
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - BoxSize::Short
    - super::read_ftyp
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4507,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4511,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4515,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4517,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4519,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4521,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4523,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4527,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4533,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4536,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4537,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4541
      start: 4506
    functionDepth: 24
    functionLinenumber: 4506
    functionLinenumberEnd: 4541
    functionName: read_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 5
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - u64::from
    - skip
    - be_u64
    - into
    - Ok
    - skip_box_remain
    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:4545,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4550,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4554,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4556,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4558,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4559,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4561,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4562,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4562,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4566,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4569,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4570,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4571,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4572,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4573,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4574,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4575,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4576,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4577,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4580,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4581,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4582,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4590
      start: 4544
    functionDepth: 2
    functionLinenumber: 4544
    functionLinenumberEnd: 4590
    functionName: read_tkhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - u64::from
    - skip
    - be_i32
    - be_u64
    - into
    - Ok
    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:4595,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4596,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4597,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4597,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4602,1
    - Dst: be_i64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4602,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4606,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4606,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4606,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4606,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4608,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4610,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4611,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4612,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4621,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4623,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4627
      start: 4594
    functionDepth: 24
    functionLinenumber: 4594
    functionLinenumberEnd: 4627
    functionName: read_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 4
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - i64::from
    - u64::from
    - to_usize
    - be_i16
    - TryVec::with_capacity
    - be_i32
    - be_u64
    - be_i64
    - push
    - into
    - Ok
    - skip_box_remain
    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:4631,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4635,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4638,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4638,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4642,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4645,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4650,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4654,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4659,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4663,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4665,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4669
      start: 4630
    functionDepth: 2
    functionLinenumber: 4630
    functionLinenumberEnd: 4669
    functionName: read_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 4
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - u64::from
    - skip
    - be_u64
    - into
    - Ok
    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:4674,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4675,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4676,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4676,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4678,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4678,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4678,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4682,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4684,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4685
      start: 4673
    functionDepth: 24
    functionLinenumber: 4673
    functionLinenumberEnd: 4685
    functionName: read_stco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - to_usize
    - TryVec::with_capacity
    - push
    - into
    - Ok
    - skip_box_remain
    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:4690,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4691,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4692,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4692,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4694,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4694,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4698,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4700,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4701
      start: 4689
    functionDepth: 24
    functionLinenumber: 4689
    functionLinenumberEnd: 4701
    functionName: read_co64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - to_usize
    - TryVec::with_capacity
    - be_u64
    - push
    - Ok
    - skip_box_remain
    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:4706,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4707,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4708,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4708,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4710,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4710,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:4716,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4717
      start: 4705
    functionDepth: 24
    functionLinenumber: 4705
    functionLinenumberEnd: 4717
    functionName: read_stss
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - to_usize
    - TryVec::with_capacity
    - push
    - Ok
    - skip_box_remain
    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:4722,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4723,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4724,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4724,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4726,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4727,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4728,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4729,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4737,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4739,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4740
      start: 4721
    functionDepth: 24
    functionLinenumber: 4721
    functionLinenumberEnd: 4740
    functionName: read_stsc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - to_usize
    - TryVec::with_capacity
    - push
    - Ok
    - skip_box_remain
    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:4748,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4750,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4752,1
    - Dst: is_none_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4752,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4754,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4754,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4756,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4759,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4759,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4766,1
    - Dst: TimeOffsetVersion::Version1
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4767,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4767,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4771,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4774,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4781,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4787,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4788
      start: 4744
    functionDepth: 23
    functionLinenumber: 4744
    functionLinenumberEnd: 4788
    functionName: read_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TimeOffsetVersion::Version1
    - be_u32
    - check_parser_state
    - read_fullbox_extra
    - u64::from
    - to_usize
    - is_none_or
    - checked_mul
    - TryVec::with_capacity
    - be_i32
    - push
    - into
    - '&mut BMFFBox<T>::bytes_left'
    - Ok
    - skip_box_remain
    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:4793,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4794,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4795,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4796,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4798,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4798,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4800,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4800,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4805,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4807,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4811
      start: 4792
    functionDepth: 24
    functionLinenumber: 4792
    functionLinenumberEnd: 4811
    functionName: read_stsz
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - Mp4parseStatus::reserve
    - to_usize
    - TryVec::new
    - Mp4parseStatus::push
    - Ok
    - skip_box_remain
    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:4816,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4817,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4818,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4818,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4820,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4821,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4822,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4829,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4831,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4832
      start: 4815
    functionDepth: 24
    functionLinenumber: 4815
    functionLinenumberEnd: 4832
    functionName: read_stts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - to_usize
    - TryVec::with_capacity
    - push
    - Ok
    - skip_box_remain
    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:4836,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4838,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4839,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4839,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4842,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4843,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4853,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4858,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4871,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4874,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4875,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4876,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4883,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4888,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4889,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4889,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4892,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4903
      start: 4835
    functionDepth: 2
    functionLinenumber: 4835
    functionLinenumberEnd: 4903
    functionName: read_vpcc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - Ok
    - Err
    - read_fullbox_extra
    - '&mut BMFFBox<T>::read_u8'
    - be_u16
    - read_buf
    - contains
    - Error::Unsupported
    - into
    - Some
    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:4909,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4910,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4911,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4913,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4913,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4916,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4916,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4918,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4921,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4932,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4940,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4953
      start: 4906
    functionDepth: 20
    functionLinenumber: 4906
    functionLinenumberEnd: 4953
    functionName: read_av1c
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - as_slice
    - Err
    - read_u8
    - Error::Unsupported
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    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:4956,1
    - Dst: be_u24
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4958,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4958,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4959,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4960,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4962,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4963,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4964
      start: 4955
    functionDepth: 23
    functionLinenumber: 4955
    functionLinenumberEnd: 4964
    functionName: read_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::read_u8'
    - be_u24
    - read_buf
    - into
    - '&mut BMFFBox<T>::bytes_left'
    - Ok
    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:4980,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4981,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4982,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4989,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4989,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4989,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4992,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4995,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4996,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4998,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5003,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5003,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5003,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5003,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5004,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5007,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5007,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5007,1
    - Dst: read_es_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5011,1
    - Dst: read_dc_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5014,1
    - Dst: read_ds_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5016,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5024,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5032,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5032,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5036,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5037
      start: 4967
    functionDepth: 22
    functionLinenumber: 4967
    functionLinenumberEnd: 5037
    functionName: find_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Err
    - u32::from
    - Cursor::new
    - u64::from
    - read_dc_descriptor
    - '&[u8]::len'
    - to_usize
    - to_u64
    - Mp4parseStatus::position
    - try_into
    - Mp4parseStatus::read_u8
    - read_ds_descriptor
    - into
    - Ok
    - read_es_descriptor
    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:5040,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5044,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5047,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bit_reader
    argTypes:
    - '&mut BitReader'
    constantsTouched: []
    func_position:
      end: 5048
      start: 5039
    functionDepth: 2
    functionLinenumber: 5039
    functionLinenumberEnd: 5048
    functionName: get_audio_object_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ReadInto::read
    - Ok
    linkageType: ''
    returnType: Result
    signature: 'fn get_audio_object_type(bit_reader: &mut BitReader) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5059,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5060,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5080,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5082,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5084,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5089,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5089,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5090,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5090,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5090,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5096,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5099,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5107,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5109,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5109,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5110,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5110,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5110,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5115,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5117,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5128,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5129,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5129,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5143,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5158,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5159,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5161,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5163,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5169,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5170,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5171,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5172,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5173,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5174,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5175,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5176,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5177,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5179,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5181,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5184,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5186,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5189,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5191,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5192,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5195,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5196,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5197,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5198,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5206,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5206,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5210,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5212,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5213,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5215,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5216,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5221,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5223,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5225,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5225,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 219
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5227
      start: 5051
    functionDepth: 21
    functionLinenumber: 5051
    functionLinenumberEnd: 5227
    functionName: read_ds_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - iter
    - read_surround_channel_count
    - get_audio_object_type
    - find
    - Err
    - extend_from_slice
    - ReadInto::read
    - is_empty
    - fail_with_status_if
    - BitReader::new
    - is_none
    - map
    - Error::Unsupported
    - unwrap
    - Mp4parseStatus::skip
    - Ok
    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:5232,1
    - Dst: '&mut BitReader::skip'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5234,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5236,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bit_reader
    - channels
    argTypes:
    - '&mut BitReader'
    - u8
    constantsTouched: []
    func_position:
      end: 5237
      start: 5229
    functionDepth: 2
    functionLinenumber: 5229
    functionLinenumberEnd: 5237
    functionName: read_surround_channel_count
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ReadInto::read
    - '&mut BitReader::skip'
    - Ok
    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:5245,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5246,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5257,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5259,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5259,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5259,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5260,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5261,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5261,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5261,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5269,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5284,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5285
      start: 5240
    functionDepth: 23
    functionLinenumber: 5240
    functionLinenumberEnd: 5285
    functionName: read_dc_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Some
    - Ok
    - find_descriptor
    - Cursor::new
    - skip
    - to_u64
    - Mp4parseStatus::position
    - try_into
    - Mp4parseStatus::read_u8
    - Self::len
    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:5293,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5295,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5297,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5302,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5308,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5308,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5309,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5312,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5312,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5312,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5313,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5314,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5314,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5314,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5320,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5321
      start: 5288
    functionDepth: 23
    functionLinenumber: 5288
    functionLinenumberEnd: 5321
    functionName: read_es_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - find_descriptor
    - Cursor::new
    - u64::from
    - skip
    - to_u64
    - Mp4parseStatus::position
    - try_into
    - Mp4parseStatus::read_u8
    - Self::len
    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:1049,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1050,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1050,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1051,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1053,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1054,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1056,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1056,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1065
      start: 1041
    functionDepth: 20
    functionLinenumber: 1041
    functionLinenumberEnd: 1065
    functionName: read_esds
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 11
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_esds()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:698,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:701,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:704,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:705,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:705,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:705,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:707,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:707,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 709
      start: 697
    functionDepth: 8
    functionLinenumber: 697
    functionLinenumberEnd: 709
    functionName: read_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - flac_streaminfo
    - make_dfla
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_dfla
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_dfla()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:760,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:761,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:762,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:762,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:762,1
    - Dst: super::read_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:764,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 766
      start: 759
    functionDepth: 7
    functionLinenumber: 759
    functionLinenumberEnd: 766
    functionName: read_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - super::read_dops
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - unwrap
    - make_dops
    linkageType: ''
    returnType: void
    signature: fn read_dops()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:779,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:780,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:780,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:796,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:799,1
    - Dst: Vec::<u8>::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:802,1
    - Dst: super::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:803,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:803,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 812
      start: 769
    functionDepth: 1
    functionLinenumber: 769
    functionLinenumberEnd: 812
    functionName: serialize_opus_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - Vec::<u8>::new
    - super::serialize_opus_header
    - unwrap
    - into
    - Some
    linkageType: ''
    returnType: void
    signature: fn serialize_opus_header()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:816,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:817,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:827,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:827,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:827,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:831,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:832,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:832,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:832,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:833,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 43
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 835
      start: 815
    functionDepth: 21
    functionLinenumber: 815
    functionLinenumberEnd: 835
    functionName: read_alac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - super::BoxIter::new
    - Cursor::into_inner
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - super::read_audio_sample_entry
    - make_fullbox
    - unwrap
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_alac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:496,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:496,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:497,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:505,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:506,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:506,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:506,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:509,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 511
      start: 495
    functionDepth: 7
    functionLinenumber: 495
    functionLinenumberEnd: 511
    functionName: read_hdlr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 5
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - super::read_hdlr
    - unwrap
    - BoxSize::Short
    - B8
    - append_bytes
    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:5520,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5537,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5539,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5542,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5544,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5545,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5548,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5553,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5554,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5555,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5561,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5563,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5565,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5565,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5570,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5573,1
    - Dst: VideoCodecSpecific::AVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5573,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5576,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5577,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5579,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5579,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5584,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5587,1
    - Dst: VideoCodecSpecific::H263Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5587,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5594,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5596,1
    - Dst: read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5598,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5599,1
    - Dst: VideoCodecSpecific::VPxConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5599,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5603,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5605,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5606,1
    - Dst: VideoCodecSpecific::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5606,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5609,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5610,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5614,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5617,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5617,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5622,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5623,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5623,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5629,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5631,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5631,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5636,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5638,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5640,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5646,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5648,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5650,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5650,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5655,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5657,1
    - Dst: VideoCodecSpecific::HEVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5657,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5660,1
    - Dst: is_valid_aspect_ratio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5664,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5665,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5671,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5674,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5677,1
    - Dst: None::map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5678,1
    - Dst: SampleEntry::Video
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5679,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 249
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5690
      start: 5519
    functionDepth: 20
    functionLinenumber: 5519
    functionLinenumberEnd: 5690
    functionName: read_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - VideoCodecSpecific::VPxConfig
    - VideoCodecSpecific::ESDSConfig
    - read_fullbox_extra
    - VideoCodecSpecific::AV1Config
    - read_av1c
    - '&mut BMFFBox<T>::box_iter'
    - read_esds
    - skip_box_content
    - SampleToChunkIterator::next_box
    - is_valid_aspect_ratio
    - into
    - None::map_or
    - VideoCodecSpecific::H263Config
    - VideoCodecSpecific::HEVCConfig
    - check_parser_state
    - read_sinf
    - skip
    - read_buf
    - TryVec::new
    - None::is_some
    - Some
    - Ok
    - SampleEntry::Video
    - read_vpcc
    - '&mut BMFFBox<T>::get_header'
    - be_u16
    - checked_sub
    - read_pasp
    - Mp4parseStatus::push
    - expect
    - VideoCodecSpecific::AVCConfig
    linkageType: ''
    returnType: Result
    signature: 'fn read_video_sample_entry<T: Read>(src: &mut BMFFBox<T>) -> Result<SampleEntry>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:972,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:973,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:972,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:983,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:984,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:983,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:987,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:988,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:998,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:989,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:999,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1002,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1003,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1003,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1003,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1004,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1004,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1012
      start: 971
    functionDepth: 20
    functionLinenumber: 971
    functionLinenumberEnd: 1012
    functionName: read_qt_wave_atom
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - as_slice
    - Cursor::into_inner
    - B32
    - super::BoxIter::new
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_audio_sample_entry
    - Result::expect
    - make_fullbox
    - unwrap
    - B8
    - B16
    - append_repeated
    - append_bytes
    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:5717,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5720,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5722,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5728,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5731,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5733,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5733,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5734,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5737,1
    - Dst: f64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5739,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5739,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5746,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5750,1
    - Dst: f64::from_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5751,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5751,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5752,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5753,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5756,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5756,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5763,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5764,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5770,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5770,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5770,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5775,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5775,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5775,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5779,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5780,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5781,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5786,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5788,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5790,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5792,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5792,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5796,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5798,1
    - Dst: read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5800,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5802,1
    - Dst: AudioCodecSpecific::FLACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5802,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5806,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5808,1
    - Dst: read_dops
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5810,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5812,1
    - Dst: AudioCodecSpecific::OpusSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5812,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5815,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5816,1
    - Dst: read_alac
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5818,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5820,1
    - Dst: AudioCodecSpecific::ALACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5820,1
    - Dst: read_qt_wave_atom
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5823,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5825,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5825,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5829,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5831,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5834,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5839,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5841,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5841,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5846,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5848,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5848,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5852,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5855,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5858,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5859,1
    - Dst: SampleEntry::Audio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5860,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 226
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5871
      start: 5713
    functionDepth: 20
    functionLinenumber: 5713
    functionLinenumberEnd: 5871
    functionName: read_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 9
    functionsReached:
    - AudioCodecSpecific::AMRSpecificBox
    - u32::from
    - map_or
    - '&mut BMFFBox<T>::box_iter'
    - f64::from
    - read_esds
    - is_some
    - read_alac
    - be_u32
    - skip_box_content
    - Err
    - SampleToChunkIterator::next_box
    - read_dfla
    - be_u64
    - Error::Unsupported
    - read_dops
    - into
    - read_qt_wave_atom
    - check_parser_state
    - AudioCodecSpecific::ALACSpecificBox
    - read_sinf
    - skip
    - read_buf
    - TryVec::new
    - Some
    - Ok
    - AudioCodecSpecific::FLACSpecificBox
    - AudioCodecSpecific::ES_Descriptor
    - AudioCodecSpecific::OpusSpecificBox
    - '&mut BMFFBox<T>::get_header'
    - be_u16
    - f64::from_bits
    - checked_sub
    - Default::default
    - Mp4parseStatus::push
    - SampleEntry::Audio
    - expect
    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:5881,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5887,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5887,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5888,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5890,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5891,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5892,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5894,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5895,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5896,1
    - Dst: read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5897,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5898,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5898,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5899,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5899,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5907,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5908,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5911,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5913,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5914,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5921,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5923,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - src
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5924
      start: 5876
    functionDepth: 21
    functionLinenumber: 5876
    functionLinenumberEnd: 5924
    functionName: read_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - check_parser_state
    - be_u32
    - Err
    - read_fullbox_extra
    - SampleToChunkIterator::next_box
    - read_video_sample_entry
    - to_usize
    - skip
    - TryVec::with_capacity
    - Error::Unsupported
    - '&mut BMFFBox<T>::box_iter'
    - read_audio_sample_entry
    - push
    - len
    - bytes_left
    - skip_box_remain
    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:5927,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5929,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5930,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5933,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5933,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5936,1
    - Dst: read_schm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5936,1
    - Dst: read_schi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5940,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5942,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5944,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5947,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5948
      start: 5926
    functionDepth: 23
    functionLinenumber: 5926
    functionLinenumberEnd: 5948
    functionName: read_sinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - check_parser_state
    - be_u32
    - read_schm
    - read_schi
    - skip_box_content
    - SampleToChunkIterator::next_box
    - FourCC::from
    - ProtectionSchemeInfoBox::default
    - '&mut BMFFBox<T>::box_iter'
    - Some
    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:5952,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5953,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5956,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5957,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5959,1
    - Dst: read_tenc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5959,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5961,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5965,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5966
      start: 5950
    functionDepth: 4
    functionLinenumber: 5950
    functionLinenumberEnd: 5966
    functionName: read_schi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - skip_box_content
    - SampleToChunkIterator::next_box
    - '&mut BMFFBox<T>::box_iter'
    - into
    - is_some
    - Some
    - read_tenc
    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:5969,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5972,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5976,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5980,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5983,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5983,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5986,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5987,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5988,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5992,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5993,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5993,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5993,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5998,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6006
      start: 5968
    functionDepth: 2
    functionLinenumber: 5968
    functionLinenumberEnd: 6006
    functionName: read_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - '&mut BMFFBox<T>::read_u8'
    - read_fullbox_extra
    - read_buf
    - skip
    - into
    - Some
    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:6011,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6012,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6012,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6013,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6015,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6016,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6020
      start: 6008
    functionDepth: 24
    functionLinenumber: 6008
    functionLinenumberEnd: 6020
    functionName: read_schm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - be_u32
    - read_fullbox_extra
    - FourCC::from
    - Ok
    - skip_box_remain
    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:6025,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6028,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6031,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6032,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6034,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6036,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6038,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6039
      start: 6024
    functionDepth: 28
    functionLinenumber: 6024
    functionLinenumberEnd: 6039
    functionName: read_udta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - check_parser_state
    - skip_box_content
    - SampleToChunkIterator::next_box
    - read_meta
    - '&mut BMFFBox<T>::box_iter'
    - Some
    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:6044,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6045,1
    - Dst: MetadataBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6046,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6047,1
    - Dst: read_ilst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6049,1
    - Dst: read_xml_
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6051,1
    - Dst: read_bxml
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6053,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6054,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6056,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6058,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6059
      start: 6043
    functionDepth: 27
    functionLinenumber: 6043
    functionLinenumberEnd: 6059
    functionName: read_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - MetadataBox::default
    - read_bxml
    - check_parser_state
    - skip_box_content
    - read_xml_
    - read_fullbox_extra
    - SampleToChunkIterator::next_box
    - read_ilst
    - '&mut BMFFBox<T>::box_iter'
    - Ok
    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:6065,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6066,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6066,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: XmlBox::StringXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6069,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6070
      start: 6064
    functionDepth: 3
    functionLinenumber: 6064
    functionLinenumberEnd: 6070
    functionName: read_xml_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Err
    - read_fullbox_version_no_flags
    - XmlBox::StringXmlBox
    - Error::Unsupported
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Some
    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:6076,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6077,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6077,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6079,1
    - Dst: XmlBox::BinaryXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6079,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6079,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6080,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6081
      start: 6075
    functionDepth: 3
    functionLinenumber: 6075
    functionLinenumberEnd: 6081
    functionName: read_bxml
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Err
    - read_fullbox_version_no_flags
    - Error::Unsupported
    - XmlBox::BinaryXmlBox
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Some
    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:6085,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6086,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6088,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6090,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6092,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6093,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6094,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6095,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6097,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6097,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6100,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6100,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6101,1
    - Dst: Genre::StandardGenre
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6101,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6101,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6101,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6103,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6104,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6105,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6106,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6107,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6108,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6109,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6110,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6111,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6112,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6113,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6114,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6115,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6116,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6117,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6119,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6120,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6121,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6122,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6123,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6124,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6126,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6128,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6130,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6131,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6131,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6132,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6132,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6136,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6137,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6137,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6138,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6138,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6145,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6147,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6147,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6148,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6148,1
    - Dst: AdvisoryRating::Explicit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6151,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6156,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6156,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6157,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6157,1
    - Dst: MediaType::Unknown
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6166,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6170,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6172,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6172,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6172,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6172,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6176,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6178,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6179,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6179,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6180,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6182,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6184,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 314
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6185
      start: 6084
    functionDepth: 26
    functionLinenumber: 6084
    functionLinenumberEnd: 6185
    functionName: read_ilst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - first
    - Genre::StandardGenre
    - '&mut BMFFBox<T>::box_iter'
    - skip_box_content
    - SampleToChunkIterator::next_box
    - Result::ok
    - copied
    - get
    - check_parser_state
    - and_then
    - read_ilst_u8_data
    - read_ilst_multiple_u8_data
    - MediaType::Unknown
    - map
    - Ok
    - Some
    - AdvisoryRating::Explicit
    - read_ilst_string_data
    - read_ilst_bool_data
    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:6188,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6188,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6188,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6188,1
    - Dst: isize::first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6189
      start: 6187
    functionDepth: 25
    functionLinenumber: 6187
    functionLinenumberEnd: 6189
    functionName: read_ilst_bool_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - and_then
    - read_ilst_u8_data
    - isize::first
    - Some
    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:6192,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6193
      start: 6191
    functionDepth: 25
    functionLinenumber: 6191
    functionLinenumberEnd: 6193
    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:6197,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6197,1
    - Dst: pop
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6198
      start: 6195
    functionDepth: 24
    functionLinenumber: 6195
    functionLinenumberEnd: 6198
    functionName: read_ilst_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - pop
    - read_ilst_multiple_u8_data
    - Ok
    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:6201,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6202,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6203,1
    - Dst: Self::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6206,1
    - Dst: read_ilst_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6206,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6208,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6210,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6212,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6213
      start: 6200
    functionDepth: 23
    functionLinenumber: 6200
    functionLinenumberEnd: 6213
    functionName: read_ilst_multiple_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - check_parser_state
    - skip_box_content
    - SampleToChunkIterator::next_box
    - Self::push
    - read_ilst_data
    - TryVec::new
    - '&mut BMFFBox<T>::box_iter'
    - Ok
    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:6217,1
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6218,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6219,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6220
      start: 6215
    functionDepth: 22
    functionLinenumber: 6215
    functionLinenumberEnd: 6220
    functionName: read_ilst_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - limit
    - read_buf
    - skip
    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:6224,1
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6224,1
    - Dst: std::io::sink
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6224,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6225,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - src
    - bytes
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6226
      start: 6223
    functionDepth: 0
    functionLinenumber: 6223
    functionLinenumberEnd: 6226
    functionName: skip
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 15
    functionsReached:
    - std::io::sink
    - std::io::copy
    - Ok
    - '&mut T::take'
    linkageType: ''
    returnType: Result
    signature: 'fn skip<T: Read>(src: &mut T, bytes: u64) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6230,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6230,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6231,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6231,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6232,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6235,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6236
      start: 6229
    functionDepth: 1
    functionLinenumber: 6229
    functionLinenumberEnd: 6236
    functionName: read_buf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 7
    functionsReached:
    - to_u64
    - read_into_try_vec
    - into
    - Result::len
    - Ok
    - '&mut T::take'
    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:6239,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6240
      start: 6238
    functionDepth: 0
    functionLinenumber: 6238
    functionLinenumberEnd: 6240
    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:6243,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6243,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6244
      start: 6242
    functionDepth: 0
    functionLinenumber: 6242
    functionLinenumberEnd: 6244
    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:6247,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6247,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6248
      start: 6246
    functionDepth: 0
    functionLinenumber: 6246
    functionLinenumberEnd: 6248
    functionName: be_i64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_i64::<byteorder::BigEndian>
    - map_err
    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:6251,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6251,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6252
      start: 6250
    functionDepth: 0
    functionLinenumber: 6250
    functionLinenumberEnd: 6252
    functionName: be_u16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 9
    functionsReached:
    - read_u16::<byteorder::BigEndian>
    - map_err
    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:6255,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6255,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6256
      start: 6254
    functionDepth: 0
    functionLinenumber: 6254
    functionLinenumberEnd: 6256
    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:6259,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6259,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6260
      start: 6258
    functionDepth: 0
    functionLinenumber: 6258
    functionLinenumberEnd: 6260
    functionName: be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 27
    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:6263,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6263,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6264
      start: 6262
    functionDepth: 0
    functionLinenumber: 6262
    functionLinenumberEnd: 6264
    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:6267,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6267,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - des
    - num
    argTypes:
    - '&mut T'
    - u32
    constantsTouched: []
    func_position:
      end: 6269
      start: 6266
    functionDepth: 0
    functionLinenumber: 6266
    functionLinenumberEnd: 6269
    functionName: write_be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - map_err
    - write_u32::<byteorder::BigEndian>
    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:6286,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6290
      start: 6285
    functionDepth: 0
    functionLinenumber: 6285
    functionLinenumberEnd: 6290
    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:6294,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6298
      start: 6293
    functionDepth: 0
    functionLinenumber: 6293
    functionLinenumberEnd: 6298
    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:6302,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6306
      start: 6301
    functionDepth: 0
    functionLinenumber: 6301
    functionLinenumberEnd: 6306
    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:6310,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6317
      start: 6309
    functionDepth: 0
    functionLinenumber: 6309
    functionLinenumberEnd: 6317
    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:6321,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6325
      start: 6320
    functionDepth: 0
    functionLinenumber: 6320
    functionLinenumberEnd: 6325
    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:6329,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6336
      start: 6328
    functionDepth: 0
    functionLinenumber: 6328
    functionLinenumberEnd: 6336
    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:6340,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6344
      start: 6339
    functionDepth: 0
    functionLinenumber: 6339
    functionLinenumberEnd: 6344
    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:6348,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6355
      start: 6347
    functionDepth: 0
    functionLinenumber: 6347
    functionLinenumberEnd: 6355
    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:6359,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6366
      start: 6358
    functionDepth: 0
    functionLinenumber: 6358
    functionLinenumberEnd: 6366
    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:6370,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6374
      start: 6369
    functionDepth: 0
    functionLinenumber: 6369
    functionLinenumberEnd: 6374
    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:6378,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6385
      start: 6377
    functionDepth: 0
    functionLinenumber: 6377
    functionLinenumberEnd: 6385
    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:6391,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6395
      start: 6390
    functionDepth: 0
    functionLinenumber: 6390
    functionLinenumberEnd: 6395
    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: 4
    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:
    - unwrap_or
    - std::str::from_utf8
    - 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:65,1
    - Dst: Mp4parseStatus::size
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:65,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:70,1
    - Dst: Mp4parseStatus::get_contents
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:70,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:70,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 44
    argCount: 3
    argNames:
    - size
    - name
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - F
    constantsTouched: []
    func_position:
      end: 71
      start: 29
    functionDepth: 5
    functionLinenumber: 29
    functionLinenumberEnd: 71
    functionName: make_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 32
    functionsReached:
    - Section::new
    - Cursor::new
    - func
    - Mp4parseStatus::get_contents
    - Label::new
    - Mp4parseStatus::set_const
    - Mp4parseStatus::size
    - Mp4parseStatus::B32
    - unwrap
    - Mp4parseStatus::append_bytes
    - Mp4parseStatus::B64
    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:77,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:79,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:81,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 3
    argNames:
    - size
    - uuid
    - func
    argTypes:
    - BoxSize
    - '&[u8; 16]'
    - F
    constantsTouched: []
    func_position:
      end: 83
      start: 73
    functionDepth: 6
    functionLinenumber: 73
    functionLinenumberEnd: 83
    functionName: make_uuid_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - make_box
    - func
    - 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:90,1
    - Dst: func
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:90,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:90,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:90,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:90,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:90,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 4
    argNames:
    - size
    - name
    - version
    - func
    argTypes:
    - BoxSize
    - '&[u8; 4]'
    - u8
    - F
    constantsTouched: []
    func_position:
      end: 91
      start: 86
    functionDepth: 6
    functionLinenumber: 86
    functionLinenumberEnd: 91
    functionName: make_fullbox
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 28
    functionsReached:
    - make_box
    - func
    - 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:95,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:95,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:96,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:96,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 100
      start: 94
    functionDepth: 6
    functionLinenumber: 94
    functionLinenumberEnd: 100
    functionName: read_box_header_short
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_box
    - Result::unwrap
    - BoxSize::Short
    - 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:104,1
    - Dst: BoxSize::Long
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:104,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:105,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:105,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 103
    functionDepth: 6
    functionLinenumber: 103
    functionLinenumberEnd: 109
    functionName: read_box_header_long
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_box
    - BoxSize::Long
    - Result::unwrap
    - super::read_box_header
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:113,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:113,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:114,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 118
      start: 112
    functionDepth: 6
    functionLinenumber: 112
    functionLinenumberEnd: 118
    functionName: read_box_header_short_unknown_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_box
    - BoxSize::Short
    - 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:122,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:122,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:123,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 127
      start: 121
    functionDepth: 6
    functionLinenumber: 121
    functionLinenumberEnd: 127
    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:131,1
    - Dst: BoxSize::UncheckedLong
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:131,1
    - Dst: super::read_box_header
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:132,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 136
      start: 130
    functionDepth: 6
    functionLinenumber: 130
    functionLinenumberEnd: 136
    functionName: read_box_header_long_invalid_size
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - make_box
    - BoxSize::UncheckedLong
    - 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:145,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:145,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:146,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:147,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:147,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 152
      start: 139
    functionDepth: 7
    functionLinenumber: 139
    functionLinenumberEnd: 152
    functionName: read_box_header_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_uuid_box
    - unwrap
    - BoxSize::Short
    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:161,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:161,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:162,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:163,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:163,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 167
      start: 155
    functionDepth: 7
    functionLinenumber: 155
    functionLinenumberEnd: 167
    functionName: read_box_header_truncated_uuid
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - BoxSize::UncheckedShort
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_uuid_box
    - 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:177,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:178,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:179,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 184
      start: 170
    functionDepth: 5
    functionLinenumber: 170
    functionLinenumberEnd: 184
    functionName: read_box_header_uuid_past_eof
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::next_box
    - Cursor::new
    - super::BoxIter::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:209,1
    - Dst: BoxSize::UncheckedShort
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:209,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:210,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:210,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:210,1
    - Dst: super::read_mp4
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 219
      start: 207
    functionDepth: 23
    functionLinenumber: 207
    functionLinenumberEnd: 219
    functionName: read_truncated_ftyp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - BoxSize::UncheckedShort
    - B32
    - make_box
    - super::read_mp4
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_truncated_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:229,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:230,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:230,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:230,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:230,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:235,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:236,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:236,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:236,1
    - Dst: super::read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:239,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:239,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 245
      start: 222
    functionDepth: 6
    functionLinenumber: 222
    functionLinenumberEnd: 245
    functionName: read_ftyp_case
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_ftyp
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_ftyp_case()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:249,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:249,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:250,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:250,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:250,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:250,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:250,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:257,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:258,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:258,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:258,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:261,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:261,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 32
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 267
      start: 248
    functionDepth: 25
    functionLinenumber: 248
    functionLinenumberEnd: 267
    functionName: read_elst_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_elst
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - B16
    linkageType: ''
    returnType: void
    signature: fn read_elst_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:271,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:271,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:272,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:284,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:285,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:285,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:285,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:288,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:288,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 294
      start: 270
    functionDepth: 25
    functionLinenumber: 270
    functionLinenumberEnd: 294
    functionName: read_elst_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_elst
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - B64
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - B16
    linkageType: ''
    returnType: void
    signature: fn read_elst_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:298,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:298,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:299,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:299,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:299,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:299,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:299,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:305,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:306,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:306,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:306,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:309,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:309,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 312
      start: 297
    functionDepth: 7
    functionLinenumber: 297
    functionLinenumberEnd: 312
    functionName: read_mdhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - super::read_mdhd
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:316,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:316,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:317,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:317,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:317,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:317,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:317,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:323,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:324,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:324,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:324,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:327,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 330
      start: 315
    functionDepth: 7
    functionLinenumber: 315
    functionLinenumberEnd: 330
    functionName: read_mdhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - B64
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - super::read_mdhd
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:334,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:334,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:335,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:335,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:335,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:335,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:335,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:341,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:342,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:342,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:342,1
    - Dst: super::read_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:345,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:345,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 333
    functionDepth: 7
    functionLinenumber: 333
    functionLinenumberEnd: 348
    functionName: read_mdhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - super::read_mdhd
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:352,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:352,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:353,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:353,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:353,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:353,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:353,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:359,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:360,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:360,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:360,1
    - Dst: super::parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:363,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:363,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 365
      start: 351
    functionDepth: 7
    functionLinenumber: 351
    functionLinenumberEnd: 365
    functionName: read_mdhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - B64
    - super::parse_mdhd
    - make_fullbox
    - super::Track::new
    - unwrap
    - BoxSize::Short
    linkageType: ''
    returnType: void
    signature: fn read_mdhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:369,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:369,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:370,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:372,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:373,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:373,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:373,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:376,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 379
      start: 368
    functionDepth: 25
    functionLinenumber: 368
    functionLinenumberEnd: 379
    functionName: read_mvhd_v0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:383,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:383,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:384,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:386,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:387,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:387,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:387,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:390,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 393
      start: 382
    functionDepth: 25
    functionLinenumber: 382
    functionLinenumberEnd: 393
    functionName: read_mvhd_v1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - B64
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_v1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:397,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:397,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:398,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:400,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:401,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:401,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:401,1
    - Dst: super::parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:404,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 26
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 406
      start: 396
    functionDepth: 26
    functionLinenumber: 396
    functionLinenumberEnd: 406
    functionName: read_mvhd_invalid_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - B64
    - super::parse_mvhd
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_invalid_timescale()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:410,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:410,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:411,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:411,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:411,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:411,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:411,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:417,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:418,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:418,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:418,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:421,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 29
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 424
      start: 409
    functionDepth: 25
    functionLinenumber: 409
    functionLinenumberEnd: 424
    functionName: read_mvhd_unknown_duration
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_mvhd_unknown_duration()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:428,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:428,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:429,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:436,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:437,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:437,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:437,1
    - Dst: super::read_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:440,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:440,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 31
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 427
    functionDepth: 25
    functionLinenumber: 427
    functionLinenumberEnd: 443
    functionName: read_mvhd_v0_trailing_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_mvhd
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - B16
    - append_repeated
    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:448,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:449,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:456,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:457,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:457,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:457,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:459,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 461
      start: 446
    functionDepth: 7
    functionLinenumber: 446
    functionLinenumberEnd: 461
    functionName: read_vpcc_version_0
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - super::read_vpcc
    - unwrap
    - B8
    - B16
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_0()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:468,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:469,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:479,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:480,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:480,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:480,1
    - Dst: super::read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:482,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 492
      start: 466
    functionDepth: 7
    functionLinenumber: 466
    functionLinenumberEnd: 492
    functionName: read_vpcc_version_1
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - super::read_vpcc
    - unwrap
    - B8
    - B16
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_vpcc_version_1()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:515,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:515,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:516,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:524,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:525,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:525,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:525,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 532
      start: 514
    functionDepth: 7
    functionLinenumber: 514
    functionLinenumberEnd: 532
    functionName: read_hdlr_multiple_nul_in_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - B8
    - append_bytes
    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:536,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:536,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:537,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:539,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:540,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:540,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:540,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:543,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:543,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 545
      start: 535
    functionDepth: 7
    functionLinenumber: 535
    functionLinenumberEnd: 545
    functionName: read_hdlr_short_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - super::read_hdlr
    - unwrap
    - BoxSize::Short
    - B8
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_short_name()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:549,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:549,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:550,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:552,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:553,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:553,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:553,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 560
      start: 548
    functionDepth: 7
    functionLinenumber: 548
    functionLinenumberEnd: 560
    functionName: read_hdlr_unsupported_version
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_hdlr_unsupported_version()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:564,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:564,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:565,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:567,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:568,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:568,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:568,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 575
      start: 563
    functionDepth: 7
    functionLinenumber: 563
    functionLinenumberEnd: 575
    functionName: read_hdlr_invalid_pre_defined_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_bytes
    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:579,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:579,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:580,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:582,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:583,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:583,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:583,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 590
      start: 578
    functionDepth: 7
    functionLinenumber: 578
    functionLinenumberEnd: 590
    functionName: read_hdlr_invalid_reserved_field
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_bytes
    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:594,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:594,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:595,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:597,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:598,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:598,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:598,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 605
      start: 593
    functionDepth: 7
    functionLinenumber: 593
    functionLinenumberEnd: 605
    functionName: read_hdlr_zero_length_name
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - BoxSize::Short
    - append_bytes
    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:609,1
    - Dst: BoxSize::Short
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:609,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:610,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:612,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:613,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:613,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:613,1
    - Dst: super::read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:616,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:616,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 618
      start: 608
    functionDepth: 7
    functionLinenumber: 608
    functionLinenumberEnd: 618
    functionName: read_hdlr_zero_length_name_permissive
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - super::read_hdlr
    - unwrap
    - BoxSize::Short
    - append_bytes
    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: 626
      start: 620
    functionDepth: 0
    functionLinenumber: 620
    functionLinenumberEnd: 626
    functionName: flac_streaminfo
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: Vec
    signature: fn flac_streaminfo() -> Vec<u8>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:630,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:631,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:641,1
    - Dst: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:644,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:641,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:650,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:651,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:651,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:651,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:652,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 654
      start: 629
    functionDepth: 21
    functionLinenumber: 629
    functionLinenumberEnd: 654
    functionName: read_flac
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - flac_streaminfo
    - make_dfla
    - Cursor::into_inner
    - B32
    - super::BoxIter::new
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_flac()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:681,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:682,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:684,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:691,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:691,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: 694
      start: 674
    functionDepth: 7
    functionLinenumber: 674
    functionLinenumberEnd: 694
    functionName: make_dfla
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 3
    functionsReached:
    - B32
    - u32::from
    - make_fullbox
    - Self::len
    - append_bytes
    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: flac_streaminfo
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:713,1
    - Dst: make_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:714,1
    - Dst: FlacBlockLength::Incorrect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:718,1
    - Dst: Vec::len
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:718,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:720,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:721,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:721,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:721,1
    - Dst: super::read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:723,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 725
      start: 712
    functionDepth: 8
    functionLinenumber: 712
    functionLinenumberEnd: 725
    functionName: long_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - Vec::len
    - flac_streaminfo
    - make_dfla
    - FlacBlockLength::Incorrect
    - super::BoxIter::new
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - super::read_dfla
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn long_flac_metadata()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:729,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:730,1
    - Dst: make_dops
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:739,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:739,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:741,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:742,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:742,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:742,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:743,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 745
      start: 728
    functionDepth: 21
    functionLinenumber: 728
    functionLinenumberEnd: 745
    functionName: read_opus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - Cursor::into_inner
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - super::read_audio_sample_entry
    - unwrap
    - make_dops
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_opus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:748,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    - Dst: B8
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:749,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 14
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 756
      start: 747
    functionDepth: 6
    functionLinenumber: 747
    functionLinenumberEnd: 756
    functionName: make_dops
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 2
    functionsReached:
    - B16
    - make_box
    - B8
    - B32
    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:839,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:840,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:853,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:854,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:854,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:854,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:855,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 40
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 860
      start: 838
    functionDepth: 21
    functionLinenumber: 838
    functionLinenumberEnd: 860
    functionName: esds_limit
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - super::read_audio_sample_entry
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn esds_limit()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:864,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:865,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:866,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:866,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:866,1
    - Dst: super::read_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:867,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 871
      start: 863
    functionDepth: 25
    functionLinenumber: 863
    functionLinenumberEnd: 871
    functionName: read_elst_zero_entries
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::read_elst
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - SampleToChunkIterator::next_box
    - make_fullbox
    - unwrap
    - B16
    linkageType: ''
    returnType: void
    signature: fn read_elst_zero_entries()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:874,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:875,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:875,1
    - Dst: B64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:875,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:875,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:875,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 882
      start: 873
    functionDepth: 7
    functionLinenumber: 873
    functionLinenumberEnd: 882
    functionName: make_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 1
    functionsReached:
    - B16
    - B64
    - B32
    - 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:889,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:890,1
    - Dst: make_elst
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:890,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:890,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:892,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:893,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:893,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:893,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:894,1
    - Dst: super::read_edts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:895,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 24
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 902
      start: 885
    functionDepth: 26
    functionLinenumber: 885
    functionLinenumberEnd: 902
    functionName: read_edts_bogus
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - Cursor::into_inner
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - super::Track::new
    - unwrap
    - make_elst
    - super::read_edts
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_edts_bogus()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:911,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:912,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:914,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:915,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:915,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:915,1
    - Dst: super::read_stts
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:918,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:918,1
    - Dst: super::read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:921,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:921,1
    - Dst: super::read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:924,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:924,1
    - Dst: super::read_stco
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:927,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:927,1
    - Dst: super::read_co64
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:930,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:930,1
    - Dst: super::read_stss
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:933,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:933,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 938
      start: 905
    functionDepth: 25
    functionLinenumber: 905
    functionLinenumberEnd: 938
    functionName: skip_padding_in_boxes
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - super::read_co64
    - Result::unwrap
    - super::read_stss
    - SampleToChunkIterator::next_box
    - Result::expect
    - make_fullbox
    - super::read_stsc
    - super::read_stsz
    - super::read_stco
    - unwrap
    - super::read_stts
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_boxes()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:944,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:945,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:944,1
    - Dst: make_fullbox
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:958,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:959,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:959,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:960,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:959,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:964,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:965,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:965,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:965,1
    - Dst: super::read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:966,1
    - Dst: super::Track::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:966,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:966,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 51
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 968
      start: 941
    functionDepth: 20
    functionLinenumber: 941
    functionLinenumberEnd: 968
    functionName: skip_padding_in_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Cursor::into_inner
    - B32
    - super::BoxIter::new
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_stsd
    - Result::expect
    - make_fullbox
    - super::Track::new
    - unwrap
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn skip_padding_in_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1022,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1023,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1023,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1024,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1026,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1027,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1027,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1027,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1029,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1029,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1038
      start: 1015
    functionDepth: 20
    functionLinenumber: 1015
    functionLinenumberEnd: 1038
    functionName: read_descriptor_80
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_descriptor_80()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1078,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1079,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1079,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1080,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1082,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1083,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1083,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1083,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1085,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1085,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1094
      start: 1068
    functionDepth: 20
    functionLinenumber: 1068
    functionLinenumberEnd: 1094
    functionName: read_esds_aac_type5
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_esds_aac_type5()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1107,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1108,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1108,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1109,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1111,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1112,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1112,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1112,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1114,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1114,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 30
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1123
      start: 1097
    functionDepth: 20
    functionLinenumber: 1097
    functionLinenumberEnd: 1123
    functionName: read_esds_mpeg2_aac_lc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    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:1146,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1146,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1146,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1147,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1148,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1148,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1148,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1150,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1150,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 34
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1166
      start: 1126
    functionDepth: 20
    functionLinenumber: 1126
    functionLinenumberEnd: 1166
    functionName: read_stsd_mp4v
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_video_sample_entry
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_stsd_mp4v()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1176,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1177,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1177,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1178,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1180,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1181,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1181,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1181,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1183,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1183,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1190
      start: 1169
    functionDepth: 20
    functionLinenumber: 1169
    functionLinenumberEnd: 1190
    functionName: read_esds_one_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    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:1194,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1195,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1195,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1195,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1195,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1200,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1201,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1201,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1201,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1203,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1207
      start: 1193
    functionDepth: 21
    functionLinenumber: 1193
    functionLinenumberEnd: 1207
    functionName: read_esds_byte_extension_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - super::read_esds
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - B16
    - append_repeated
    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:1211,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1212,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1222,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1223,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1223,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1223,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1224,1
    - Dst: Result::expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1224,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1232
      start: 1210
    functionDepth: 21
    functionLinenumber: 1210
    functionLinenumberEnd: 1232
    functionName: read_f4v_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - super::BoxIter::new
    - super::read_audio_sample_entry
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - Result::expect
    - unwrap
    - B16
    - append_repeated
    linkageType: ''
    returnType: void
    signature: fn read_f4v_stsd()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1236,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1236,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1236,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1237,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1238,1
    - Dst: append_repeated
      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:1246,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1248,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1249,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1249,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1249,1
    - Dst: super::read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1250,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1254
      start: 1235
    functionDepth: 20
    functionLinenumber: 1235
    functionLinenumberEnd: 1254
    functionName: unknown_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Cursor::into_inner
    - super::BoxIter::new
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_video_sample_entry
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn unknown_video_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1258,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1258,1
    - Dst: Cursor::into_inner
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1258,1
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1259,1
    - Dst: append_repeated
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B16
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1260,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1269,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1271,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1272,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1272,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1272,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1273,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 44
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1277
      start: 1257
    functionDepth: 20
    functionLinenumber: 1257
    functionLinenumberEnd: 1277
    functionName: unknown_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - Cursor::into_inner
    - B32
    - super::BoxIter::new
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_audio_sample_entry
    - unwrap
    - B16
    - append_repeated
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn unknown_audio_sample_entry()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1288,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1289,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1289,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1290,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1292,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1293,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1293,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1293,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1299
      start: 1280
    functionDepth: 20
    functionLinenumber: 1280
    functionLinenumberEnd: 1299
    functionName: read_esds_invalid_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_esds_invalid_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1308,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1309,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1309,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1310,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1312,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1313,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1313,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1313,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1315,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1319
      start: 1302
    functionDepth: 20
    functionLinenumber: 1302
    functionLinenumberEnd: 1319
    functionName: read_esds_redundant_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_esds_redundant_descriptor()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1332,1
    - Dst: B32
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1333,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1333,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1334,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1336,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1337,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1337,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1337,1
    - Dst: super::read_esds
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1339,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 20
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1343
      start: 1322
    functionDepth: 20
    functionLinenumber: 1322
    functionLinenumberEnd: 1343
    functionName: read_esds_multiple_descriptors
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - B32
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_esds
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_esds_multiple_descriptors()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1358,1
    - Dst: append_bytes
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1358,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1358,1
    - Dst: super::BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1359,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1360,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1360,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1360,1
    - Dst: super::read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1363,1
    - Dst: Result::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1363,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1378
      start: 1346
    functionDepth: 20
    functionLinenumber: 1346
    functionLinenumberEnd: 1378
    functionName: read_stsd_lpcm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/tests.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - super::BoxIter::new
    - Result::unwrap
    - make_box
    - SampleToChunkIterator::next_box
    - unwrap
    - super::read_audio_sample_entry
    - append_bytes
    linkageType: ''
    returnType: void
    signature: fn read_stsd_lpcm()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&str::take'
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1382,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1383,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1383,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1386
      start: 1381
    functionDepth: 0
    functionLinenumber: 1381
    functionLinenumberEnd: 1386
    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:1390,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1390,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs:1390,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1392
      start: 1389
    functionDepth: 0
    functionLinenumber: 1389
    functionLinenumberEnd: 1392
    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: 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: 21
    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/avif.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
  - 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
  - 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
  - parse_cbcs
  - parse_unencrypted
  - parse_encrypted_av1
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
- function_names:
  - buf_read
  - parse_file_and_get_info
  - check_loop_count
  - check_timescale
  - loop_once
  - loop_twice
  - loop_four_times_due_to_ceiling
  - loop_forever
  - no_edts
  - check_timescales
  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
  - 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
  - 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
  - minimal_mp4_get_track_info_invalid_track_number
  - 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
  - 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_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
  - 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_ispe
  - read_pasp
  - 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
  - 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
  - read_flac
  - make_dfla
  - read_dfla
  - long_flac_metadata
  - 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_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
  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
