All functions:
  Elements:
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::slice::from_raw_parts_mut
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:9,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs:10,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - buf
    - size
    - userdata
    argTypes:
    - '*mut u8'
    - usize
    - '*mut std::os::raw::c_void'
    constantsTouched: []
    func_position:
      end: 14
      start: 7
    functionDepth: 1
    functionLinenumber: 7
    functionLinenumberEnd: 14
    functionName: buf_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn buf_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:21,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:23,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:27,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:28,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:33,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:37,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:38,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:42,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:43,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_xhe_aac.rs:58,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 41
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 60
      start: 19
    functionDepth: 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:
    - mp4parse_new
    - expect
    - mp4parse_get_track_count
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - File::open
    - std::ptr::null_mut
    - 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:
    - mp4parse_new
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    - File::open
    - std::ptr::null_mut
    - 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:
    - mp4parse_new
    - expect
    - mp4parse_get_track_audio_info
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    - File::open
    - std::ptr::null_mut
    - 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:
    - mp4parse_new
    - expect
    - mp4parse_get_track_count
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - File::open
    - std::ptr::null_mut
    - 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
    - expect
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - std::fs::File::open
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - std::ptr::null_mut
    - 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_new
    - expect
    - Default::default
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - std::fs::File::open
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - Mp4parseFragmentInfo::default
    - 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_new
    - expect
    - Default::default
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - std::fs::File::open
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - Mp4parseFragmentInfo::default
    - 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
    - expect
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_free
    - std::ptr::null_mut
    - 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
    - expect
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_free
    - std::ptr::null_mut
    - 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
    - expect
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - into
    - std::ptr::null_mut
    - 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:137,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:137,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:139,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:144,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:145,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:149,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:150,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:154,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:155,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:161,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:162,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: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 183
      start: 135
    functionDepth: 5
    functionLinenumber: 135
    functionLinenumberEnd: 183
    functionName: repeated_get_indice_table_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - into
    - std::ptr::null_mut
    - Some
    linkageType: ''
    returnType: void
    signature: fn repeated_get_indice_table_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:187,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:189,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:194,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:195,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:200,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:204,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:205,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:211,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:215,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:216,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:223,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:224,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:225,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:226,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:227,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:231,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:232,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:233,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:234,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:235,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:239,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:240,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:241,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:242,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:243,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:251,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 87
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 186
    functionDepth: 5
    functionLinenumber: 186
    functionLinenumberEnd: 253
    functionName: parse_sample_table_with_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - into
    - std::ptr::null_mut
    - 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:257,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:257,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:259,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:264,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:265,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:270,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:274,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:275,1
    - Dst: mp4parse_is_fragmented
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:280,1
    - Dst: Mp4parseByteData::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:284,1
    - Dst: mp4parse_get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:285,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:290,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:291,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:292,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:293,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:294,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:298,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:299,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:300,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:301,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:302,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:306,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:307,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:308,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:309,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:310,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:314,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:315,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:316,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:317,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:318,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs:327,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 93
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 329
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 329
    functionName: parse_sample_table_with_negative_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - mp4parse_is_fragmented
    - mp4parse_get_track_count
    - mp4parse_get_indice_table
    - std::fs::File::open
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - mp4parse_free
    - Mp4parseTrackInfo::default
    - into
    - std::ptr::null_mut
    - 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
    - mp4parse_new
    - expect
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - std::fs::File::open
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - Mp4parseTrackInfo::default
    - enumerate
    - std::ptr::null_mut
    - 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: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:118,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:119,1
    - Dst: Mp4parsePsshInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:127,1
    - Dst: mp4parse_get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:128,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:139,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:142,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 38
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 144
      start: 105
    functionDepth: 5
    functionLinenumber: 105
    functionLinenumberEnd: 144
    functionName: repeated_get_pssh_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - mp4parse_get_pssh_info
    - std::fs::File::open
    - std::slice::from_raw_parts
    - mp4parse_free
    - Mp4parsePsshInfo::default
    - std::ptr::null_mut
    - Some
    linkageType: ''
    returnType: void
    signature: fn repeated_get_pssh_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:148,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:148,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:150,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:155,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:156,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:160,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:165,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:166,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:171,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:172,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:194,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:194,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:204,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:204,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 67
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 208
      start: 147
    functionDepth: 5
    functionLinenumber: 147
    functionLinenumberEnd: 208
    functionName: parse_cbcs
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - iter
    - mp4parse_new
    - expect
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - std::fs::File::open
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_info
    - Mp4parseTrackInfo::default
    - enumerate
    - std::ptr::null_mut
    - 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:214,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:214,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:216,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:221,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:222,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:227,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:231,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:232,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:236,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:237,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 48
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 253
      start: 211
    functionDepth: 5
    functionLinenumber: 211
    functionLinenumberEnd: 253
    functionName: parse_unencrypted
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - mp4parse_get_track_count
    - std::fs::File::open
    - mp4parse_get_track_audio_info
    - mp4parse_get_track_info
    - Mp4parseTrackAudioInfo::default
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - 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:265,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:265,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:267,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:272,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:273,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:277,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:282,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:283,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:288,1
    - Dst: mp4parse_get_track_video_info
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:289,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:303,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:303,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:323,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:323,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:333,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs:333,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 81
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 337
      start: 256
    functionDepth: 5
    functionLinenumber: 256
    functionLinenumberEnd: 337
    functionName: parse_encrypted_av1
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
    functionUses: 0
    functionsReached:
    - iter
    - mp4parse_new
    - expect
    - mp4parse_get_track_video_info
    - mp4parse_get_track_count
    - std::fs::File::open
    - Mp4parseTrackVideoInfo::default
    - mp4parse_get_track_info
    - Mp4parseTrackInfo::default
    - enumerate
    - std::ptr::null_mut
    - 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:
    - Some
    - std::ptr::null
    - expect
    - Default::default
    - std::fs::File::open
    - mp4parse_avif_get_info
    - std::ptr::null_mut
    - mp4parse_avif_new
    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:
    - parse_file_and_get_info
    - mp4parse_avif_free
    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:
    - parse_file_and_get_info
    - mp4parse_avif_get_indice_table
    - Mp4parseByteData::default
    - mp4parse_avif_free
    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]::as_ptr'
    - std::ptr::null
    - '&''a [u8]::is_empty'
    - '&''a [u8]::len'
    linkageType: ''
    returnType: Self
    signature: 'fn with_data(slice: &[u8]) -> Self'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs: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: 8
    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:177,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:178,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:179,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:181,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 183
      start: 176
    functionDepth: 1
    functionLinenumber: 176
    functionLinenumberEnd: 183
    functionName: Mp4parseByteData::set_data
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - Self::is_empty
    - std::ptr::null
    - Self::as_ptr
    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:188,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:189,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:190,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:192,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 14
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[Indice]'
    constantsTouched: []
    func_position:
      end: 194
      start: 187
    functionDepth: 1
    functionLinenumber: 187
    functionLinenumberEnd: 194
    functionName: Mp4parseByteData::set_indices
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::len
    - Self::is_empty
    - std::ptr::null
    - Self::as_ptr
    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:252,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 254
      start: 249
    functionDepth: 0
    functionLinenumber: 249
    functionLinenumberEnd: 254
    functionName: Mp4parseTrackAudioInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    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:285,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 288
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 288
    functionName: Mp4parseTrackVideoInfo::default
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 8
    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: 408
      start: 406
    functionDepth: 0
    functionLinenumber: 406
    functionLinenumberEnd: 408
    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: 412
      start: 410
    functionDepth: 0
    functionLinenumber: 410
    functionLinenumberEnd: 412
    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:421,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 423
      start: 418
    functionDepth: 1
    functionLinenumber: 418
    functionLinenumberEnd: 423
    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:426,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 429
      start: 425
    functionDepth: 13
    functionLinenumber: 425
    functionLinenumberEnd: 429
    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: 441
      start: 439
    functionDepth: 0
    functionLinenumber: 439
    functionLinenumberEnd: 441
    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:450,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - context
    argTypes:
    - Self::Context
    constantsTouched: []
    func_position:
      end: 452
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 452
    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:455,1
    - Dst: is_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:456,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 461
      start: 454
    functionDepth: 13
    functionLinenumber: 454
    functionLinenumberEnd: 461
    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:475,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:476,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:476,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:480,1
    - Dst: Result::as_mut_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:480,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:480,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:482,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:484,1
    - Dst: std::io::Error::other
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:484,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 26
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 486
      start: 474
    functionDepth: 0
    functionLinenumber: 474
    functionLinenumberEnd: 486
    functionName: Mp4parseIo::read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Result::len
    - Ok
    - std::io::Error::other
    - Result::as_mut_ptr
    - Err
    - unwrap
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_new_common
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:513,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 2
    argNames:
    - io
    - parser_out
    argTypes:
    - '*const Mp4parseIo'
    - '*mut *mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 514
      start: 509
    functionDepth: 4
    functionLinenumber: 509
    functionLinenumberEnd: 514
    functionName: mp4parse_new
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 25
    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:531,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: 532
      start: 526
    functionDepth: 4
    functionLinenumber: 526
    functionLinenumberEnd: 532
    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:540,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:541,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:542,1
    - Dst: '*mut *mut P::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:543,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:544,1
    - Dst: mp4parse_new_common_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:548,1
    - Dst: clone
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:548,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: 556
      start: 534
    functionDepth: 3
    functionLinenumber: 534
    functionLinenumberEnd: 556
    functionName: mp4parse_new_common
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - mp4parse_new_common_safe
    - '*mut *mut P::is_null'
    - clone
    - is_null
    - is_none
    - '*const Mp4parseIo::is_null'
    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:562,1
    - Dst: isize::map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:562,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:562,1
    - Dst: TryBox::try_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:564,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:564,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:562,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:562,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 13
    argCount: 2
    argNames:
    - io
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 567
      start: 558
    functionDepth: 2
    functionLinenumber: 558
    functionLinenumberEnd: 567
    functionName: mp4parse_new_common_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - isize::map
    - TryBox::try_new
    - P::read
    - map_err
    - map
    - and_then
    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:579,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseParser'
    constantsTouched: []
    func_position:
      end: 580
      start: 577
    functionDepth: 0
    functionLinenumber: 577
    functionLinenumberEnd: 580
    functionName: mp4parse_free
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 24
    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:592,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '*mut Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 593
      start: 590
    functionDepth: 0
    functionLinenumber: 590
    functionLinenumberEnd: 593
    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:609,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:609,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:612,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:615,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:618,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 29
    argCount: 2
    argNames:
    - parser
    - count
    argTypes:
    - '*const Mp4parseParser'
    - '*mut u32'
    constantsTouched: []
    func_position:
      end: 620
      start: 604
    functionDepth: 1
    functionLinenumber: 604
    functionLinenumberEnd: 620
    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:636,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:636,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:641,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:643,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:647,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:664,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:666,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:666,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:671,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:671,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:672,1
    - Dst: mp4parse::unstable::CheckedInteger
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:674,1
    - Dst: mp4parse::unstable::rational_scale
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:688,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 104
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackInfo'
    constantsTouched: []
    func_position:
      end: 710
      start: 631
    functionDepth: 1
    functionLinenumber: 631
    functionLinenumberEnd: 710
    functionName: mp4parse_get_track_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 14
    functionsReached:
    - map_or
    - Some
    - mp4parse::unstable::CheckedInteger
    - Default::default
    - len
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    - is_null
    - mp4parse::unstable::rational_scale
    - into
    - context_mut
    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:726,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:726,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:731,1
    - Dst: get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:733,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:733,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 734
      start: 721
    functionDepth: 6
    functionLinenumber: 721
    functionLinenumberEnd: 734
    functionName: mp4parse_get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 9
    functionsReached:
    - get_track_audio_info
    - Default::default
    - Result::into
    - is_null
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    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: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:741,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:742,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:743,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:744,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:746,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:748,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:757,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:758,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:764,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:770,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:773,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:774,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:777,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:777,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:778,1
    - Dst: enumerate
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:778,1
    - Dst: Mp4parseTrackAudioSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:779,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:782,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:821,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:822,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:824,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:825,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:845,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:846,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:848,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:851,1
    - Dst: mp4parse::serialize_opus_header
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:852,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:854,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:857,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:858,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:859,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:860,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:862,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:868,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:875,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:875,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:878,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:881,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:884,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:898,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:900,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:902,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:904,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:905,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:907,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:911,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:914,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:917,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:919,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:922,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:924,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:925,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:926,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:928,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:931,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:934,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 338
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackAudioInfo'
    constantsTouched: []
    func_position:
      end: 935
      start: 736
    functionDepth: 5
    functionLinenumber: 736
    functionLinenumberEnd: 935
    functionName: get_track_audio_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 10
    functionsReached:
    - std::ptr::null
    - as_ref
    - TryVec::with_capacity
    - unwrap_or
    - insert
    - is_some
    - find
    - len
    - mp4parse::serialize_opus_header
    - is_empty
    - Err
    - Self::is_empty
    - Self::len
    - TryVec::new
    - set_data
    - enumerate
    - as_ptr
    - iter
    - Self::as_ptr
    - Ok
    - Mp4parseTrackAudioSampleInfo::default
    - get
    - push
    - OptionalFourCc::Some
    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:951,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:951,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:956,1
    - Dst: mp4parse_get_track_video_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:958,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:958,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 959
      start: 946
    functionDepth: 4
    functionLinenumber: 946
    functionLinenumberEnd: 959
    functionName: mp4parse_get_track_video_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - Default::default
    - mp4parse_get_track_video_info_safe
    - Result::into
    - is_null
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    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:966,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:968,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:969,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:975,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:995,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:999,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1008,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1009,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1010,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1011,1
    - Dst: as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1013,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1015,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1021,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1024,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1025,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1028,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1028,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1029,1
    - Dst: Mp4parseTrackVideoSampleInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1030,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1033,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1057,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1062,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1067,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1067,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1070,1
    - Dst: OptionalFourCc::Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1073,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1076,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1090,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1092,1
    - Dst: unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1094,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1096,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1097,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1099,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1103,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1106,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1109,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1111,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1114,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1116,1
    - Dst: Self::is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1117,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1118,1
    - Dst: Self::as_ptr
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1120,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1123,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1125,1
    CyclomaticComplexity: 28
    EdgeCount: 28
    ICount: 274
    argCount: 3
    argNames:
    - parser
    - track_index
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - u32
    - '&mut Mp4parseTrackVideoInfo'
    constantsTouched: []
    func_position:
      end: 1126
      start: 961
    functionDepth: 3
    functionLinenumber: 961
    functionLinenumberEnd: 1126
    functionName: mp4parse_get_track_video_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - std::ptr::null
    - as_ref
    - TryVec::with_capacity
    - unwrap_or
    - insert
    - is_some
    - Mp4parseTrackVideoSampleInfo::default
    - find
    - context
    - len
    - is_empty
    - Err
    - Self::is_empty
    - Self::len
    - set_data
    - as_ptr
    - iter
    - Self::as_ptr
    - Ok
    - get
    - push
    - OptionalFourCc::Some
    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:1145,1
    - Dst: '*mut Mp4parseAvifInfo::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1145,1
    - Dst: mp4parse_avif_get_info_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1149,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1149,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - parser
    - avif_info
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifInfo'
    constantsTouched: []
    func_position:
      end: 1155
      start: 1141
    functionDepth: 17
    functionLinenumber: 1141
    functionLinenumberEnd: 1155
    functionName: mp4parse_avif_get_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - context
    - '*mut Mp4parseAvifInfo::is_null'
    - is_null
    - mp4parse_avif_get_info_safe
    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:1188,1
    - Dst: Self::iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1188,1
    - Dst: SampleToChunkIterator::all
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1188,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 15
    argCount: 1
    argNames:
    - data
    argTypes:
    - '&[u8]'
    constantsTouched: []
    func_position:
      end: 1193
      start: 1187
    functionDepth: 15
    functionLinenumber: 1187
    functionLinenumberEnd: 1193
    functionName: m::p::4::p::a::r::s::e::_::a::v::i::f::_::g::e::t::_::i::n::f::o::_::s::a::f::e::get_bit_depth
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - SampleToChunkIterator::all
    - Self::is_empty
    - Self::iter
    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:1161,1
    - Dst: '&MediaContext::spatial_extents_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1162,1
    - Dst: '&MediaContext::nclx_colour_information_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1163,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1163,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1165,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1165,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1166,1
    - Dst: '&MediaContext::icc_colour_information'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1167,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1167,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1167,1
    - Dst: '&MediaContext::image_rotation'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1169,1
    - Dst: '&MediaContext::image_mirror_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1170,1
    - Dst: '&MediaContext::pixel_aspect_ratio_ptr'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1171,1
    - Dst: '&MediaContext::primary_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1173,1
    - Dst: '&MediaContext::alpha_item_is_present'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1175,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1195,1
    - Dst: '&MediaContext::primary_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1195,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1195,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1195,1
    - Dst: get_bit_depth
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1197,1
    - Dst: '&MediaContext::alpha_item_bits_per_channel'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1197,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1197,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1197,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1205,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1205,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1206,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1211,1
    - Dst: pred
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1214,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1217,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1217,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1225,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1227,1
    - Dst: get_track
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1231,1
    - Dst: Result::has_auxl_reference
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1232,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1232,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1241,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1250,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1251,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1253,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1258,1
    - Dst: get_av1c
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1259,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1261,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1267,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1267,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1272,1
    - Dst: checked_div
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1274,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1274,1
    - Dst: checked_rem
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1275,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1276,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1276,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1277,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1293,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1307,1
    CyclomaticComplexity: 29
    EdgeCount: 29
    ICount: 212
    argCount: 1
    argNames:
    - context
    argTypes:
    - '&AvifContext'
    constantsTouched: []
    func_position:
      end: 1308
      start: 1157
    functionDepth: 16
    functionLinenumber: 1157
    functionLinenumberEnd: 1308
    functionName: mp4parse_avif_get_info_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&MediaContext::image_rotation'
    - std::ptr::null
    - checked_rem
    - as_ref
    - checked_div
    - and_then
    - find
    - '&MediaContext::nclx_colour_information_ptr'
    - '&MediaContext::pixel_aspect_ratio_ptr'
    - get_bit_depth
    - '&MediaContext::icc_colour_information'
    - is_empty
    - is_none
    - get_av1c
    - Mp4parseByteData::with_data
    - Some
    - '&MediaContext::alpha_item_is_present'
    - saturating_sub
    - '&MediaContext::image_mirror_ptr'
    - '&MediaContext::primary_item_is_present'
    - into_bitfield
    - Result::has_auxl_reference
    - pred
    - unwrap
    - iter
    - Option::unwrap_or
    - Ok
    - get_track
    - '&MediaContext::alpha_item_bits_per_channel'
    - map
    - any
    - '&MediaContext::spatial_extents_ptr'
    - '&MediaContext::primary_item_bits_per_channel'
    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:1327,1
    - Dst: '*mut Mp4parseAvifImage::is_null'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1327,1
    - Dst: mp4parse_avif_get_image_safe
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1331,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 17
    argCount: 2
    argNames:
    - parser
    - avif_image
    argTypes:
    - '*const Mp4parseAvifParser'
    - '*mut Mp4parseAvifImage'
    constantsTouched: []
    func_position:
      end: 1337
      start: 1323
    functionDepth: 4
    functionLinenumber: 1323
    functionLinenumberEnd: 1337
    functionName: mp4parse_avif_get_image
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - '*mut Mp4parseAvifImage::is_null'
    - mp4parse_avif_get_image_safe
    - is_null
    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:1342,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1343,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1344,1
    - Dst: '&MediaContext::primary_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1345,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1345,1
    - Dst: Mp4parseByteData::with_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1347,1
    - Dst: '&MediaContext::alpha_item_coded_data'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1347,1
    - Dst: Option::unwrap_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 18
    argCount: 1
    argNames:
    - parser
    argTypes:
    - '&Mp4parseAvifParser'
    constantsTouched: []
    func_position:
      end: 1349
      start: 1339
    functionDepth: 3
    functionLinenumber: 1339
    functionLinenumberEnd: 1349
    functionName: mp4parse_avif_get_image_safe
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&MediaContext::primary_item_coded_data'
    - Mp4parseByteData::with_data
    - '&MediaContext::alpha_item_coded_data'
    - Option::unwrap_or
    - context
    - 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:1365,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1370,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1372,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1372,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 23
    argCount: 3
    argNames:
    - parser
    - track_id
    - indices
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut Mp4parseByteData'
    constantsTouched: []
    func_position:
      end: 1379
      start: 1360
    functionDepth: 8
    functionLinenumber: 1360
    functionLinenumberEnd: 1379
    functionName: mp4parse_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 7
    functionsReached:
    - Default::default
    - get_indice_table
    - is_null
    - 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:1396,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1400,1
    - Dst: is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1404,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1409,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1418,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1418,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1421,1
    - Dst: get_indice_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1433,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1433,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: 1443
      start: 1390
    functionDepth: 8
    functionLinenumber: 1390
    functionLinenumberEnd: 1443
    functionName: mp4parse_avif_get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - iter
    - find
    - Default::default
    - get_indice_table
    - Result::into
    - is_null
    - 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:1452,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1452,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1452,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1454,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::get'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1457,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1458,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1459,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1463,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1463,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1463,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1468,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1468,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1468,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1476,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1476,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1479,1
    - Dst: mp4parse::unstable::create_sample_table
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1482,1
    - Dst: set_indices
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1483,1
    - Dst: '&mut TryHashMap<u32, TryVec<Indice>>::insert'
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1484,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1485,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1488,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: 1489
      start: 1445
    functionDepth: 7
    functionLinenumber: 1445
    functionLinenumberEnd: 1489
    functionName: get_indice_table
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 10
    functionsReached:
    - iter
    - find
    - mp4parse::unstable::create_sample_table
    - '&mut TryHashMap<u32, TryVec<Indice>>::get'
    - Ok
    - map
    - ok_or
    - '&mut TryHashMap<u32, TryVec<Indice>>::insert'
    - i64::try_from
    - Err
    - into
    - set_indices
    - Result::ok
    - Some
    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:1504,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1504,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1509,1
    - Dst: context
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1511,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 40
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parseFragmentInfo'
    constantsTouched: []
    func_position:
      end: 1527
      start: 1500
    functionDepth: 1
    functionLinenumber: 1500
    functionLinenumberEnd: 1527
    functionName: mp4parse_get_fragment_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 3
    functionsReached:
    - Default::default
    - context
    - is_null
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    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:1544,1
    - Dst: context_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1548,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1552,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1557,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1558,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1562,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1563,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1564,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 59
    argCount: 3
    argNames:
    - parser
    - track_id
    - fragmented
    argTypes:
    - '*mut Mp4parseParser'
    - u32
    - '*mut u8'
    constantsTouched: []
    func_position:
      end: 1572
      start: 1539
    functionDepth: 3
    functionLinenumber: 1539
    functionLinenumberEnd: 1572
    functionName: mp4parse_is_fragmented
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 5
    functionsReached:
    - iter
    - Some
    - map_or
    - SampleToChunkIterator::find
    - is_null
    - is_empty
    - is_none
    - context_mut
    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:1593,1
    - Dst: (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1593,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1598,1
    - Dst: get_pssh_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1600,1
    - Dst: Result::into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1600,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 20
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '*mut Mp4parseParser'
    - '*mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1601
      start: 1589
    functionDepth: 6
    functionLinenumber: 1589
    functionLinenumberEnd: 1601
    functionName: mp4parse_get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 1
    functionsReached:
    - Default::default
    - get_pssh_info
    - Result::into
    - is_null
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::is_null
    linkageType: ''
    returnType: Mp4parseStatus
    signature: 'pub unsafe extern "C" fn mp4parse_get_pssh_info(parser: *mut Mp4parseParser,info:
      *mut Mp4parsePsshInfo,) -> Mp4parseStatus'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1611,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1612,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1614,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1614,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1614,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1619,1
    - Dst: write_u32::<byteorder::NativeEndian>
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1620,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1621,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1621,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1622,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1622,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1623,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1623,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1625,1
    - Dst: set_data
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1629,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1630,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1633,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 57
    argCount: 2
    argNames:
    - parser
    - info
    argTypes:
    - '&mut Mp4parseParser'
    - '&mut Mp4parsePsshInfo'
    constantsTouched: []
    func_position:
      end: 1634
      start: 1603
    functionDepth: 5
    functionLinenumber: 1603
    functionLinenumberEnd: 1634
    functionName: get_pssh_info
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 2
    functionsReached:
    - as_slice
    - write_u32::<byteorder::NativeEndian>
    - Mp4parseStatus::extend_from_slice
    - len
    - Default::default
    - Ok
    - TryVec::new
    - map_err
    - Mp4parseStatus::as_slice
    - set_data
    - try_into
    - is_none
    - Some
    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: 1639
      start: 1637
    functionDepth: 0
    functionLinenumber: 1637
    functionLinenumberEnd: 1639
    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:1645,1
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1646,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: 1650
      start: 1642
    functionDepth: 2
    functionLinenumber: 1642
    functionLinenumberEnd: 1650
    functionName: valid_read
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::slice::from_raw_parts_mut
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn valid_read(buf: *mut u8, size: usize, userdata: *mut
      std::os::raw::c_void) -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1656,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1656,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1656,1
    - Dst: mp4parse_get_track_count
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1658,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1658,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1661
      start: 1653
    functionDepth: 2
    functionLinenumber: 1653
    functionLinenumberEnd: 1661
    functionName: get_track_count_null_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - mp4parse_get_track_count
    - std::ptr::null
    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:1666,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1666,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1666,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1670,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1671,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1671,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1675,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1682,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1683,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1692,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1693,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1699,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1706,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1712,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 36
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1718
      start: 1664
    functionDepth: 5
    functionLinenumber: 1664
    functionLinenumberEnd: 1718
    functionName: arg_validation
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - std::ptr::null_mut
    - Default::default
    - mp4parse_new
    - std::ptr::null
    linkageType: ''
    returnType: void
    signature: fn arg_validation()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1724,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1728,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1730
      start: 1721
    functionDepth: 5
    functionLinenumber: 1721
    functionLinenumberEnd: 1730
    functionName: parser_input_must_be_null
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - Some
    linkageType: ''
    returnType: void
    signature: fn parser_input_must_be_null()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1737,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1740,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1741,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1761,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1768,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1774,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1780
      start: 1733
    functionDepth: 5
    functionLinenumber: 1733
    functionLinenumberEnd: 1780
    functionName: arg_validation_with_parser
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    - mp4parse_new
    - std::ptr::null_mut
    - Some
    linkageType: ''
    returnType: void
    signature: fn arg_validation_with_parser()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1784,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1784,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1786,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1789,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1790,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1793
      start: 1783
    functionDepth: 5
    functionLinenumber: 1783
    functionLinenumberEnd: 1793
    functionName: parse_minimal_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 8
    functionsReached:
    - mp4parse_new
    - std::fs::File::open
    - std::ptr::null_mut
    - 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:1797,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1802,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1804
      start: 1796
    functionDepth: 6
    functionLinenumber: 1796
    functionLinenumberEnd: 1804
    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:1808,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1817,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1819
      start: 1807
    functionDepth: 6
    functionLinenumber: 1807
    functionLinenumberEnd: 1819
    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:1823,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1827,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1847,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1849
      start: 1822
    functionDepth: 6
    functionLinenumber: 1822
    functionLinenumberEnd: 1849
    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:1853,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1855,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1869,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1871
      start: 1852
    functionDepth: 6
    functionLinenumber: 1852
    functionLinenumberEnd: 1871
    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:1875,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1877,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1890,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1892
      start: 1874
    functionDepth: 6
    functionLinenumber: 1874
    functionLinenumberEnd: 1892
    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:1896,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1900,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1910,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1918,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1925,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 19
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1927
      start: 1895
    functionDepth: 6
    functionLinenumber: 1895
    functionLinenumberEnd: 1927
    functionName: minimal_mp4_get_track_info_invalid_track_number
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Default::default
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn minimal_mp4_get_track_info_invalid_track_number()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1931,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1934,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1944,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1960,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1962
      start: 1930
    functionDepth: 6
    functionLinenumber: 1930
    functionLinenumberEnd: 1962
    functionName: repeated_get_track_audio_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_free
    - Mp4parseTrackAudioInfo::default
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_audio_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1972,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1972,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1974,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1979,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1980,1
    - Dst: Mp4parseTrackAudioInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1983,1
    - Dst: mp4parse_get_track_audio_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1984,1
    - Dst: add
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:1989,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2020,1
    - Dst: std::slice::from_raw_parts
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2024,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2033,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 53
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2035
      start: 1971
    functionDepth: 5
    functionLinenumber: 1971
    functionLinenumberEnd: 2035
    functionName: multi_opus_description_codec_specific_pointers_are_valid
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - std::fs::File::open
    - mp4parse_get_track_audio_info
    - std::slice::from_raw_parts
    - Mp4parseTrackAudioInfo::default
    - mp4parse_free
    - std::ptr::null_mut
    - add
    - Some
    linkageType: ''
    returnType: void
    signature: fn multi_opus_description_codec_specific_pointers_are_valid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: parse_minimal_mp4
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2039,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2042,1
    - Dst: Mp4parseTrackVideoInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2051,1
    - Dst: mp4parse_free
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2071,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2073
      start: 2038
    functionDepth: 6
    functionLinenumber: 2038
    functionLinenumberEnd: 2073
    functionName: repeated_get_track_video_info_returns_stable_pointer
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - Mp4parseTrackVideoInfo::default
    - mp4parse_free
    - parse_minimal_mp4
    linkageType: ''
    returnType: void
    signature: fn repeated_get_track_video_info_returns_stable_pointer()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::fs::File::open
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2077,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2077,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2079,1
    - Dst: std::ptr::null_mut
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2084,1
    - Dst: mp4parse_new
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2085,1
    - Dst: Mp4parseTrackInfo::default
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2090,1
    - Dst: mp4parse_get_track_info
      Src: /src/mp4parse-rust/mp4parse_capi/src/lib.rs:2091,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2094
      start: 2076
    functionDepth: 5
    functionLinenumber: 2076
    functionLinenumberEnd: 2094
    functionName: parse_no_timescale
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
    functionUses: 0
    functionsReached:
    - mp4parse_new
    - expect
    - std::fs::File::open
    - mp4parse_get_track_info
    - Mp4parseTrackInfo::default
    - std::ptr::null_mut
    - 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:
    - std::slice::from_raw_parts_mut
    - try_into
    - expect
    - read
    linkageType: ''
    returnType: isize
    signature: 'extern "C" fn vec_read(buf: *mut u8, size: usize, userdata: *mut std::os::raw::c_void)
      -> isize'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::Cursor::new
      Src: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/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_new
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::assume_init
    - mp4parse_avif_get_info
    - MaybeUninit::zeroed
    - mp4parse_avif_get_image_safe
    - std::io::Cursor::new
    - (*mut Mp4parseAvifParser, Mp4parseAvifInfo)::as_mut_ptr
    - std::ptr::null_mut
    - 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:
    - Some
    - expect
    - File::open
    - std::ptr::null_mut
    - mp4parse_avif_new
    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: 21
    functionLinenumber: 36
    functionLinenumberEnd: 159
    functionName: dump_file
    functionSourceFile: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
    functionUses: 0
    functionsReached:
    - mp4parse_get_indice_table
    - Mp4parseTrackVideoInfo::default
    - File::open
    - Mp4parseFragmentInfo::default
    - Mp4parseTrackAudioInfo::default
    - mp4parse_get_fragment_info
    - mp4parse_get_track_count
    - Mp4parseByteData::default
    - mp4parse_get_track_info
    - dump_avif
    - mp4parse_new
    - expect
    - offset
    - Default::default
    - mp4parse_get_track_video_info
    - mp4parse_get_track_audio_info
    - mp4parse_free
    - std::ptr::null_mut
    - Some
    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:
    - Vec::new
    - Mp4parseStatus::push
    - Mp4parseStatus::is_empty
    - filter
    - env_logger::Env::default
    - get
    - skip
    - env::args
    - init
    - dump_func
    - as_str
    - env_logger::Builder::from_env
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    - unwrap
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - File::open
    - unwrap
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - File::open
    - unwrap
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - File::open
    - unwrap
    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:
    - Vec::new
    - iter
    - find
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - is_some
    - File::open
    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:
    - Vec::new
    - iter
    - find
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - is_some
    - File::open
    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:
    - Vec::new
    - iter
    - find
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - is_some
    - File::open
    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:
    - Vec::new
    - iter
    - find
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - is_some
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    - unwrap
    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
    - mp4::read_mp4
    - expect
    - Result::expect
    - filter
    - count
    - File::open
    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:
    - File::open
    - expect
    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:
    - File::open
    - expect
    - mp4::read_avif
    - Result::expect
    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:
    - File::open
    - expect
    - mp4::read_avif
    - Result::expect
    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:
    - for_strictness_result
    - expect
    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:
    - for_strictness_result
    - expect
    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:
    - File::open
    - expect
    - mp4::read_avif
    - Result::expect
    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:
    - File::open
    - expect
    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:
    - File::open
    - expect
    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:
    - File::open
    - expect
    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:
    - File::open
    - rewind
    - expect
    - mp4::read_avif
    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:
    - File::open
    - expect
    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:
    - assert_unsupported_nonfatal
    - File::open
    - expect
    - mp4::read_avif
    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:
    - File::open
    - expect
    - mp4::read_avif
    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:
    - File::open
    - expect
    - mp4::read_avif
    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:
    - File::open
    - expect
    - mp4::read_avif
    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:
    - File::open
    - expect
    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:
    - File::open
    - expect
    - mp4::read_avif
    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:
    - SampleToChunkIterator::map
    - map
    - collect
    - '&[&str]::iter'
    linkageType: ''
    returnType: Vec
    signature: 'fn to_canonical_paths(strs: &[&str]) -> Vec<std::path::PathBuf>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: to_canonical_paths
      Src: /src/mp4parse-rust/mp4parse/tests/public.rs: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
    - std::fs::canonicalize
    - contains
    - expect
    - is_file
    - extension
    - unwrap_or_default
    - walkdir::WalkDir::new
    - path
    - Vec::contains
    - to_canonical_paths
    - canonicalize
    - File::open
    - mp4::read_avif
    - unwrap
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - Vec::new
    - expect
    - mp4::read_mp4
    - Result::expect
    - as_ref
    - read_to_end
    - Cursor::new
    - first
    - File::open
    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:
    - U::into
    - map
    - checked_add
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: U) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:59,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:57,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: i64::try_from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:65,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:62,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 29
    argCount: 1
    argNames:
    - other
    argTypes:
    - Self
    constantsTouched: []
    func_position:
      end: 69
      start: 55
    functionDepth: 7
    functionLinenumber: 55
    functionLinenumberEnd: 69
    functionName: CheckedInteger::sub
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - checked_sub
    - map
    - i64::try_from
    - and_then
    - Result::ok
    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:253,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:254,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:256,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:257,1
    - Dst: CheckedInteger
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:259,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:266,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:268,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:268,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:268,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:270,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:271,1
    - Dst: ok
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:271,1
    - Dst: sort_by_key
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:274,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:274,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:276,1
    - Dst: windows
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:279,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:288,1
    CyclomaticComplexity: 27
    EdgeCount: 27
    ICount: 222
    argCount: 2
    argNames:
    - track
    - track_offset_time
    argTypes:
    - '&Track'
    - CheckedInteger<i64>
    constantsTouched: []
    func_position:
      end: 289
      start: 139
    functionDepth: 21
    functionLinenumber: 139
    functionLinenumberEnd: 289
    functionName: create_sample_table
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - as_slice
    - as_mut_slice
    - next_offset_time
    - sample_to_chunk_iter
    - as_ref
    - TryVec::with_capacity
    - and_then
    - is_some
    - sort_by_key
    - len
    - checked_add
    - is_empty
    - try_fold
    - SampleToChunkIterator::checked_sub
    - CheckedInteger
    - get_mut
    - into
    - iter
    - Default::default
    - SampleToChunkIterator::map
    - windows
    - to_usize
    - get
    - push
    - map
    - TrackScaledTime::<i64>
    - ok
    - next_delta
    - next
    - Some
    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:308,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:308,1
    - Dst: SampleToChunkIterator::next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:315,1
    - Dst: TimeOffsetVersion::Version0
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:321,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:327,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:328,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:331,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:334,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:334,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 335
      start: 307
    functionDepth: 3
    functionLinenumber: 307
    functionLinenumberEnd: 335
    functionName: TimeOffsetIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - TimeOffsetVersion::Version0
    - i64::from
    - and
    - SampleToChunkIterator::next
    - next
    - 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:340,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:341,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:342,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 344
      start: 339
    functionDepth: 4
    functionLinenumber: 339
    functionLinenumberEnd: 344
    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:365,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:365,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:366,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:374,1
    - Dst: and
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:377,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:377,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 27
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 378
      start: 364
    functionDepth: 4
    functionLinenumber: 364
    functionLinenumberEnd: 378
    functionName: TimeToSampleIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - next
    - and
    - Some
    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:383,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:384,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:384,1
    - Dst: TrackScaledTime::<i64>
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:385,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 387
      start: 382
    functionDepth: 5
    functionLinenumber: 382
    functionLinenumberEnd: 387
    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:408,1
    - Dst: '&''a [u8]::iter'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:408,1
    - Dst: SampleToChunkIterator::peekable
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:408,1
    - Dst: '&''a TryVec<u64>::len'
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:409,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:409,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:409,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: 414
      start: 401
    functionDepth: 20
    functionLinenumber: 401
    functionLinenumberEnd: 414
    functionName: sample_to_chunk_iter
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - '&''a TryVec<u64>::len'
    - '&''a TryVec<SampleToChunk>::as_slice'
    - '&''a [u8]::iter'
    - expect
    - try_into
    - SampleToChunkIterator::peekable
    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:427,1
    - Dst: or_else
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:427,1
    - Dst: SampleToChunkIterator::locate
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:428,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:429,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:431,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:431,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:431,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:429,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:438,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:442,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 35
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 443
      start: 426
    functionDepth: 2
    functionLinenumber: 426
    functionLinenumberEnd: 443
    functionName: SampleToChunkIterator::next
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - or_else
    - checked_sub
    - expect
    - len
    - and_then
    - SampleToChunkIterator::locate
    - map
    - try_into
    - next
    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:450,1
    - Dst: peek
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:450,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:464,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 52
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 472
      start: 448
    functionDepth: 3
    functionLinenumber: 448
    functionLinenumberEnd: 472
    functionName: SampleToChunkIterator::locate
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 1
    functionsReached:
    - next
    - peek
    - checked_add
    linkageType: ''
    returnType: std::ops::Range
    signature: fn locate(&mut self) -> std::ops::Range<u32>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: T::is_zero
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:488,1
    - Dst: num_traits::cast
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:494,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:494,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:494,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:495,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:495,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:497,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 27
    argCount: 3
    argNames:
    - numerator
    - denominator
    - scale2
    argTypes:
    - T
    - T
    - S
    constantsTouched: []
    func_position:
      end: 500
      start: 483
    functionDepth: 0
    functionLinenumber: 483
    functionLinenumberEnd: 500
    functionName: rational_scale
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 3
    functionsReached:
    - num_traits::cast
    - T::is_zero
    - checked_mul
    - checked_add
    - and_then
    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:509,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:509,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - MediaScaledTime
    - MediaTimeScale
    constantsTouched: []
    func_position:
      end: 510
      start: 507
    functionDepth: 1
    functionLinenumber: 507
    functionLinenumberEnd: 510
    functionName: media_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn media_time_to_us(time: MediaScaledTime, scale: MediaTimeScale)
      -> Option<Microseconds<u64>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: rational_scale
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:523,1
    - Dst: Option::map
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:523,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 2
    argNames:
    - time
    - scale
    argTypes:
    - TrackScaledTime<T>
    - TrackTimeScale<T>
    constantsTouched: []
    func_position:
      end: 524
      start: 514
    functionDepth: 1
    functionLinenumber: 514
    functionLinenumberEnd: 524
    functionName: track_time_to_us
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/unstable.rs
    functionUses: 0
    functionsReached:
    - Option::map
    - rational_scale
    linkageType: ''
    returnType: Option
    signature: 'pub fn track_time_to_us<T>(time: TrackScaledTime<T>,scale: TrackTimeScale<T>,)
      -> Option<Microseconds<T>>whereT: PrimInt + Zero,'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 536
      start: 527
    functionDepth: 0
    functionLinenumber: 527
    functionLinenumberEnd: 536
    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:540,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:541,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 546
      start: 539
    functionDepth: 0
    functionLinenumber: 539
    functionLinenumberEnd: 546
    functionName: 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:550,1
    - Dst: TrackScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/unstable.rs:551,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 556
      start: 549
    functionDepth: 0
    functionLinenumber: 549
    functionLinenumberEnd: 556
    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:
    - into
    - limit
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: usize::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:82,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 83
      start: 78
    functionDepth: 0
    functionLinenumber: 78
    functionLinenumberEnd: 83
    functionName: usize::to_u64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - usize::try_into
    - expect
    linkageType: ''
    returnType: u64
    signature: fn to_u64(self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: impl_to_usize_from::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 109
      start: 95
    functionDepth: 0
    functionLinenumber: 95
    functionLinenumberEnd: 109
    functionName: impl_to_usize_from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - impl_to_usize_from::try_into
    - expect
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - reader
    argTypes:
    - '&''a mut T'
    constantsTouched: []
    func_position:
      end: 129
      start: 127
    functionDepth: 0
    functionLinenumber: 127
    functionLinenumberEnd: 129
    functionName: OffsetReader::new
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 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: 135
      start: 133
    functionDepth: 0
    functionLinenumber: 133
    functionLinenumberEnd: 135
    functionName: OffsetReader::offset
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: u64
    signature: fn offset(&self) -> u64
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:140,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:144,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:142,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:146,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 147
      start: 139
    functionDepth: 2
    functionLinenumber: 139
    functionLinenumberEnd: 147
    functionName: OffsetReader::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - Ok
    - to_u64
    - checked_add
    - read
    linkageType: ''
    returnType: std::io::Result
    signature: 'fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 311
      start: 298
    functionDepth: 0
    functionLinenumber: 298
    functionLinenumberEnd: 311
    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:318,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:333,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:333,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - item_property
    argTypes:
    - '&ItemProperty'
    constantsTouched: []
    func_position:
      end: 336
      start: 317
    functionDepth: 0
    functionLinenumber: 317
    functionLinenumberEnd: 336
    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:347,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 348
      start: 346
    functionDepth: 0
    functionLinenumber: 346
    functionLinenumberEnd: 348
    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: 352
      start: 350
    functionDepth: 0
    functionLinenumber: 350
    functionLinenumberEnd: 352
    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: 363
      start: 354
    functionDepth: 0
    functionLinenumber: 354
    functionLinenumberEnd: 363
    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:367,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 368
      start: 365
    functionDepth: 1
    functionLinenumber: 365
    functionLinenumberEnd: 368
    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:371,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - feature
    argTypes:
    - Feature
    constantsTouched: []
    func_position:
      end: 372
      start: 370
    functionDepth: 1
    functionLinenumber: 370
    functionLinenumberEnd: 372
    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: 376
      start: 374
    functionDepth: 0
    functionLinenumber: 374
    functionLinenumberEnd: 376
    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:396,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:396,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - parse_status
    argTypes:
    - Status
    constantsTouched: []
    func_position:
      end: 398
      start: 393
    functionDepth: 0
    functionLinenumber: 393
    functionLinenumberEnd: 398
    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: 909
      start: 907
    functionDepth: 0
    functionLinenumber: 907
    functionLinenumberEnd: 909
    functionName: Error::from
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 7
    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: 781
      start: 421
    functionDepth: 0
    functionLinenumber: 421
    functionLinenumberEnd: 781
    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: 830
      start: 828
    functionDepth: 0
    functionLinenumber: 828
    functionLinenumberEnd: 830
    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: 857
      start: 855
    functionDepth: 0
    functionLinenumber: 855
    functionLinenumberEnd: 857
    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:902,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 1
    argNames:
    - err
    argTypes:
    - Error
    constantsTouched: []
    func_position:
      end: 903
      start: 896
    functionDepth: 5
    functionLinenumber: 896
    functionLinenumberEnd: 903
    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:953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - brand
    argTypes:
    - '&FourCC'
    constantsTouched: []
    func_position:
      end: 954
      start: 952
    functionDepth: 2
    functionLinenumber: 952
    functionLinenumberEnd: 954
    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:1101,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1101,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1102,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - track_id
    argTypes:
    - u32
    constantsTouched: []
    func_position:
      end: 1104
      start: 1100
    functionDepth: 21
    functionLinenumber: 1100
    functionLinenumberEnd: 1104
    functionName: TrackReferenceBox::has_auxl_reference
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - any
    - iter
    - 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: 1236
      start: 1234
    functionDepth: 0
    functionLinenumber: 1234
    functionLinenumberEnd: 1236
    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:1537,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1537,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1537,1
    - Dst: debug_struct
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1541,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1541,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1541,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 17
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1546
      start: 1535
    functionDepth: 1
    functionLinenumber: 1535
    functionLinenumberEnd: 1546
    functionName: IsobmffItem::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - field
    - debug_struct
    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:1564,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1564,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1566
      start: 1561
    functionDepth: 5
    functionLinenumber: 1561
    functionLinenumberEnd: 1566
    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:1601,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1602
      start: 1600
    functionDepth: 0
    functionLinenumber: 1600
    functionLinenumberEnd: 1602
    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:1605,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1605,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1607,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1608
      start: 1604
    functionDepth: 20
    functionLinenumber: 1604
    functionLinenumberEnd: 1608
    functionName: AvifContext::primary_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::item_as_slice
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1611,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1611,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1613,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1614
      start: 1610
    functionDepth: 20
    functionLinenumber: 1610
    functionLinenumberEnd: 1614
    functionName: AvifContext::primary_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::image_bits_per_channel
    linkageType: ''
    returnType: Option
    signature: pub fn primary_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1617,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1618
      start: 1616
    functionDepth: 0
    functionLinenumber: 1616
    functionLinenumberEnd: 1618
    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:1621,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1621,1
    - Dst: AvifContext::item_as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1623,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1624
      start: 1620
    functionDepth: 20
    functionLinenumber: 1620
    functionLinenumberEnd: 1624
    functionName: AvifContext::alpha_item_coded_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::item_as_slice
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_coded_data(&self) -> Option<&[u8]>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1627,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1627,1
    - Dst: AvifContext::image_bits_per_channel
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1629,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 9
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1630
      start: 1626
    functionDepth: 20
    functionLinenumber: 1626
    functionLinenumberEnd: 1630
    functionName: AvifContext::alpha_item_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_ref
    - map
    - AvifContext::image_bits_per_channel
    linkageType: ''
    returnType: Option
    signature: pub fn alpha_item_bits_per_channel(&self) -> Option<Result<&[u8]>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1633,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1637,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1637,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1639,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 13
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 1641
      start: 1632
    functionDepth: 19
    functionLinenumber: 1632
    functionLinenumberEnd: 1641
    functionName: AvifContext::image_bits_per_channel
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - as_slice
    - get
    - 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:1645,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1649,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1652,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1656,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1656,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1660,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1660,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1662
      start: 1643
    functionDepth: 19
    functionLinenumber: 1643
    functionLinenumberEnd: 1662
    functionName: AvifContext::spatial_extents_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - fail_with_status_if
    - get
    - Ok
    - std::ptr::null
    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:1667,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1670,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1673,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1676,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1676,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1680,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1680,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 25
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1685
      start: 1665
    functionDepth: 20
    functionLinenumber: 1665
    functionLinenumberEnd: 1685
    functionName: AvifContext::nclx_colour_information_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - get_multiple
    - len
    - Ok
    - Err
    - Some
    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:1690,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1693,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1696,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1699,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1699,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1699,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1703,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1703,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 28
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1708
      start: 1688
    functionDepth: 20
    functionLinenumber: 1688
    functionLinenumberEnd: 1708
    functionName: AvifContext::icc_colour_information
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - as_slice
    - get_multiple
    - len
    - Ok
    - Err
    - Some
    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:1712,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1716,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1718,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1721,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 15
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1723
      start: 1710
    functionDepth: 19
    functionLinenumber: 1710
    functionLinenumberEnd: 1723
    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:1727,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1731,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1733,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1733,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1736,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1736,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1738
      start: 1725
    functionDepth: 19
    functionLinenumber: 1725
    functionLinenumberEnd: 1738
    functionName: AvifContext::image_mirror_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - Ok
    - std::ptr::null
    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:1742,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1746,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1748,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1748,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1751,1
    - Dst: std::ptr::null
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1751,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1753
      start: 1740
    functionDepth: 19
    functionLinenumber: 1740
    functionLinenumberEnd: 1753
    functionName: AvifContext::pixel_aspect_ratio_ptr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - get
    - Ok
    - std::ptr::null
    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:1761,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1770,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1770,1
    - Dst: Self::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1772,1
    - Dst: unwrap_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1770,1
    - Dst: Self::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1775,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 28
    argCount: 1
    argNames:
    - item
    argTypes:
    - '&''a AvifItem'
    constantsTouched: []
    func_position:
      end: 1777
      start: 1757
    functionDepth: 19
    functionLinenumber: 1757
    functionLinenumberEnd: 1777
    functionName: AvifContext::item_as_slice
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Self::get
    - unwrap_or_else
    - Self::as_slice
    - as_ref
    - get
    - and_then
    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:1811,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1811,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 11
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 1815
      start: 1810
    functionDepth: 1
    functionLinenumber: 1810
    functionLinenumberEnd: 1815
    functionName: DataBox::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - field
    - debug_struct
    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:1819,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1820,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - x
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1826
      start: 1818
    functionDepth: 0
    functionLinenumber: 1818
    functionLinenumberEnd: 1826
    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: 1834
      start: 1829
    functionDepth: 0
    functionLinenumber: 1829
    functionLinenumberEnd: 1834
    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: 1841
      start: 1836
    functionDepth: 0
    functionLinenumber: 1836
    functionLinenumberEnd: 1841
    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: 1845
      start: 1843
    functionDepth: 0
    functionLinenumber: 1843
    functionLinenumberEnd: 1845
    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:1852,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1854,1
    - Dst: Option::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1855,1
    - Dst: u64_to_usize_logged
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1858,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 13
    argCount: 1
    argNames:
    - offset
    argTypes:
    - u64
    constantsTouched: []
    func_position:
      end: 1861
      start: 1850
    functionDepth: 1
    functionLinenumber: 1850
    functionLinenumberEnd: 1861
    functionName: DataBox::start
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - u64_to_usize_logged
    - Option::is_none
    - u64::checked_sub
    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:1867,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1867,1
    - Dst: IsobmffItem::MdatLocation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1868,1
    - Dst: '&Extent::clone'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1868,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&Extent'
    constantsTouched: []
    func_position:
      end: 1870
      start: 1865
    functionDepth: 0
    functionLinenumber: 1865
    functionLinenumberEnd: 1870
    functionName: DataBox::location
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&Extent::clone'
    - IsobmffItem::MdatLocation
    - IsobmffItem::IdatLocation
    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:1879,1
    - Dst: Option::checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1880,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1881,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1884,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1884,1
    - Dst: DataBox::start
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1887,1
    - Dst: DataBox::data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1888,1
    - Dst: '&[u8]::get'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1888,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 29
    argCount: 1
    argNames:
    - extent
    argTypes:
    - '&''a Extent'
    constantsTouched: []
    func_position:
      end: 1891
      start: 1876
    functionDepth: 19
    functionLinenumber: 1876
    functionLinenumberEnd: 1891
    functionName: DataBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&[u8]::get'
    - Option::checked_add
    - DataBox::data
    - DataBox::start
    - is_none
    linkageType: ''
    returnType: Option
    signature: 'fn get<''a>(&''a self, extent: &''a Extent) -> Option<&''a [u8]>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1901,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1901,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1902,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1902,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1904,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 2
    argNames:
    - src
    - version
    argTypes:
    - '&mut impl ReadBytesExt'
    - u8
    constantsTouched: []
    func_position:
      end: 1906
      start: 1900
    functionDepth: 1
    functionLinenumber: 1900
    functionLinenumberEnd: 1906
    functionName: ItemId::read
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Ok
    - be_u32
    - ItemId
    - be_u16
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read(src: &mut impl ReadBytesExt, version: u8) -> Result<ItemId>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 1942
      start: 1936
    functionDepth: 0
    functionLinenumber: 1936
    functionLinenumberEnd: 1942
    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:1950,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1951,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1952,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1953,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1955
      start: 1948
    functionDepth: 0
    functionLinenumber: 1948
    functionLinenumberEnd: 1955
    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:1970,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1971,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1972,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1973,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:1973,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - value
    argTypes:
    - u8
    constantsTouched: []
    func_position:
      end: 1975
      start: 1968
    functionDepth: 0
    functionLinenumber: 1968
    functionLinenumberEnd: 1975
    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:2039,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2041,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2044,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - violation
    - status
    argTypes:
    - bool
    - Status
    constantsTouched: []
    func_position:
      end: 2046
      start: 2038
    functionDepth: 1
    functionLinenumber: 2038
    functionLinenumberEnd: 2046
    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:2099,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2099,1
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2099,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - other
    argTypes:
    - TrackScaledTime<T>
    constantsTouched: []
    func_position:
      end: 2100
      start: 2098
    functionDepth: 0
    functionLinenumber: 2098
    functionLinenumberEnd: 2100
    functionName: TrackScaledTime::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - map
    - Self
    - checked_add
    linkageType: ''
    returnType: Self::Output
    signature: 'fn add(self, other: TrackScaledTime<T>) -> Self::Output'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2129,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - id
    argTypes:
    - usize
    constantsTouched: []
    func_position:
      end: 2131
      start: 2126
    functionDepth: 1
    functionLinenumber: 2126
    functionLinenumberEnd: 2131
    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: 2147
      start: 2145
    functionDepth: 0
    functionLinenumber: 2145
    functionLinenumberEnd: 2147
    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:2150,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2152,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2152,1
    - Dst: take
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2154,1
    - Dst: saturating_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2154,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2156,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2157,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2159
      start: 2149
    functionDepth: 3
    functionLinenumber: 2149
    functionLinenumberEnd: 2159
    functionName: BoxIter::next_box
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - saturating_sub
    - take
    - Ok
    - Err
    - read_box_header
    - Some
    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:2164,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut [u8]'
    constantsTouched: []
    func_position:
      end: 2165
      start: 2163
    functionDepth: 2
    functionLinenumber: 2163
    functionLinenumberEnd: 2165
    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:2170,1
    - Dst: BMFFBox::bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2170,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - buf
    argTypes:
    - '&mut TryVec<u8>'
    constantsTouched: []
    func_position:
      end: 2171
      start: 2169
    functionDepth: 23
    functionLinenumber: 2169
    functionLinenumberEnd: 2171
    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:2176,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2176,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2177
      start: 2175
    functionDepth: 1
    functionLinenumber: 2175
    functionLinenumberEnd: 2177
    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:2182,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2183
      start: 2181
    functionDepth: 22
    functionLinenumber: 2181
    functionLinenumberEnd: 2183
    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: 2187
      start: 2185
    functionDepth: 0
    functionLinenumber: 2185
    functionLinenumberEnd: 2187
    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:2190,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2191
      start: 2189
    functionDepth: 1
    functionLinenumber: 2189
    functionLinenumberEnd: 2191
    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:2196,1
    - Dst: From::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2197,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2200
      start: 2195
    functionDepth: 22
    functionLinenumber: 2195
    functionLinenumberEnd: 2200
    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:2212,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2213,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2213,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2220,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2220,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2223,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2224,1
    - Dst: '&mut T::read'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2234,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2235,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2237,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2240,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: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2251,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2251,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2254,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 54
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2260
      start: 2211
    functionDepth: 2
    functionLinenumber: 2211
    functionLinenumberEnd: 2260
    functionName: read_box_header
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 6
    functionsReached:
    - BoxType::from
    - '&mut T::read'
    - Some
    - Ok
    - Error::Unsupported
    - be_u32
    - u64::from
    - to_u64
    - Error::from
    - Err
    - be_u64
    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: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: '&mut T::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2267,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2268,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2270,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2270,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2270,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 23
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2272
      start: 2263
    functionDepth: 1
    functionLinenumber: 2263
    functionLinenumberEnd: 2272
    functionName: read_fullbox_extra
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 22
    functionsReached:
    - '&mut T::read_u8'
    - Ok
    - u32::from
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_extra<T: ReadBytesExt>(src: &mut T) -> Result<(u8,
      u32)>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2276,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2279,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2279,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2282,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 2283
      start: 2275
    functionDepth: 2
    functionLinenumber: 2275
    functionLinenumberEnd: 2283
    functionName: read_fullbox_version_no_flags
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 10
    functionsReached:
    - Err
    - Ok
    - read_fullbox_extra
    - Error::Unsupported
    linkageType: ''
    returnType: Result
    signature: 'pub fn read_fullbox_version_no_flags<T: ReadBytesExt>(src: &mut T)
      -> Result<u8>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: '&mut BMFFBox<T>::get_header'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2289,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2291,1
    - Dst: ok_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2291,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2294,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2297,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2298
      start: 2286
    functionDepth: 1
    functionLinenumber: 2286
    functionLinenumberEnd: 2298
    functionName: skip_box_content
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 19
    functionsReached:
    - checked_sub
    - Error::Unsupported
    - skip
    - ok_or
    - '&mut BMFFBox<T>::get_header'
    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:2303,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2304,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2308,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2309
      start: 2301
    functionDepth: 23
    functionLinenumber: 2301
    functionLinenumberEnd: 2309
    functionName: skip_box_remain
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 14
    functionsReached:
    - '&mut BMFFBox<T>::bytes_left'
    - skip
    - '&mut BMFFBox<T>::get_header'
    linkageType: ''
    returnType: Result
    signature: 'pub fn skip_box_remain<T: Read>(src: &mut BMFFBox<T>) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 2
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 2324
      start: 2319
    functionDepth: 0
    functionLinenumber: 2319
    functionLinenumberEnd: 2324
    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: 2331
      start: 2326
    functionDepth: 0
    functionLinenumber: 2326
    functionLinenumberEnd: 2331
    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:2338,1
    - Dst: BoxIter::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2339,1
    - Dst: UnsupportedFeatures::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2341,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2344,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2346,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: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2351,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2363,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2368,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2375,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2383,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2386,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2391,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2394,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2399,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2403,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2409,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2410,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2412,1
    - Dst: read_avif_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2412,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2418,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2419,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2420,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2422,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2422,1
    - Dst: offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2425,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2429,1
    - Dst: fallible_collections::try_read_up_to
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2431,1
    - Dst: get_mut
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2432,1
    - Dst: set_limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2438,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2444,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2446,1
    - Dst: DataBox::from_mdat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2446,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2449,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2451,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2458,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2468,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2468,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2471,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2471,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2471,1
    - Dst: filter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2471,1
    - Dst: is_alpha
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2481,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2482,1
    - Dst: next
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2483,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2483,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2484,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2487,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2488,1
    - Dst: any
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2488,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2507,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2509,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2520,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2521,1
    - Dst: AvifItem::with_inline_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2521,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2533,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2537,1
    - Dst: location
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2539,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2550,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2554,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2556,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2564,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2565,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2572,1
    - Dst: find_and_add_to_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2579,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2581,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2585,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2589,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: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2600,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2600,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2602,1
    - Dst: has_primary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2608,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2608,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2609,1
    - Dst: has_sequence
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2617,1
    - Dst: None::is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2617,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2618,1
    - Dst: is_some_and
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2626,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2627,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2627,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2629,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2635,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2635,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2636,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2637,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2637,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2637,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2643,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2643,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2645,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2646,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2652,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2657,1
    - Dst: missing_property_for
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2667,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2668,1
    - Dst: Self::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2676,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2679,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2681,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2682,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2688,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2694,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2697,1
    - Dst: check_image_item
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2698,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2700,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 473
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 2712
      start: 2335
    functionDepth: 16
    functionLinenumber: 2335
    functionLinenumberEnd: 2712
    functionName: read_avif
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 11
    functionsReached:
    - BoxIter::new
    - contains
    - Mp4parseStatus::iter
    - None::is_none
    - as_ref
    - TryVec::with_capacity
    - find_and_add_to_item
    - is_some
    - fallible_collections::try_read_up_to
    - fail_with_status_if
    - AvifItem::with_inline_data
    - and_then
    - find
    - map_or
    - any
    - len
    - bytes_left
    - read_ftyp
    - None::is_some
    - Error::from
    - Err
    - is_none
    - has_primary
    - ok_or_else
    - UnsupportedFeatures::new
    - filter
    - is_alpha
    - get_mut
    - TryVec::new
    - read_into_try_vec
    - extend_from_slice
    - location
    - Self::insert
    - into
    - check_parser_state
    - missing_property_for
    - iter
    - skip_box_content
    - check_image_item
    - offset
    - Mp4parseStatus::push
    - read_avif_meta
    - is_some_and
    - Ok
    - read_moov
    - get
    - set_limit
    - DataBox::from_mdat
    - map
    - OffsetReader::new
    - SampleToChunkIterator::next_box
    - has_sequence
    - next
    - Some
    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:2723,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2726,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2726,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2737,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2738,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2742,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2751,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2753,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2755,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2763,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2764,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2766,1
    - Dst: read_iinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2766,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2769,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2770,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2772,1
    - Dst: read_iloc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2772,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2775,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2776,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2778,1
    - Dst: read_pitm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2778,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2781,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2782,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2784,1
    - Dst: read_iref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2784,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2787,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2788,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2790,1
    - Dst: read_iprp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2790,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2798,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2799,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2801,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2802,1
    - Dst: DataBox::from_idat
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2802,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2804,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2807,1
    - Dst: Ok
      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:2812,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2814,1
    - Dst: None::unwrap_or_default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2815,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: 2818
      start: 2718
    functionDepth: 26
    functionLinenumber: 2718
    functionLinenumberEnd: 2818
    functionName: read_avif_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_pitm
    - read_iinf
    - None::unwrap_or_default
    - Error::Unsupported
    - fail_with_status_if
    - read_iref
    - None::is_some
    - Err
    - DataBox::from_idat
    - read_iloc
    - read_iprp
    - read_into_try_vec
    - into
    - check_parser_state
    - skip_box_content
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - read_fullbox_version_no_flags
    - read_hdlr
    - SampleToChunkIterator::next_box
    - Some
    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:2823,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2825,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2826,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2827,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2828,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2828,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2831,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2832
      start: 2822
    functionDepth: 3
    functionLinenumber: 2822
    functionLinenumberEnd: 2832
    functionName: read_pitm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - ItemId
    - be_u32
    - be_u16
    - Err
    - into
    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:2841,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2845,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2845,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2849,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2849,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2851,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2851,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2853,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2855,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2856,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2858,1
    - Dst: read_infe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2861,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2862,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2865,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2868,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: 2869
      start: 2836
    functionDepth: 25
    functionLinenumber: 2836
    functionLinenumberEnd: 2869
    functionName: read_iinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::with_capacity
    - Error::Unsupported
    - '&mut BMFFBox<T>::box_iter'
    - read_fullbox_version_no_flags
    - read_infe
    - to_usize
    - be_u16
    - be_u32
    - push
    - Ok
    - SampleToChunkIterator::next_box
    - Err
    - into
    - check_parser_state
    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:2877,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2877,1
    - Dst: write_str
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2878,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut std::fmt::Formatter<''_>'
    constantsTouched: []
    func_position:
      end: 2881
      start: 2876
    functionDepth: 0
    functionLinenumber: 2876
    functionLinenumberEnd: 2881
    functionName: U32BE::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - write_str
    - std::str::from_utf8
    - 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:2891,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2897,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2904,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2905,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2905,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2906,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2907,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2907,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2910,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2912,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2916,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2919,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2920,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2922,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2922,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: 2924
      start: 2886
    functionDepth: 24
    functionLinenumber: 2886
    functionLinenumberEnd: 2924
    functionName: read_infe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut UnsupportedFeatures::insert'
    - Ok
    - read_fullbox_extra
    - Error::Unsupported
    - ItemId
    - be_u16
    - be_u32
    - Err
    - skip_box_remain
    - fail_with_status_if
    - into
    - Some
    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:2929,1
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2930,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2932,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2932,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2935,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2936,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2938,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2939,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2940,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2940,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2942,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2944,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2946,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2947,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2952,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2957,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 55
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 2958
      start: 2928
    functionDepth: 23
    functionLinenumber: 2928
    functionLinenumberEnd: 2958
    functionName: read_iref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ItemId::read
    - Mp4parseStatus::push
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - Error::Unsupported
    - TryVec::new
    - read_fullbox_version_no_flags
    - Mp4parseStatus::reserve
    - be_u16
    - to_usize
    - SampleToChunkIterator::next_box
    - Err
    - into
    - check_parser_state
    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:2977,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2979,1
    - Dst: read_ipco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2981,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2983,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2984,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2987,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2988,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2989,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2991,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2993,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2996,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2997,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:2998,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3003,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3004,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3009,1
    - Dst: read_ipma
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3010,1
    - Dst: Mp4parseStatus::contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3011,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3017,1
    - Dst: SampleToChunkIterator::find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3017,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3027,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3039,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3042,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3044,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3052,1
    - Dst: Feature::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3055,1
    - Dst: Result::supported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3058,1
    - Dst: '&mut UnsupportedFeatures::insert'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3061,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3071,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3096,1
    - Dst: Result::colour_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3106,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3107,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3115,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3120,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3129,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3144,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3159,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3171,1
    - Dst: position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3171,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3173,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3181,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3193,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3200,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3206,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3209,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3218,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: 3219
      start: 2971
    functionDepth: 26
    functionLinenumber: 2971
    functionLinenumberEnd: 3219
    functionName: read_iprp
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut UnsupportedFeatures::insert'
    - contains
    - Mp4parseStatus::iter
    - TryVec::with_capacity
    - insert
    - fail_with_status_if
    - Feature::try_from
    - len
    - PropertyIndex
    - read_fullbox_extra
    - position
    - Err
    - BoxType::from
    - Mp4parseStatus::contains
    - read_ipco
    - TryVec::new
    - SampleToChunkIterator::find
    - TryVec::<ItemPropertyAssociationEntry>::new
    - into
    - Result::colour_type
    - check_parser_state
    - iter
    - Result::supported
    - Mp4parseStatus::push
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - TryHashMap::with_capacity
    - push
    - read_ipma
    - get
    - SampleToChunkIterator::next_box
    - Some
    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: 3259
      start: 3243
    functionDepth: 0
    functionLinenumber: 3243
    functionLinenumberEnd: 3259
    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:3301,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3303,1
    - Dst: '&str::as_bytes'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3303,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 11
    argCount: 1
    argNames:
    - item_id
    argTypes:
    - ItemId
    constantsTouched: []
    func_position:
      end: 3312
      start: 3300
    functionDepth: 21
    functionLinenumber: 3300
    functionLinenumberEnd: 3312
    functionName: ItemPropertiesBox::is_alpha
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - ItemPropertiesBox::get
    - as_slice
    - '&str::as_bytes'
    linkageType: ''
    returnType: bool
    signature: 'fn is_alpha(&self, item_id: ItemId) -> bool'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: ItemPropertiesBox::get_multiple
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3315,1
    - Dst: BoxType::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3316,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3315,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3319,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3320,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3320,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3324,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 2
    argNames:
    - item_id
    - property_type
    argTypes:
    - ItemId
    - BoxType
    constantsTouched: []
    func_position:
      end: 3327
      start: 3314
    functionDepth: 20
    functionLinenumber: 3314
    functionLinenumberEnd: 3327
    functionName: ItemPropertiesBox::get
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - BoxType::from
    - as_slice
    - Ok
    - 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:3334,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3338,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3340,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3347,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 25
    argCount: 2
    argNames:
    - item_id
    - filter
    argTypes:
    - ItemId
    - impl Fn(&ItemProperty) -> bool
    constantsTouched: []
    func_position:
      end: 3348
      start: 3329
    functionDepth: 19
    functionLinenumber: 3329
    functionLinenumberEnd: 3348
    functionName: ItemPropertiesBox::get_multiple
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - get
    - Ok
    - TryVec::new
    - Mp4parseStatus::push
    linkageType: ''
    returnType: Result
    signature: 'fn get_multiple(&self,item_id: ItemId,filter: impl Fn(&ItemProperty)
      -> bool,) -> Result<TryVec<&ItemProperty>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Self
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:7,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3378
      start: 3358
    functionDepth: 0
    functionLinenumber: 3358
    functionLinenumberEnd: 3378
    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: 3402
      start: 3382
    functionDepth: 0
    functionLinenumber: 3382
    functionLinenumberEnd: 3402
    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: 3445
      start: 3425
    functionDepth: 19
    functionLinenumber: 3425
    functionLinenumberEnd: 3445
    functionName: impl_mul
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - Self::Output::new
    - expect
    - checked_mul
    - impl_mul::get
    - get
    - into
    linkageType: ''
    returnType: ''
    signature: ''
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: U32MulU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3456,1
    - Dst: U32MulU16::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3457,1
    - Dst: Self::Output::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3458,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3458,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3458,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 10
    argCount: 1
    argNames:
    - rhs
    argTypes:
    - U32MulU16
    constantsTouched: []
    func_position:
      end: 3459
      start: 3454
    functionDepth: 19
    functionLinenumber: 3454
    functionLinenumberEnd: 3459
    functionName: U32MulU8::add
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - expect
    - U32MulU16::get
    - U32MulU8::get
    - checked_add
    - 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:3479,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3479,1
    - Dst: u64::checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3484,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3484,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3488,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3495,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3496,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3499,1
    - Dst: std::num::NonZeroU8::get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3499,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3501,1
    - Dst: Result::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3501,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: 3502
      start: 3472
    functionDepth: 19
    functionLinenumber: 3472
    functionLinenumberEnd: 3502
    functionName: calculate_ipma_total_associations
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::unwrap
    - u64::checked_sub
    - Ok
    - std::num::NonZeroU8::new
    - get
    - u64::from
    - into
    - Result::try_into
    - std::num::NonZeroU8::get
    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:3513,1
    - Dst: std::num::NonZeroU8::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3515,1
    - Dst: Mp4parseStatus::unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3515,1
    - Dst: calculate_ipma_total_associations
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3517,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3519,1
    - Dst: U32::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3520,1
    - Dst: TryVec::<ItemPropertyAssociationEntry>::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3528,1
    - Dst: ItemId::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3533,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3535,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3538,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3540,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3544,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3545,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3545,1
    - Dst: '&mut BMFFBox<T>::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3547,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3548,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3548,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3547,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3550,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3550,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3551,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: Mp4parseStatus::read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3553,1
    - Dst: Result::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3554,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3560,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3566,1
    - Dst: last
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3572,1
    - Dst: ItemId
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3574,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3574,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3575,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3585,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: 3586
      start: 3507
    functionDepth: 20
    functionLinenumber: 3507
    functionLinenumberEnd: 3586
    functionName: read_ipma
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::<ItemPropertyAssociationEntry>::with_capacity
    - Result::push
    - '&mut BMFFBox<T>::read_u8'
    - TryVec::with_capacity
    - std::num::NonZeroU8::new
    - Mp4parseStatus::read_u16
    - try_into
    - fail_with_status_if
    - Mp4parseStatus::read_bool
    - calculate_ipma_total_associations
    - ItemId::read
    - last
    - BitReader::new
    - PropertyIndex
    - '&mut BMFFBox<T>::take'
    - be_u32
    - U32::new
    - Mp4parseStatus::remaining
    - Mp4parseStatus::unwrap
    - read_into_try_vec
    - Mp4parseStatus::as_slice
    - ItemId
    - into
    - '&mut BMFFBox<T>::bytes_left'
    - check_parser_state
    - Ok
    - to_usize
    - get
    - push
    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:3595,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3597,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3598,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3599,1
    - Dst: ItemProperty::AuxiliaryType
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3601,1
    - Dst: read_auxc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3601,1
    - Dst: ItemProperty::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3602,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3602,1
    - Dst: ItemProperty::Colour
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3603,1
    - Dst: read_colr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3603,1
    - Dst: ItemProperty::Mirroring
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3604,1
    - Dst: read_imir
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3604,1
    - Dst: ItemProperty::Rotation
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3605,1
    - Dst: read_irot
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3605,1
    - Dst: ItemProperty::ImageSpatialExtents
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3607,1
    - Dst: read_ispe
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3607,1
    - Dst: ItemProperty::PixelAspectRatio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3609,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3609,1
    - Dst: ItemProperty::Channels
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3610,1
    - Dst: read_pixi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3610,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3615,1
    - Dst: ItemProperty::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3623,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3630,1
    - Dst: PropertyIndex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3632,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3633,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3633,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3636,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3639,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3642,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 70
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3643
      start: 3591
    functionDepth: 25
    functionLinenumber: 3591
    functionLinenumberEnd: 3643
    functionName: read_ipco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ItemProperty::AuxiliaryType
    - read_av1c
    - read_auxc
    - ItemProperty::ImageSpatialExtents
    - skip_box_remain
    - insert
    - read_ispe
    - ItemProperty::Channels
    - PropertyIndex
    - read_pixi
    - ItemProperty::Colour
    - checked_add
    - Error::from
    - read_imir
    - ok_or_else
    - ItemProperty::PixelAspectRatio
    - ItemProperty::Unsupported
    - ItemProperty::Rotation
    - read_pasp
    - read_colr
    - check_parser_state
    - ItemProperty::AV1Config
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - ItemProperty::Mirroring
    - read_irot
    - TryHashMap::with_capacity
    - SampleToChunkIterator::next_box
    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:3656,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3657,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3657,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3660,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3661,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3663,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 15
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3667
      start: 3655
    functionDepth: 3
    functionLinenumber: 3655
    functionLinenumberEnd: 3667
    functionName: read_ispe
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - be_u32
    - Err
    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:3681,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3682,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3684,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3688
      start: 3680
    functionDepth: 1
    functionLinenumber: 3680
    functionLinenumberEnd: 3688
    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:3698,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3700,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3700,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3703,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3704,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3704,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3705,1
    - Dst: u8::try_from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3707,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3708,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3711,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3712,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3713
      start: 3697
    functionDepth: 24
    functionLinenumber: 3697
    functionLinenumberEnd: 3713
    functionName: read_pixi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::with_capacity
    - '&mut BMFFBox<T>::read_u8'
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Ok
    - to_usize
    - u8::try_from
    - Err
    - into
    - '&mut BMFFBox<T>::try_read_to_end'
    - check_parser_state
    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:3739,1
    - Dst: field
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3739,1
    - Dst: finish
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3739,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 7
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut fmt::Formatter'
    constantsTouched: []
    func_position:
      end: 3742
      start: 3738
    functionDepth: 1
    functionLinenumber: 3738
    functionLinenumberEnd: 3742
    functionName: IccColourInformation::fmt
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - finish
    - field
    - debug_struct
    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:3755,1
    - Dst: FourCC::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3756,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 3758
      start: 3753
    functionDepth: 1
    functionLinenumber: 3753
    functionLinenumberEnd: 3758
    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:3767,1
    - Dst: to_be_bytes
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3767,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: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3774,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3774,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3775,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3776,1
    - Dst: Mp4parseStatus::read_bool
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3777,1
    - Dst: Mp4parseStatus::remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3778,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3778,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3784,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3786,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3787,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3793,1
    - Dst: ColourInformation::Nclx
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3793,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3800,1
    - Dst: ColourInformation::Icc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3800,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3802,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3804,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3808,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 65
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 3811
      start: 3763
    functionDepth: 5
    functionLinenumber: 3763
    functionLinenumberEnd: 3811
    functionName: read_colr
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - ColourInformation::Nclx
    - fail_with_status_if
    - Mp4parseStatus::read_u8
    - BitReader::new
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Mp4parseStatus::remaining
    - Ok
    - FourCC::from
    - be_u32
    - be_u16
    - to_be_bytes
    - try_into
    - into
    - Mp4parseStatus::read_bool
    - ColourInformation::Icc
    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:3832,1
    - Dst: BitReader::new
      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: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3835,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3843,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3845,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3846
      start: 3831
    functionDepth: 23
    functionLinenumber: 3831
    functionLinenumberEnd: 3846
    functionName: read_irot
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - BitReader::new
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - Result::read_u8
    - check_parser_state
    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:3881,1
    - Dst: BitReader::new
      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: Result::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3884,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3890,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3892,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3893
      start: 3880
    functionDepth: 23
    functionLinenumber: 3880
    functionLinenumberEnd: 3893
    functionName: read_imir
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - BitReader::new
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - Result::read_u8
    - check_parser_state
    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:3905,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3907,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3907,1
    - Dst: TryString::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3910,1
    - Dst: '&mut BMFFBox<T>::try_read_to_end'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3911,1
    - Dst: Mp4parseStatus::iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3914,1
    - Dst: SampleToChunkIterator::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3914,1
    - Dst: Mp4parseStatus::as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3915,1
    - Dst: '&''a [u8]::split_at'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3915,1
    - Dst: Self::try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3916,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3917,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3920,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3923,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 47
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 3927
      start: 3904
    functionDepth: 24
    functionLinenumber: 3904
    functionLinenumberEnd: 3927
    functionName: read_auxc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - try_into
    - TryString::new
    - Mp4parseStatus::iter
    - Ok
    - Error::Unsupported
    - '&''a [u8]::split_at'
    - read_fullbox_version_no_flags
    - Mp4parseStatus::as_slice
    - TryVec::new
    - SampleToChunkIterator::position
    - Err
    - '&mut BMFFBox<T>::try_read_to_end'
    - Self::try_into
    linkageType: ''
    returnType: Result
    signature: 'fn read_auxc<T: Read>(src: &mut BMFFBox<T>) -> Result<AuxiliaryTypeProperty>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_version_no_flags
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3932,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3932,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3934,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3935,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: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3939,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3939,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3942,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3942,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3942,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3944,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3950,1
    - Dst: read_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3951,1
    - Dst: TryHashMap::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3954,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3954,1
    - Dst: ItemId
      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_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3959,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3970,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3971,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3975,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3980,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3982,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3982,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3986,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3986,1
    - Dst: read_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3987,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3990,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:3998,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4001,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4001,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4009,1
    - Dst: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4009,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4009,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: read_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4018,1
    - Dst: as_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4018,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4018,1
    - Dst: checked_add
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4022,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4022,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4024,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4034,1
    - Dst: insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4042,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4042,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4043,1
    - Dst: remaining
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4047,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4048,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4050,1
    CyclomaticComplexity: 47
    EdgeCount: 47
    ICount: 174
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4052
      start: 3931
    functionDepth: 5
    functionLinenumber: 3931
    functionLinenumberEnd: 4052
    functionName: read_iloc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - TryVec::with_capacity
    - Error::Unsupported
    - read_u16
    - insert
    - try_into
    - is_some
    - BitReader::new
    - read_u64
    - checked_add
    - Error::from
    - Err
    - read_u8
    - ok_or_else
    - ItemId
    - into
    - remaining
    - Ok
    - read_fullbox_version_no_flags
    - to_usize
    - TryHashMap::with_capacity
    - push
    - as_bits
    - read_u32
    - Some
    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:4060,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4061,1
    - Dst: read_ftyp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4079,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4084,1
    - Dst: read_moov
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4084,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4089,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4089,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4092,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4094,1
    - Dst: '&MediaContext::is_some'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4095,1
    - Dst: '&MediaContext::ok_or'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4110,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 42
    argCount: 2
    argNames:
    - f
    - strictness
    argTypes:
    - '&mut T'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4111
      start: 4055
    functionDepth: 22
    functionLinenumber: 4055
    functionLinenumberEnd: 4111
    functionName: read_mp4
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 19
    functionsReached:
    - BoxIter::new
    - skip_box_content
    - check_parser_state
    - read_moov
    - '&MediaContext::ok_or'
    - read_ftyp
    - read_meta
    - '&MediaContext::is_some'
    - SampleToChunkIterator::next_box
    - 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:4116,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4119,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4121,1
    - Dst: MediaTimeScale
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4121,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4121,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4122,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 16
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4123
      start: 4115
    functionDepth: 25
    functionLinenumber: 4115
    functionLinenumberEnd: 4123
    functionName: parse_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - MediaTimeScale
    - Ok
    - u64::from
    - 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:4143,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4145,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4146,1
    - Dst: parse_mvhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4149,1
    - Dst: Track::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4152,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4152,1
    - Dst: read_trak
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4153,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4154,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4157,1
    - Dst: read_mvex
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4157,1
    - Dst: read_pssh
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4161,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4163,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4166,1
    - Dst: read_udta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4166,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4171,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4174,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4176,1
    - Dst: HashSet::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4181,1
    - Dst: Mp4parseStatus::insert
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4184,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4186,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4186,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4195,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 84
    argCount: 3
    argNames:
    - f
    - context
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - Option<MediaContext>
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4204
      start: 4130
    functionDepth: 21
    functionLinenumber: 4130
    functionLinenumberEnd: 4204
    functionName: read_moov
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_pssh
    - skip_box_remain
    - read_trak
    - '&MediaContext::unwrap_or_default'
    - len
    - Track::new
    - Error::from
    - Err
    - read_udta
    - read_mvex
    - check_parser_state
    - box_iter
    - skip_box_content
    - parse_mvhd
    - Ok
    - push
    - SampleToChunkIterator::next_box
    - HashSet::new
    - Mp4parseStatus::insert
    - Some
    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:4207,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4208,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4210,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4212,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4214,1
    - Dst: TryVec::<ByteData>::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4216,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4219,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4219,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4220,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4221,1
    - Dst: ok_or_else
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4221,1
    - Dst: Error::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4223,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4226,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4226,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4227,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4231,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4232,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4232,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4237,1
    - Dst: write_be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4238,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4238,1
    - Dst: Mp4parseStatus::extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4239,1
    - Dst: Mp4parseStatus::append
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4240,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4242,1
    CyclomaticComplexity: 16
    EdgeCount: 16
    ICount: 69
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4248
      start: 4206
    functionDepth: 23
    functionLinenumber: 4206
    functionLinenumberEnd: 4248
    functionName: read_pssh
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::extend_from_slice
    - Mp4parseStatus::reserve
    - write_be_u32
    - try_into
    - read_fullbox_extra
    - Cursor::new
    - be_u32
    - read_buf
    - Error::from
    - ok_or_else
    - TryVec::new
    - to_u64
    - into
    - '&mut BMFFBox<T>::bytes_left'
    - Mp4parseStatus::push
    - checked_mul
    - Ok
    - to_usize
    - Mp4parseStatus::append
    - TryVec::<ByteData>::new
    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:4253,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4255,1
    - Dst: read_mehd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4258,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4259,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4261,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4264,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4265
      start: 4252
    functionDepth: 4
    functionLinenumber: 4252
    functionLinenumberEnd: 4265
    functionName: read_mvex
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - read_mehd
    - SampleToChunkIterator::next_box
    - 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:4268,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4270,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4271,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4271,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4272,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4274,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4274,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4275
      start: 4267
    functionDepth: 2
    functionLinenumber: 4267
    functionLinenumberEnd: 4275
    functionName: read_mehd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - MediaScaledTime
    - Ok
    - read_fullbox_extra
    - be_u32
    - u64::from
    - into
    - be_u64
    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:4284,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4285,1
    - Dst: read_tkhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4288,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4289,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4290,1
    - Dst: Result::clone
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4290,1
    - Dst: read_edts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4293,1
    - Dst: read_mdia
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4294,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4295,1
    - Dst: read_tref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4295,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4296,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4298,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4300,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 44
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4301
      start: 4279
    functionDepth: 24
    functionLinenumber: 4279
    functionLinenumberEnd: 4301
    functionName: read_trak
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - check_parser_state
    - read_edts
    - read_mdia
    - Ok
    - read_tkhd
    - read_tref
    - box_iter
    - SampleToChunkIterator::next_box
    - Result::clone
    - 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:4304,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4305,1
    - Dst: read_elst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4308,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4309,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4310,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4317,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4324,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4324,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4329,1
    - Dst: MediaScaledTime
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4329,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4330,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4330,1
    - Dst: std::cmp::max
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4331,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4334,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4339,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4341,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4343,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 91
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    constantsTouched: []
    func_position:
      end: 4344
      start: 4303
    functionDepth: 25
    functionLinenumber: 4303
    functionLinenumberEnd: 4344
    functionName: read_edts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - skip_box_content
    - MediaScaledTime
    - check_parser_state
    - len
    - Ok
    - TrackScaledTime::<u64>
    - std::cmp::max
    - box_iter
    - SampleToChunkIterator::next_box
    - read_elst
    - is_empty
    - Some
    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:4355,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4358,1
    - Dst: TrackScaledTime::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4358,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4361,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4363,1
    - Dst: TrackTimeScale::<u64>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4363,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4363,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4364,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 22
    argCount: 2
    argNames:
    - f
    - track
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    constantsTouched: []
    func_position:
      end: 4365
      start: 4347
    functionDepth: 3
    functionLinenumber: 4347
    functionLinenumberEnd: 4365
    functionName: parse_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_mdhd
    - TrackTimeScale::<u64>
    - Ok
    - TrackScaledTime::<u64>
    - u64::from
    - 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:4372,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4373,1
    - Dst: parse_mdhd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4376,1
    - Dst: read_hdlr
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4382,1
    - Dst: as_ref
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4384,1
    - Dst: read_minf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4394,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4395,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4397,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4399,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 51
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4400
      start: 4367
    functionDepth: 24
    functionLinenumber: 4367
    functionLinenumberEnd: 4400
    functionName: read_mdia
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_minf
    - skip_box_content
    - check_parser_state
    - as_ref
    - parse_mdhd
    - Ok
    - read_hdlr
    - SampleToChunkIterator::next_box
    - box_iter
    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:4404,1
    - Dst: box_iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4405,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4406,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4409,1
    - Dst: TrackReferenceEntry::Auxiliary
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4409,1
    - Dst: read_tref_auxl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4409,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4411,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4413,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4415,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 26
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4416
      start: 4402
    functionDepth: 24
    functionLinenumber: 4402
    functionLinenumberEnd: 4416
    functionName: read_tref
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - check_parser_state
    - TryVec::with_capacity
    - Ok
    - TrackReferenceEntry::Auxiliary
    - push
    - read_tref_auxl
    - SampleToChunkIterator::next_box
    - box_iter
    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:4419,1
    - Dst: std::mem::size_of::<u32>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4419,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4419,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4419,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4420,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4422,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4422,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4425,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 23
    argCount: 1
    argNames:
    - f
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4426
      start: 4418
    functionDepth: 23
    functionLinenumber: 4418
    functionLinenumberEnd: 4426
    functionName: read_tref_auxl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - TryVec::with_capacity
    - bytes_left
    - Ok
    - be_u32
    - to_u64
    - push
    - try_into
    - std::mem::size_of::<u32>
    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:4433,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4434,1
    - Dst: read_stbl
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4436,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4437,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4439,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4441,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 20
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4442
      start: 4428
    functionDepth: 23
    functionLinenumber: 4428
    functionLinenumberEnd: 4442
    functionName: read_minf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - Ok
    - box_iter
    - read_stbl
    - SampleToChunkIterator::next_box
    - check_parser_state
    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:4449,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4450,1
    - Dst: read_stsd
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4453,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4455,1
    - Dst: read_stts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4458,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4460,1
    - Dst: read_stsc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4463,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4465,1
    - Dst: read_stsz
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4468,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4470,1
    - Dst: read_stco
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4473,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4475,1
    - Dst: read_co64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4478,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4480,1
    - Dst: read_stss
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4483,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4485,1
    - Dst: read_ctts
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4488,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4490,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4492,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4494,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4496,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 81
    argCount: 3
    argNames:
    - f
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4497
      start: 4444
    functionDepth: 22
    functionLinenumber: 4444
    functionLinenumberEnd: 4497
    functionName: read_stbl
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - read_co64
    - skip_box_content
    - check_parser_state
    - read_stts
    - read_ctts
    - Ok
    - box_iter
    - read_stsz
    - SampleToChunkIterator::next_box
    - read_stsc
    - read_stco
    - read_stss
    - read_stsd
    - Some
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - super::read_ftyp
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_ftyp()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4524,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4528,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4532,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4534,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4536,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4538,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4540,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4544,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4550,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4553,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4554,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 32
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4558
      start: 4523
    functionDepth: 24
    functionLinenumber: 4523
    functionLinenumberEnd: 4558
    functionName: read_mvhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 5
    functionsReached:
    - Ok
    - read_fullbox_extra
    - be_u32
    - u64::from
    - skip
    - skip_box_remain
    - into
    - be_u64
    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:4562,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4567,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4571,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4573,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4575,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4576,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4578,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4579,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4579,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4583,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4586,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4587,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4588,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4589,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4590,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4591,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4592,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4593,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4594,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4597,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4598,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4599,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 57
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4607
      start: 4561
    functionDepth: 2
    functionLinenumber: 4561
    functionLinenumberEnd: 4607
    functionName: read_tkhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - read_fullbox_extra
    - be_i32
    - be_u32
    - u64::from
    - skip
    - into
    - be_u64
    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:4612,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4613,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4614,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4614,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4619,1
    - Dst: be_i64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4619,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4623,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4623,1
    - Dst: i64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4623,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4623,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4625,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4627,1
    - Dst: be_i16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4628,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4629,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4638,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4640,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 42
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4644
      start: 4611
    functionDepth: 24
    functionLinenumber: 4611
    functionLinenumberEnd: 4644
    functionName: read_elst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 4
    functionsReached:
    - be_i64
    - TryVec::with_capacity
    - read_fullbox_extra
    - i64::from
    - be_i32
    - be_i16
    - to_usize
    - be_u32
    - u64::from
    - push
    - Ok
    - skip_box_remain
    - into
    - be_u64
    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:4648,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4652,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4655,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4655,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4659,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4662,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4667,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4671,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4676,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4680,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4682,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4686
      start: 4647
    functionDepth: 2
    functionLinenumber: 4647
    functionLinenumberEnd: 4686
    functionName: read_mdhd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 4
    functionsReached:
    - Ok
    - read_fullbox_extra
    - be_u32
    - u64::from
    - skip
    - into
    - be_u64
    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:4691,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4692,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4693,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4693,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4695,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4699,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4701,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4702
      start: 4690
    functionDepth: 24
    functionLinenumber: 4690
    functionLinenumberEnd: 4702
    functionName: read_stco
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryVec::with_capacity
    - read_fullbox_extra
    - Ok
    - to_usize
    - be_u32
    - push
    - skip_box_remain
    - into
    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:4707,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4708,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4709,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4709,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4711,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4711,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4715,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4717,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4718
      start: 4706
    functionDepth: 24
    functionLinenumber: 4706
    functionLinenumberEnd: 4718
    functionName: read_co64
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryVec::with_capacity
    - read_fullbox_extra
    - Ok
    - to_usize
    - be_u32
    - push
    - skip_box_remain
    - be_u64
    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:4723,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4724,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4725,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4725,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4727,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4727,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4731,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4733,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 22
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4734
      start: 4722
    functionDepth: 24
    functionLinenumber: 4722
    functionLinenumberEnd: 4734
    functionName: read_stss
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryVec::with_capacity
    - read_fullbox_extra
    - Ok
    - to_usize
    - be_u32
    - push
    - 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:4739,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4740,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4741,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4741,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4743,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4744,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4745,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4746,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4754,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4756,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 27
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4757
      start: 4738
    functionDepth: 24
    functionLinenumber: 4738
    functionLinenumberEnd: 4757
    functionName: read_stsc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryVec::with_capacity
    - read_fullbox_extra
    - Ok
    - to_usize
    - be_u32
    - push
    - 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:4765,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4767,1
    - Dst: checked_mul
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4769,1
    - Dst: is_none_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4769,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4771,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4771,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4773,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4776,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4776,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4783,1
    - Dst: TimeOffsetVersion::Version1
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: be_i32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4784,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4788,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4791,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4798,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4801,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4804,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 51
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 4805
      start: 4761
    functionDepth: 23
    functionLinenumber: 4761
    functionLinenumberEnd: 4805
    functionName: read_ctts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - is_none_or
    - checked_mul
    - read_fullbox_extra
    - TryVec::with_capacity
    - be_i32
    - Ok
    - to_usize
    - be_u32
    - u64::from
    - push
    - TimeOffsetVersion::Version1
    - skip_box_remain
    - into
    - '&mut BMFFBox<T>::bytes_left'
    - check_parser_state
    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:4810,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4811,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4812,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4813,1
    - Dst: Mp4parseStatus::reserve
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4815,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4815,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4817,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4817,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4822,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4824,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 30
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4828
      start: 4809
    functionDepth: 24
    functionLinenumber: 4809
    functionLinenumberEnd: 4828
    functionName: read_stsz
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mp4parseStatus::push
    - Ok
    - read_fullbox_extra
    - Mp4parseStatus::reserve
    - TryVec::new
    - to_usize
    - be_u32
    - 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:4833,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4834,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4835,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4835,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4837,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4838,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4839,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4846,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4848,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 25
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4849
      start: 4832
    functionDepth: 24
    functionLinenumber: 4832
    functionLinenumberEnd: 4849
    functionName: read_stts
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - TryVec::with_capacity
    - read_fullbox_extra
    - Ok
    - to_usize
    - be_u32
    - push
    - 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:4853,1
    - Dst: contains
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4855,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4856,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4856,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4859,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4860,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4870,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:4888,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4891,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4892,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4893,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4900,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4905,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4906,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4906,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4909,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 75
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4920
      start: 4852
    functionDepth: 2
    functionLinenumber: 4852
    functionLinenumberEnd: 4920
    functionName: read_vpcc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - contains
    - '&mut BMFFBox<T>::read_u8'
    - read_fullbox_extra
    - Error::Unsupported
    - Ok
    - be_u16
    - read_buf
    - Err
    - 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:4926,1
    - Dst: as_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4927,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4928,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4930,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4930,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4933,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4933,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4935,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4938,1
    - Dst: read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4949,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4957,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 58
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4970
      start: 4923
    functionDepth: 20
    functionLinenumber: 4923
    functionLinenumberEnd: 4970
    functionName: read_av1c
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - as_slice
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - Error::Unsupported
    - Err
    - read_u8
    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:4973,1
    - Dst: be_u24
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4975,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4975,1
    - Dst: '&mut BMFFBox<T>::bytes_left'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4976,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4977,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4979,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4980,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 4981
      start: 4972
    functionDepth: 23
    functionLinenumber: 4972
    functionLinenumberEnd: 4981
    functionName: read_flac_metadata
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 0
    functionsReached:
    - '&mut BMFFBox<T>::read_u8'
    - Ok
    - be_u24
    - read_buf
    - into
    - '&mut BMFFBox<T>::bytes_left'
    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:4997,1
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4998,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:4999,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5006,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5006,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5006,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5009,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5012,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5013,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5015,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5020,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5020,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5020,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5020,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5021,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5024,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5024,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5024,1
    - Dst: read_es_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5028,1
    - Dst: read_dc_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5031,1
    - Dst: read_ds_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5033,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5041,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5049,1
    - Dst: '&[u8]::len'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5049,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5053,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 104
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5054
      start: 4984
    functionDepth: 22
    functionLinenumber: 4984
    functionLinenumberEnd: 5054
    functionName: find_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - Mp4parseStatus::read_u8
    - '&[u8]::len'
    - Ok
    - Cursor::new
    - Mp4parseStatus::position
    - read_ds_descriptor
    - to_usize
    - u64::from
    - to_u64
    - Err
    - read_es_descriptor
    - try_into
    - into
    - u32::from
    - read_dc_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:5057,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5061,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5064,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 1
    argNames:
    - bit_reader
    argTypes:
    - '&mut BitReader'
    constantsTouched: []
    func_position:
      end: 5065
      start: 5056
    functionDepth: 2
    functionLinenumber: 5056
    functionLinenumberEnd: 5065
    functionName: get_audio_object_type
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - ReadInto::read
    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:5076,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5077,1
    - Dst: BitReader::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5097,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5099,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5101,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5106,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5106,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5107,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5107,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5107,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5113,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5116,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5124,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5126,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5126,1
    - Dst: iter
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5127,1
    - Dst: find
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5127,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5127,1
    - Dst: get_audio_object_type
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5132,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5134,1
    - Dst: is_none
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5145,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5146,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5146,1
    - Dst: unwrap
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5160,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5175,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5176,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5178,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5180,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5186,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5187,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5188,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5189,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5190,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5191,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5192,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5193,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5194,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5196,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5198,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5201,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5203,1
    - Dst: ReadInto::read
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5206,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5208,1
    - Dst: Mp4parseStatus::skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5209,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5212,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5213,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5214,1
    - Dst: read_surround_channel_count
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5215,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5223,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5223,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5227,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5229,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5230,1
    - Dst: is_empty
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5232,1
    - Dst: fail_with_status_if
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5233,1
    - Dst: extend_from_slice
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5238,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5240,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5242,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5242,1
    CyclomaticComplexity: 51
    EdgeCount: 51
    ICount: 219
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5244
      start: 5068
    functionDepth: 21
    functionLinenumber: 5068
    functionLinenumberEnd: 5244
    functionName: read_ds_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - iter
    - find
    - fail_with_status_if
    - BitReader::new
    - Mp4parseStatus::skip
    - Ok
    - Error::Unsupported
    - get_audio_object_type
    - extend_from_slice
    - map
    - is_empty
    - Err
    - is_none
    - read_surround_channel_count
    - ReadInto::read
    - unwrap
    - Some
    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:5249,1
    - Dst: '&mut BitReader::skip'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5251,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5253,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 2
    argNames:
    - bit_reader
    - channels
    argTypes:
    - '&mut BitReader'
    - u8
    constantsTouched: []
    func_position:
      end: 5254
      start: 5246
    functionDepth: 2
    functionLinenumber: 5246
    functionLinenumberEnd: 5254
    functionName: read_surround_channel_count
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BitReader::skip'
    - Ok
    - ReadInto::read
    linkageType: ''
    returnType: Result
    signature: 'fn read_surround_channel_count(bit_reader: &mut BitReader, channels:
      u8) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: Cursor::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5262,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5263,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5274,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5276,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5276,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5276,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5277,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5278,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5278,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5278,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5286,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5301,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 47
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5302
      start: 5257
    functionDepth: 23
    functionLinenumber: 5257
    functionLinenumberEnd: 5302
    functionName: read_dc_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::read_u8
    - find_descriptor
    - Self::len
    - Ok
    - Cursor::new
    - Mp4parseStatus::position
    - to_u64
    - skip
    - try_into
    - Some
    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:5310,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5312,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5314,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5319,1
    - Dst: u64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5325,1
    - Dst: Mp4parseStatus::read_u8
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5325,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5326,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5329,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5329,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5329,1
    - Dst: find_descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5330,1
    - Dst: Mp4parseStatus::position
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5331,1
    - Dst: try_into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5331,1
    - Dst: Self::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5331,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5337,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 51
    argCount: 3
    argNames:
    - data
    - esds
    - strictness
    argTypes:
    - '&[u8]'
    - '&mut ES_Descriptor'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5338
      start: 5305
    functionDepth: 23
    functionLinenumber: 5305
    functionLinenumberEnd: 5338
    functionName: read_es_descriptor
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Mp4parseStatus::read_u8
    - find_descriptor
    - Self::len
    - Ok
    - Cursor::new
    - Mp4parseStatus::position
    - u64::from
    - to_u64
    - skip
    - try_into
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - make_dfla
    - flac_streaminfo
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - 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::BoxIter::new
    - make_dops
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_dops
    - unwrap
    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:
    - super::serialize_opus_header
    - Vec::<u8>::new
    - into
    - unwrap
    - 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
    - append_bytes
    - B32
    - make_fullbox
    - B16
    - super::read_audio_sample_entry
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - B8
    - super::read_hdlr
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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:5537,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5554,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5556,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5559,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5561,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5562,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5565,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5570,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5571,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5572,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5578,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5580,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5582,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5582,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5587,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5590,1
    - Dst: VideoCodecSpecific::AVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5590,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5593,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5594,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5596,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5596,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5601,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5604,1
    - Dst: VideoCodecSpecific::H263Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5604,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5611,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5613,1
    - Dst: read_vpcc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5615,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5616,1
    - Dst: VideoCodecSpecific::VPxConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5616,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5620,1
    - Dst: read_av1c
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5622,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5623,1
    - Dst: VideoCodecSpecific::AV1Config
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5623,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5626,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5627,1
    - Dst: read_fullbox_extra
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5631,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5634,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5634,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5639,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5640,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5640,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5646,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5648,1
    - Dst: VideoCodecSpecific::ESDSConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5648,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5653,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5655,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5657,1
    - Dst: None::is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5663,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5665,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5667,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5667,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5672,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5674,1
    - Dst: VideoCodecSpecific::HEVCConfig
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5674,1
    - Dst: read_pasp
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5677,1
    - Dst: is_valid_aspect_ratio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5681,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5682,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5688,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5691,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5694,1
    - Dst: None::map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5695,1
    - Dst: SampleEntry::Video
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5696,1
    CyclomaticComplexity: 43
    EdgeCount: 43
    ICount: 249
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5707
      start: 5536
    functionDepth: 20
    functionLinenumber: 5536
    functionLinenumberEnd: 5707
    functionName: read_video_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - VideoCodecSpecific::ESDSConfig
    - read_av1c
    - read_sinf
    - VideoCodecSpecific::VPxConfig
    - VideoCodecSpecific::H263Config
    - checked_sub
    - read_esds
    - VideoCodecSpecific::HEVCConfig
    - read_fullbox_extra
    - be_u16
    - None::is_some
    - skip
    - read_buf
    - VideoCodecSpecific::AV1Config
    - is_valid_aspect_ratio
    - TryVec::new
    - read_vpcc
    - into
    - None::map_or
    - '&mut BMFFBox<T>::get_header'
    - read_pasp
    - check_parser_state
    - SampleEntry::Video
    - skip_box_content
    - expect
    - Mp4parseStatus::push
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - VideoCodecSpecific::AVCConfig
    - SampleToChunkIterator::next_box
    - Some
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - Result::expect
    - make_fullbox
    - B16
    - B8
    - super::read_audio_sample_entry
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:5734,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5737,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5739,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5745,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5748,1
    - Dst: u32::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5750,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5750,1
    - Dst: be_u16
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5751,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5754,1
    - Dst: f64::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5756,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5756,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5763,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5767,1
    - Dst: f64::from_bits
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5768,1
    - Dst: be_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5768,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5769,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5770,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5773,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5773,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5780,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5781,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5787,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5787,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5787,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5792,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5792,1
    - Dst: Default::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5792,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5796,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5797,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5798,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5803,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5805,1
    - Dst: read_esds
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5807,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5809,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5809,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5813,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5815,1
    - Dst: read_dfla
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5817,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5819,1
    - Dst: AudioCodecSpecific::FLACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5819,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5823,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5825,1
    - Dst: read_dops
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5827,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5829,1
    - Dst: AudioCodecSpecific::OpusSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5829,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5832,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5833,1
    - Dst: read_alac
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5835,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5837,1
    - Dst: AudioCodecSpecific::ALACSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5837,1
    - Dst: read_qt_wave_atom
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5840,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5842,1
    - Dst: AudioCodecSpecific::ES_Descriptor
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5842,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5846,1
    - Dst: read_sinf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5848,1
    - Dst: Mp4parseStatus::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5851,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5856,1
    - Dst: checked_sub
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5858,1
    - Dst: expect
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5858,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5863,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5865,1
    - Dst: AudioCodecSpecific::AMRSpecificBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5865,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5869,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5872,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5875,1
    - Dst: map_or
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5876,1
    - Dst: SampleEntry::Audio
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5877,1
    CyclomaticComplexity: 41
    EdgeCount: 41
    ICount: 226
    argCount: 2
    argNames:
    - src
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5888
      start: 5730
    functionDepth: 20
    functionLinenumber: 5730
    functionLinenumberEnd: 5888
    functionName: read_audio_sample_entry
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 9
    functionsReached:
    - AudioCodecSpecific::FLACSpecificBox
    - read_sinf
    - Error::Unsupported
    - f64::from_bits
    - is_some
    - AudioCodecSpecific::OpusSpecificBox
    - AudioCodecSpecific::ALACSpecificBox
    - read_esds
    - checked_sub
    - map_or
    - be_u16
    - be_u32
    - skip
    - read_buf
    - Err
    - TryVec::new
    - read_qt_wave_atom
    - into
    - u32::from
    - '&mut BMFFBox<T>::get_header'
    - AudioCodecSpecific::ES_Descriptor
    - be_u64
    - check_parser_state
    - skip_box_content
    - f64::from
    - read_dops
    - Mp4parseStatus::push
    - Default::default
    - expect
    - SampleEntry::Audio
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - read_alac
    - AudioCodecSpecific::AMRSpecificBox
    - SampleToChunkIterator::next_box
    - read_dfla
    - Some
    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:5898,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5904,1
    - Dst: to_usize
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5904,1
    - Dst: TryVec::with_capacity
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5905,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5907,1
    - Dst: len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5908,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5909,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5911,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5912,1
    - Dst: read_video_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5913,1
    - Dst: read_audio_sample_entry
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5914,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5915,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5915,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5916,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5916,1
    - Dst: bytes_left
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5924,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5925,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5928,1
    - Dst: push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5930,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5931,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5938,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5940,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 59
    argCount: 3
    argNames:
    - src
    - track
    - strictness
    argTypes:
    - '&mut BMFFBox<T>'
    - '&Track'
    - ParseStrictness
    constantsTouched: []
    func_position:
      end: 5941
      start: 5893
    functionDepth: 21
    functionLinenumber: 5893
    functionLinenumberEnd: 5941
    functionName: read_stsd
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_video_sample_entry
    - check_parser_state
    - len
    - TryVec::with_capacity
    - read_fullbox_extra
    - '&mut BMFFBox<T>::box_iter'
    - Error::Unsupported
    - bytes_left
    - to_usize
    - be_u32
    - Ok
    - push
    - skip
    - skip_box_remain
    - SampleToChunkIterator::next_box
    - Err
    - read_audio_sample_entry
    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:5944,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5946,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5947,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5950,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5950,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5953,1
    - Dst: read_schm
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5953,1
    - Dst: read_schi
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5957,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5959,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5961,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5964,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 37
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5965
      start: 5943
    functionDepth: 23
    functionLinenumber: 5943
    functionLinenumberEnd: 5965
    functionName: read_sinf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - skip_box_content
    - check_parser_state
    - read_schi
    - '&mut BMFFBox<T>::box_iter'
    - FourCC::from
    - Ok
    - be_u32
    - ProtectionSchemeInfoBox::default
    - read_schm
    - SampleToChunkIterator::next_box
    - 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:5969,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5970,1
    - Dst: is_some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5973,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5974,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5976,1
    - Dst: read_tenc
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5976,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5978,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5982,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 29
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 5983
      start: 5967
    functionDepth: 4
    functionLinenumber: 5967
    functionLinenumberEnd: 5983
    functionName: read_schi
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - read_tenc
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - SampleToChunkIterator::next_box
    - is_some
    - into
    - Some
    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:5986,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5989,1
    - Dst: skip
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5993,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:5997,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6000,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6000,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6003,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6004,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6005,1
    - Dst: '&mut BMFFBox<T>::read_u8'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6009,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6010,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6010,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6010,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6015,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 38
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6023
      start: 5985
    functionDepth: 2
    functionLinenumber: 5985
    functionLinenumberEnd: 6023
    functionName: read_tenc
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_u8'
    - read_fullbox_extra
    - Ok
    - skip
    - read_buf
    - 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:6028,1
    - Dst: FourCC::from
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6029,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6029,1
    - Dst: be_u32
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6030,1
    - Dst: skip_box_remain
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6032,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6033,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6037
      start: 6025
    functionDepth: 24
    functionLinenumber: 6025
    functionLinenumberEnd: 6037
    functionName: read_schm
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - FourCC::from
    - read_fullbox_extra
    - be_u32
    - 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:6042,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6045,1
    - Dst: read_meta
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6048,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6049,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6051,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6053,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6055,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6056
      start: 6041
    functionDepth: 28
    functionLinenumber: 6041
    functionLinenumberEnd: 6056
    functionName: read_udta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - skip_box_content
    - check_parser_state
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - read_meta
    - SampleToChunkIterator::next_box
    - 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:6061,1
    - Dst: '&mut BMFFBox<T>::box_iter'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6062,1
    - Dst: MetadataBox::default
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6063,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6064,1
    - Dst: read_ilst
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6066,1
    - Dst: read_xml_
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6068,1
    - Dst: read_bxml
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6070,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6071,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6073,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6075,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6076
      start: 6060
    functionDepth: 27
    functionLinenumber: 6060
    functionLinenumberEnd: 6076
    functionName: read_meta
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - read_xml_
    - skip_box_content
    - read_bxml
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - read_fullbox_extra
    - read_ilst
    - SampleToChunkIterator::next_box
    - MetadataBox::default
    - check_parser_state
    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:6082,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6083,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6083,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6085,1
    - Dst: XmlBox::StringXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6085,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6085,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6086,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6087
      start: 6081
    functionDepth: 3
    functionLinenumber: 6081
    functionLinenumberEnd: 6087
    functionName: read_xml_
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - XmlBox::StringXmlBox
    - Err
    - 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:6093,1
    - Dst: Err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6094,1
    - Dst: Error::Unsupported
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6094,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6096,1
    - Dst: XmlBox::BinaryXmlBox
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6096,1
    - Dst: '&mut BMFFBox<T>::read_into_try_vec'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6096,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6097,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 19
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6098
      start: 6092
    functionDepth: 3
    functionLinenumber: 6092
    functionLinenumberEnd: 6098
    functionName: read_bxml
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - XmlBox::BinaryXmlBox
    - '&mut BMFFBox<T>::read_into_try_vec'
    - Ok
    - Error::Unsupported
    - read_fullbox_version_no_flags
    - Err
    - 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:6102,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6103,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:6107,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:6114,1
    - Dst: map
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6114,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6117,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6117,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: Genre::StandardGenre
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6118,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6120,1
    - Dst: read_ilst_string_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:6125,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:6127,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6128,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6129,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6130,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6131,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6132,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6133,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6134,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6135,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6136,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6137,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6138,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6139,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6140,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6141,1
    - Dst: read_ilst_string_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6143,1
    - Dst: read_ilst_string_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: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6148,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6148,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6149,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6149,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6153,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6154,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6154,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6155,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6155,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6160,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6160,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6160,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6160,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6162,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6164,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6164,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6165,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6165,1
    - Dst: AdvisoryRating::Explicit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6168,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6173,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6173,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6174,1
    - Dst: first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6174,1
    - Dst: MediaType::Unknown
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6183,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6187,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6189,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6189,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6189,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6189,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6193,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6193,1
    - Dst: get
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6193,1
    - Dst: copied
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6193,1
    - Dst: read_ilst_bool_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6195,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6196,1
    - Dst: Result::ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6196,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6197,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6199,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6201,1
    CyclomaticComplexity: 53
    EdgeCount: 53
    ICount: 314
    argCount: 2
    argNames:
    - src
    - meta
    argTypes:
    - '&mut BMFFBox<T>'
    - '&mut MetadataBox'
    constantsTouched: []
    func_position:
      end: 6202
      start: 6101
    functionDepth: 26
    functionLinenumber: 6101
    functionLinenumberEnd: 6202
    functionName: read_ilst
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - copied
    - and_then
    - read_ilst_string_data
    - first
    - Genre::StandardGenre
    - AdvisoryRating::Explicit
    - read_ilst_bool_data
    - MediaType::Unknown
    - read_ilst_multiple_u8_data
    - Result::ok
    - check_parser_state
    - skip_box_content
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - get
    - read_ilst_u8_data
    - map
    - SampleToChunkIterator::next_box
    - Some
    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:6205,1
    - Dst: read_ilst_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6205,1
    - Dst: and_then
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6205,1
    - Dst: Some
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6205,1
    - Dst: isize::first
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6205,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6206
      start: 6204
    functionDepth: 25
    functionLinenumber: 6204
    functionLinenumberEnd: 6206
    functionName: read_ilst_bool_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - Ok
    - isize::first
    - read_ilst_u8_data
    - and_then
    - 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:6209,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 1
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6210
      start: 6208
    functionDepth: 25
    functionLinenumber: 6208
    functionLinenumberEnd: 6210
    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:6214,1
    - Dst: read_ilst_multiple_u8_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6214,1
    - Dst: pop
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6214,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6215
      start: 6212
    functionDepth: 24
    functionLinenumber: 6212
    functionLinenumberEnd: 6215
    functionName: read_ilst_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - Ok
    - read_ilst_multiple_u8_data
    - pop
    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:6218,1
    - Dst: TryVec::new
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6219,1
    - Dst: SampleToChunkIterator::next_box
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6220,1
    - Dst: Self::push
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6223,1
    - Dst: read_ilst_data
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6223,1
    - Dst: skip_box_content
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6225,1
    - Dst: check_parser_state
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6227,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6229,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 24
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6230
      start: 6217
    functionDepth: 23
    functionLinenumber: 6217
    functionLinenumberEnd: 6230
    functionName: read_ilst_multiple_u8_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 2
    functionsReached:
    - skip_box_content
    - read_ilst_data
    - Ok
    - '&mut BMFFBox<T>::box_iter'
    - TryVec::new
    - Self::push
    - SampleToChunkIterator::next_box
    - check_parser_state
    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:6234,1
    - Dst: limit
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6235,1
    - Dst: read_buf
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6236,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 13
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut BMFFBox<T>'
    constantsTouched: []
    func_position:
      end: 6237
      start: 6232
    functionDepth: 22
    functionLinenumber: 6232
    functionLinenumberEnd: 6237
    functionName: read_ilst_data
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - limit
    - skip
    - read_buf
    linkageType: ''
    returnType: Result
    signature: 'fn read_ilst_data<T: Read>(src: &mut BMFFBox<T>) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: std::io::copy
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: '&mut T::take'
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: std::io::sink
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6241,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6242,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 10
    argCount: 2
    argNames:
    - src
    - bytes
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6243
      start: 6240
    functionDepth: 0
    functionLinenumber: 6240
    functionLinenumberEnd: 6243
    functionName: skip
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 15
    functionsReached:
    - Ok
    - std::io::sink
    - '&mut T::take'
    - std::io::copy
    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:6247,1
    - Dst: read_into_try_vec
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6247,1
    - Dst: Result::len
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6248,1
    - Dst: to_u64
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6248,1
    - Dst: into
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6249,1
    - Dst: Ok
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6252,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 17
    argCount: 2
    argNames:
    - src
    - size
    argTypes:
    - '&mut T'
    - u64
    constantsTouched: []
    func_position:
      end: 6253
      start: 6246
    functionDepth: 1
    functionLinenumber: 6246
    functionLinenumberEnd: 6253
    functionName: read_buf
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 7
    functionsReached:
    - Result::len
    - Ok
    - read_into_try_vec
    - to_u64
    - '&mut T::take'
    - into
    linkageType: ''
    returnType: Result
    signature: 'fn read_buf<T: Read>(src: &mut T, size: u64) -> Result<TryVec<u8>>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_i16::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6256,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6256,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6257
      start: 6255
    functionDepth: 0
    functionLinenumber: 6255
    functionLinenumberEnd: 6257
    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:6260,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6260,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6261
      start: 6259
    functionDepth: 0
    functionLinenumber: 6259
    functionLinenumberEnd: 6261
    functionName: be_i32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 3
    functionsReached:
    - map_err
    - read_i32::<byteorder::BigEndian>
    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:6264,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6264,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6265
      start: 6263
    functionDepth: 0
    functionLinenumber: 6263
    functionLinenumberEnd: 6265
    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:6268,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6268,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6269
      start: 6267
    functionDepth: 0
    functionLinenumber: 6267
    functionLinenumberEnd: 6269
    functionName: be_u16
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 9
    functionsReached:
    - map_err
    - read_u16::<byteorder::BigEndian>
    linkageType: ''
    returnType: Result
    signature: 'fn be_u16<T: ReadBytesExt>(src: &mut T) -> Result<u16>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: read_u24::<byteorder::BigEndian>
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6272,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6272,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6273
      start: 6271
    functionDepth: 0
    functionLinenumber: 6271
    functionLinenumberEnd: 6273
    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:6276,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6276,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6277
      start: 6275
    functionDepth: 0
    functionLinenumber: 6275
    functionLinenumberEnd: 6277
    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:6280,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6280,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 1
    argNames:
    - src
    argTypes:
    - '&mut T'
    constantsTouched: []
    func_position:
      end: 6281
      start: 6279
    functionDepth: 0
    functionLinenumber: 6279
    functionLinenumberEnd: 6281
    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:6284,1
    - Dst: map_err
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6284,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 2
    argNames:
    - des
    - num
    argTypes:
    - '&mut T'
    - u32
    constantsTouched: []
    func_position:
      end: 6286
      start: 6283
    functionDepth: 0
    functionLinenumber: 6283
    functionLinenumberEnd: 6286
    functionName: write_be_u32
    functionSourceFile: /src/mp4parse-rust/mp4parse/src/lib.rs
    functionUses: 1
    functionsReached:
    - write_u32::<byteorder::BigEndian>
    - map_err
    linkageType: ''
    returnType: Result
    signature: 'fn write_be_u32<T: WriteBytesExt>(des: &mut T, num: u32) -> Result<()>'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: DataBox::at_offset
      Src: /src/mp4parse-rust/mp4parse/src/lib.rs:6303,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6307
      start: 6302
    functionDepth: 0
    functionLinenumber: 6302
    functionLinenumberEnd: 6307
    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:6311,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6315
      start: 6310
    functionDepth: 0
    functionLinenumber: 6310
    functionLinenumberEnd: 6315
    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:6319,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6323
      start: 6318
    functionDepth: 0
    functionLinenumber: 6318
    functionLinenumberEnd: 6323
    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:6327,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6334
      start: 6326
    functionDepth: 0
    functionLinenumber: 6326
    functionLinenumberEnd: 6334
    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:6338,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6342
      start: 6337
    functionDepth: 0
    functionLinenumber: 6337
    functionLinenumberEnd: 6342
    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:6346,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6353
      start: 6345
    functionDepth: 0
    functionLinenumber: 6345
    functionLinenumberEnd: 6353
    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:6357,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6361
      start: 6356
    functionDepth: 0
    functionLinenumber: 6356
    functionLinenumberEnd: 6361
    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:6365,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6372
      start: 6364
    functionDepth: 0
    functionLinenumber: 6364
    functionLinenumberEnd: 6372
    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:6376,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6383
      start: 6375
    functionDepth: 0
    functionLinenumber: 6375
    functionLinenumberEnd: 6383
    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:6387,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6391
      start: 6386
    functionDepth: 0
    functionLinenumber: 6386
    functionLinenumberEnd: 6391
    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:6395,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6402
      start: 6394
    functionDepth: 0
    functionLinenumber: 6394
    functionLinenumberEnd: 6402
    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:6408,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    constantsTouched: []
    func_position:
      end: 6412
      start: 6407
    functionDepth: 0
    functionLinenumber: 6407
    functionLinenumberEnd: 6412
    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:
    - Self::fmt
    - From::from
    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:
    - write_str
    - std::str::from_utf8
    - unwrap_or
    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:
    - Mp4parseStatus::B64
    - Mp4parseStatus::B32
    - Label::new
    - Mp4parseStatus::set_const
    - Cursor::new
    - Mp4parseStatus::get_contents
    - Mp4parseStatus::append_bytes
    - func
    - Section::new
    - unwrap
    - Mp4parseStatus::size
    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:
    - B8
    - make_box
    - func
    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:
    - func
    - make_box
    - B8
    linkageType: ''
    returnType: Cursor
    signature: 'fn make_fullbox<F>(size: BoxSize, name: &[u8; 4], version: u8, func:
      F) -> Cursor<Vec<u8>>whereF: Fn(Section) -> Section,'
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs: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:
    - Result::unwrap
    - super::read_box_header
    - make_box
    - BoxSize::Short
    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:
    - Result::unwrap
    - super::read_box_header
    - make_box
    - BoxSize::Long
    linkageType: ''
    returnType: void
    signature: fn read_box_header_long()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs: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:
    - super::read_box_header
    - make_box
    - BoxSize::Short
    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:
    - super::read_box_header
    - BoxSize::UncheckedShort
    - make_box
    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:
    - BoxSize::UncheckedLong
    - super::read_box_header
    - make_box
    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
    - BoxSize::Short
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - make_uuid_box
    - unwrap
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_uuid_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs: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:
    - super::BoxIter::new
    - BoxSize::UncheckedShort
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - 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
    - super::BoxIter::new
    - Cursor::new
    linkageType: ''
    returnType: void
    signature: fn read_box_header_uuid_past_eof()
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs: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:
    - append_bytes
    - B32
    - BoxSize::UncheckedShort
    - super::read_mp4
    - make_box
    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
    - append_bytes
    - B32
    - super::read_ftyp
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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::BoxIter::new
    - B32
    - BoxSize::Short
    - make_fullbox
    - super::read_elst
    - B16
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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::BoxIter::new
    - B32
    - BoxSize::Short
    - make_fullbox
    - super::read_elst
    - B16
    - B64
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - BoxSize::Short
    - make_fullbox
    - super::read_mdhd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - BoxSize::Short
    - make_fullbox
    - super::read_mdhd
    - B64
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - BoxSize::Short
    - make_fullbox
    - super::read_mdhd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - BoxSize::Short
    - super::Track::new
    - super::parse_mdhd
    - make_fullbox
    - B64
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - BoxSize::Short
    - make_fullbox
    - super::read_mvhd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - BoxSize::Short
    - make_fullbox
    - super::read_mvhd
    - B64
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - BoxSize::Short
    - super::parse_mvhd
    - make_fullbox
    - B64
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - BoxSize::Short
    - make_fullbox
    - super::read_mvhd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - BoxSize::Short
    - make_fullbox
    - B16
    - super::read_mvhd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - make_fullbox
    - B16
    - B8
    - super::read_vpcc
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - make_fullbox
    - B16
    - B8
    - super::read_vpcc
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - B8
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - B8
    - super::read_hdlr
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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
    - append_bytes
    - B32
    - BoxSize::Short
    - make_fullbox
    - super::read_hdlr
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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:
    - super::BoxIter::new
    - append_bytes
    - B32
    - make_dfla
    - flac_streaminfo
    - B16
    - super::read_audio_sample_entry
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:
    - append_bytes
    - B32
    - Self::len
    - make_fullbox
    - u32::from
    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:
    - super::BoxIter::new
    - make_dfla
    - flac_streaminfo
    - FlacBlockLength::Incorrect
    - super::read_dfla
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - Vec::len
    - 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
    - append_bytes
    - B32
    - B16
    - make_dops
    - super::read_audio_sample_entry
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:
    - B8
    - make_box
    - B32
    - B16
    linkageType: ''
    returnType: Cursor
    signature: fn make_dops() -> Cursor<Vec<u8>>
  - BBCount: 0
    BranchProfiles: []
    Callsites:
    - Dst: make_box
      Src: /src/mp4parse-rust/mp4parse/src/tests.rs: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
    - append_bytes
    - B32
    - B16
    - super::read_audio_sample_entry
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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::BoxIter::new
    - B32
    - make_fullbox
    - super::read_elst
    - B16
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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:
    - B64
    - B32
    - make_fullbox
    - B16
    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
    - append_bytes
    - super::Track::new
    - make_elst
    - super::read_edts
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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::expect
    - super::read_stss
    - make_fullbox
    - super::read_stsc
    - super::read_stco
    - super::read_stts
    - super::read_stsz
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - Result::expect
    - super::Track::new
    - make_fullbox
    - B16
    - Cursor::into_inner
    - make_box
    - super::read_stsd
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - super::read_video_sample_entry
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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
    - B16
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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
    - B32
    - Result::expect
    - B16
    - super::read_audio_sample_entry
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - 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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - super::read_video_sample_entry
    - B16
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - B16
    - super::read_audio_sample_entry
    - Cursor::into_inner
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    - append_repeated
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - B32
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - super::read_esds
    - unwrap
    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:
    - super::BoxIter::new
    - as_slice
    - append_bytes
    - super::read_audio_sample_entry
    - make_box
    - SampleToChunkIterator::next_box
    - Result::unwrap
    - unwrap
    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'
    - read_into_try_vec
    - unwrap
    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:
    - try_into
    - '&str::take'
    - 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:
    - File::open
    - expect
    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
  - repeated_get_indice_table_returns_stable_pointer
  - parse_sample_table_with_elst
  - parse_sample_table_with_negative_ctts
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_sample_table.rs
- function_names:
  - buf_read
  - parse_cenc
  - repeated_get_pssh_info_returns_stable_pointer
  - parse_cbcs
  - parse_unencrypted
  - parse_encrypted_av1
  source_file: /src/mp4parse-rust/mp4parse_capi/tests/test_encryption.rs
- function_names:
  - buf_read
  - 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
  - repeated_get_track_audio_info_returns_stable_pointer
  - multi_opus_description_codec_specific_pointers_are_valid
  - repeated_get_track_video_info_returns_stable_pointer
  - parse_no_timescale
  source_file: /src/mp4parse-rust/mp4parse_capi/src/lib.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/mp4.rs
- function_names:
  - vec_read
  - fuzz_target
  source_file: /src/mp4parse-rust/mp4parse_capi/fuzz/fuzz_targets/avif.rs
- function_names:
  - buf_read
  - dump_avif
  - dump_file
  - main
  source_file: /src/mp4parse-rust/mp4parse_capi/examples/dump.rs
- function_names:
  - overflow_protection
  source_file: /src/mp4parse-rust/mp4parse/tests/overflow.rs
- function_names:
  - public_api
  - public_metadata
  - public_metadata_gnre
  - public_invalid_metadata
  - public_audio_tenc
  - public_video_cenc
  - public_audio_cbcs
  - public_video_cbcs
  - public_video_av1
  - public_mp4_bug_1185230
  - public_mp4_ctts_overflow
  - 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
